Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
DmitriitheFals
12 минут назад
Лига Сисадминов

Вспоминаем Powershell в нескольких частях. Часть 1. База из баз⁠⁠

Для ЛЛ: серия пометок по костылям

Конечная цель серии постов: написать свой очень маленький и очень кривой WSUS, поскольку развития WSUS больше не предвидится, но я про это писал:
Чего лишаемся в 2025 году внутри Microsoft

Часть 1. База из баз. Теория
Часть 1.1 Зачем ставить обновления на Linux и Windows и куда угодно, если в отделе работают проверенные электроником сотрудники, и все работает?
Часть 1.2 Чем плох WSUS, SCOM, прочее ПО, и факты в Ansible?
Часть 1.3 Почему Powershell, а не Python?
Часть 1.4 Прочие базовые вещи
Часть 1.5 Классы и объекты, для тех, кто пропускал школу
Часть 1.6 К теме обновлений в Windows
Часть 1.7 Как это все хранить и обрабатывать?
Часть 1.8 Давайте начинать. Мой первый класс
Часть 1.9 Немного магии, не очевидной с первого раза
Часть 1.10 Мой первый массив
Часть 1.11 Суй массив в файл. И забирай из файла
Часть 1.12 Теперь все вместе

Часть 1. База из баз. Теория
Часть 1.1 Зачем ставить обновления на Linux и Windows и куда угодно, если в отделе работают проверенные электроником сотрудники, и все работает?

Когда-то, на заре времен, выхода «второго сервис пака» просто ждали.
Windows XP вышел 25 октября 2001 и был сырым, совсем сырым.
Windows XP SP 2 вышел 6 августа 2004 года, и сделал XP популярным и рабочим на следующие лет 10. Это не считая Embedded версий, которые работали и работают и работают.
Поэтому 20 лет назад установка обновлений шла не от того, что «все работает», а от ожидания «сейчас вот это исправят, потом вон то».
Поэтому исторически тем, кто с системами давно плотно работает, вопрос «зачем» не понятен, очевидно же.

Классика последние 200 лет – не пейте из козьего копытца, не пейте из бутылочки с надписью яд -

for she had read several nice little stories about children who got burnt, and eaten up by wild beasts, and other unpleasant things, all because they would not remember the simple rules their friends had taught them: such as, that a red-hot poker will burn you if you hold it too long; and that, if you cut your finger very deeply with a knife, it usually bleeds; and she had never forgotten that, if you drink much from a bottle marked "poison," it is almost certain to disagree with you, sooner or later.”

Между тем, была и есть и другая тенденция в ИТ среде – не делать, что говорит производитель, а ждать, пока сломается, и потом делать вид, что работаешь.
Ничего не трогать, как писал другой автор –

Не выходи из комнаты, не совершай ошибку.
Зачем тебе Солнце, если ты куришь Шипку?
За дверью бессмысленно всё, особенно — возглас счастья.
Только в уборную — и сразу же возвращайся.


Эта же ситуация, с бедой с башкой, есть не только в ИТ.
Производитель говорит «меняйте масло каждые 10.000» - давайте ездить 15.000, я лучше знаю.
Производитель говорит «ставьте зимнюю резину до снега» - нет, каждый год на лысой летней резине кто-то застрянет на эстакадах и в кого то въедет.
Производитель говорит «меняйте ремень вариатора каждые 10.000» - нет, будут ездить до того момента, пока ремень не порвется.
Висят знаки «100» - давайте ездить 120.
Сказано «детям нельзя по дорогам общего пользования на спорт инвентаре» - ачотакова.
Беда с башкой  «а чо такова» и «такого со мной не произойдет» - явление постоянное и международное. Например, на днях признали, что на пике Победы теперь есть плюс один памятник. На Маттерхорне такого тоже хватает.

Вспоминаем Powershell в нескольких частях. Часть 1. База из баз Powershell, Windows, Центр обновления Windows, Wsus, Длиннопост

Беда с башкой 

Что же касается проверенных электроником сотрудников, то это работает исключительно в том случае, если у организации:
1 Организован закрытый контур управления системами, где физически, air gap, отключен интернет,
2 Фирма настолько маленькая, что через air gap никто не захочет перепрыгнуть. Потому что есть вирусы, сложным путем обходящие такие защиты. Например, Stuxnet.
3 Не смотря на это, в системе установлены обновления для средств контейнеризации и виртуализации, и сами средства корректно настроены. Потому что для Linux было несколько средств выхода в операционную систему хоста из виртуальной машины - Red Hat: CVE-2024-32462: flatpak: sandbox escape, Linux kernel vulnerability-CVE-2025–38236, CVE-2025-4609: Critical Sandbox Escape и так далее. К этому добавляется GhostHook и прочие неприятности.

Часть 1.2 Чем плох WSUS, SCOM, прочее ПО, и факты в Ansible?

WSUS ничем не плох, но в нем очень, для меня, неудобная отчетность. Отчетность показывает, что проблемы есть, но не показывает в удобном для меня разрезе, что установлено и почему, в том числе по остальным компонентам.

Со SCOM и прочим ПО для инвентаризации всплыла у коллег интересная проблема. Некоторое ПО (их внутренняя разработка) не вносит изменения в реестр Windows, поэтому не понятно, что обновилось, что нет. Остается смотреть версию файла, но WSUS не умеет отслеживать такие изменения, а на SCOM у них денег нет. Поскольку дело было в Windows, то пришлось идти другим путем.
Факты в Ansible всем хороши, кроме того что этот факт надо интерпретировать, и иметь какую-то базу для сверки и хранения эталонов.


Часть 1.3 Почему PowerShell, а не Python?

Особой разницы нет, но механизм другой. Я могу сделать задачу, которая выполнится на удаленном сервере, но даже для двух серверов это будет 1) удаленная 2) асинхронная задача. Это не самый удобный вариант, обрабатывать асинхронные данные на коленке, без разворачивания базы данных. Можно и на Python, просто чуть больше возни с компиляцией, подписыванием кода, и асинхронным получением данных в базу, и обработкой из базы. Все это сделать можно без проблем, но для начинающих проще, под Windows, сделать задачу на Powershell, без дополнительных компонентов.
То есть мне не надо для Powershell ставить VScode, Python, auto-py-to-exe, и убеждать параноящий антивирус «внести вот это в исключения». И сильно меньше рисков, что exe что-то сломает. И в отладке чуть проще.

Под Linux я бы вообще на RUST писал, не на Python.

Часть 1.4 Прочие базовые вещи

Я буду считать, что вы:
Прочитали хотя бы:
Школьный курс информатики – где рассказывают про типы данных и циклы
А.В.Попов. Введение в Windows PowerShell
А.В.Попов. Современный PowerShell. 2-е издание. - СПб.: БХВ-Петербург, 2025.
и парочку статей по теме – что такое командлеты, ввод-вывод и так далее.
Точно так же я буду считать, что вы как минимум запустили Powershell ISE.
Powershell ISE к сожалению не умеет работать с Git напрямую, как VScode с модулями, но можно поставить и сам Git, или можно жить (но грустно) без него, или жить по старинке с SVN.

Часть 1.5 Классы и объекты, для тех, кто пропускал школу

Даже 30 лет назад, даже Borland Turbo Pascal не говоря про Object Pascal, поддерживал не только Units, то есть внешние библиотеки, но и объекты, классы, и вот это все. С 1989, версии 5.5.
Все это было, в том числе в VBS, есть и в PowerShell

Нет никаких проблем (кроме того, что будет много букв) вызывать из PowerShell и методы Windows API, то есть графический интерфейс, и методы из Dotnet, и работать с внешними библиотеками, и обрабатывать ошибки и исключения.
Есть одно, лично мое исключение. Если вы работаете с web, и вам надо что-то обработать в Chrome или Firefox, то берите сразу Selenium. Он простой, куда проще, чем возиться с Powershell и Edge.

Часть 1.6 К теме обновлений в Windows

Что такое обновление с точки зрения статистики и "мне только посмотреть? "
Например, 2025-08 Cumulative Update for Microsoft server operating system version 24H2 for x64-based Systems (KB5063878) (26100.4946) ?
Это объект, у которого есть свойства:
Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Критичность: Microsoft Security Response Center (MSRC) severity: Critical
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 (формат даты США, месяц/день/год, то есть 12 августа 2025. Это у них легаси такое, с времен церковно-учетных книг)
Язык: в данном случае не важен.
Почему продукт и версия разнесены? Потому что, и в дальнейшем это будет критично, у Microsoft с обновлениями dotnet случилась беда с версионностью. В итоге и для определения версии есть отдельная процедура, и обновления бывают для отдельных компонентов.
Нормально это унифицировали только где-то к выходу Windows Server 2022

Часть 1.7 Как это все хранить и обрабатывать?
Можно в виде битовой строки, где символы с 0 по 20 это продукт, с 20 по 40 это версия, итд.
Можно какими-то еще путями, для ускорения или компактности.
Можно сразу рисовать схему базы данных.
Или можно сделать класс с разными типами данных внутри класса, и создавать на основе этого класса – объекты, и массивы объектов, и много чего еще.

Плюсы? Легко расширять, легко просматривать. Легко хранить в виде xml
Низкий порог вхождения, если говорить простыми словами.

Часть 1.8 Давайте начинать. Мой первый класс

Пуск – выполнить - powershell ise, и вот он – стандартный интерфейс, недалеко ушедший от блокнота
Делаем File – save as - Meine erste Klasse, делаем пример, выполняем –

class Device {
[string]$Brand
}
$dev = [Device]::new()
$dev.Brand = "Fabrikam, Inc."
$dev

И оно работает!

Делаем пример, какой нам нужен

Class MeineErsteKlasse{
[string]$OS
[string]$Release
[string]$KB
[string]$KBDate}

<#Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 #>

$MeinErstklassigesBeispiel =[MeineErsteKlasse]::new()
$MeinErstklassigesBeispiel.OS = "Server"
$MeinErstklassigesBeispiel.Release = "24H2"
$MeinErstklassigesBeispiel.KB = "KB5063878"
$MeinErstklassigesBeispiel.KBDate = "12.08.2025"

$MeinErstklassigesBeispiel | Format-Table -AutoSize

Запускаем – работает.

Часть 1.9 Немного магии, не очевидной с первого раза

Когда мы не работает со скриптом интерактивно, когда он будет исполняться неизвестно где и неизвестно как, имеет смысл хранить «нужные для работы данные» где-то рядом.
Для этого в Powershell есть переменная $PSScriptRoot, отдающая объект типа строка, то есть «откуда скрипт запустился» и командлет Get-Location, который выдает объект с кучей других свойств.
Посмотрим:

$PSScriptRoot | Get-Member
Get-Location| Get-Member
$Data1 = Get-Location
$Data1.Path

Все наглядно.
Заведем переменную «где храним скрипты» и переменную версии, просто так чтобы была (не просто так)

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteSicherungsdatei = $PfadZurSpeicherdatenbank + "\" + "nur-eine-datei.xml"

Часть 1.10 Мой первый массив

Сделаем массив. Не массив конечно, в Powershell массивы это или хеш-таблицы (@{}), или кастомные объекты, типа [PSCustomObject]@{
или System.Collections.ArrayList  
создается, например, так:  $myArrayList = New-Object System.Collections.ArrayList
Или вариации на тему. Почему так? Потому что массив (array) в общем смысле, это объект фиксированного размера, и операция его расширения, если вы работаете с действительно большим объемом данных, это операции «создаем новый массив размером плюс 1, копируем туда старый массив, удаляем старый массив». Это дорогие операции, когда у вас миллионы объектов размерами хотя бы пара мегабайт.
Когда у вас скрипт уровня «я еще учусь» это не влияет значимо на скорость, но помнить и знать это нужно, чтобы потом не думать «ой, почему все так тормозит».

$keinArray = @()
$keinArray += $MeinErstklassigesBeispiel
#Старая переменная больше нам не нужна, удалим ее
Remove-Variable MeinErstklassigesBeispiel


Важный момент. Powershell для экономии использует всякие извращения с Mutable и будьте аккуратны с этим, потому что вот такое поведение с непривычки вызывает оторопь:

$Data1 = @(1,2,3,4)
$Data2 = $Data1
$Data1[2] = "N"
$Data2

Часть 1.11 Суй массив в файл. И забирай из файла

Export-Clixml -Path $MeineErsteSicherungsdatei -InputObject $KeinArray
notepad $MeineErsteSicherungsdatei
$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei
$NewKeinArray

Поздравляю, вы великолепны.

Часть 1.12 Теперь все вместе

Class MeineErsteKlasse{
[string]$OS
[string]$Release
[string]$KB
[string]$KBDate}

<#Для какого продукта он предназначен: Microsoft Server Operating System
Для какой версии продукта он предназначен: 24H2 (это Windows server 2025)
Номер: KB article numbers: 5063878
Дата выхода: 8/12/2025 #>

$MeinErstklassigesBeispiel =[MeineErsteKlasse]::new()
$MeinErstklassigesBeispiel.OS = "Server"
$MeinErstklassigesBeispiel.Release = "24H2"
$MeinErstklassigesBeispiel.KB = "KB5063878"
$MeinErstklassigesBeispiel.KBDate = "12.08.2025"

$MeinErstklassigesBeispiel | Format-Table -AutoSize

$PfadZurSpeicherdatenbank = $PSScriptRoot
$Skriptversion = "10"
$MeineErsteSicherungsdatei = $PfadZurSpeicherdatenbank + "\" + "nur-eine-datei.xml"

$KeinArray = @()
$KeinArray += $MeinErstklassigesBeispiel
Remove-Variable MeinErstklassigesBeispiel

Export-Clixml -Path $MeineErsteSicherungsdatei -InputObject $KeinArray
notepad $MeineErsteSicherungsdatei
$NewKeinArray = Import-Clixml -Path $MeineErsteSicherungsdatei
$NewKeinArray

Литература
about_Classes
How to Use PowerShell Variables
about_Ref

Продолжение следует

Показать полностью 1
[моё] Powershell Windows Центр обновления Windows Wsus Длиннопост
0
14
DimirSteel
DimirSteel
1 час назад
IT-юмор

Ответ Rastish.ka в «Если вдруг вам интересно, как это вообще выглядит»⁠⁠4

А я купил. Столько лет по юности пользовался SE версиями. Что прям не грех купить лицензию.

Ответ Rastish.ka в «Если вдруг вам интересно, как это вообще выглядит» Лицензия, Юмор, Windows, Ответ на пост, Artmoney, Длиннопост
Ответ Rastish.ka в «Если вдруг вам интересно, как это вообще выглядит» Лицензия, Юмор, Windows, Ответ на пост, Artmoney, Длиннопост

Спасибо Михайлову Артёму Сергеевичу за наше счастливое детство!))))

Показать полностью 2
[моё] Лицензия Юмор Windows Ответ на пост Artmoney Длиннопост
5
565
RetroColt
RetroColt
17 часов назад
IT-юмор

Ответ на пост «Если вдруг вам интересно, как это вообще выглядит»⁠⁠4

А что такого весёлого в том, что куча юзеров шутят юмор про лицензию архиватора?

Она стоила(на момент когда я её покупал) какие-то смешные деньги и я осозновал что можно использовать этот архиватор не покупая лицензию.

Но купив лицензию я, вроде как сказал спасибо разработчику, что оценил и его труд, и его отношение к продаже лицензии(ведь архиватор можно использовать без покупки лицензии и не терять ни грамма функционала)

Я знаю ещё один продукт, с подобным отношением к продаже лицензии, это видеоплеер, который при регистрации дает диалоговое окно с инфой "регистрация для русских пользователей бесплатна" и в качестве ключа - ответ на детскую загадку, вроде "дом без окон, без дверей, полна горница людей".

Так над чем смеются эти, мягко скажем, странные пользователи? Что они наебали систему и пользуются платной программой, не заплатив?

Winrar Лицензия Юмор Диалоговое окно Windows Мат Ответ на пост Текст Волна постов
107
3772
Rastish.ka
Rastish.ka
17 часов назад
IT-юмор

Ответ на пост «Если вдруг вам интересно, как это вообще выглядит»⁠⁠4

А я купил жене такую сумку WinRAR.

Ответ на пост «Если вдруг вам интересно, как это вообще выглядит» Winrar, Лицензия, Юмор, Диалоговое окно, Windows, Ответ на пост, Волна постов

Но сам винрар всё равно не купил 😆

Показать полностью 1
[моё] Winrar Лицензия Юмор Диалоговое окно Windows Ответ на пост Волна постов
99
4778
Phion
Phion
19 часов назад
IT-юмор

Если вдруг вам интересно, как это вообще выглядит⁠⁠4

Если вдруг вам интересно, как это вообще выглядит Winrar, Лицензия, Юмор, Диалоговое окно, Windows, Скриншот, Волна постов

Не мое! Честно украл в интернете!

Winrar Лицензия Юмор Диалоговое окно Windows Скриншот Волна постов
365
10
nikotin101
19 часов назад
Сахарный диабет

Китайская версия Ottai m8⁠⁠

Думаю не я один столкнулся с проблемой отсутсвия глобальной версии Ottai m8 в продаже. На авито ценники на 50 - 100% дороже чем в официальном магазине, а в официальном магазине Ottai отправка в течении месяца. Для тех кто не понимает о чем речь - существует две версии Ottai m8: глобальная, для всего мира и китайская, рассчитанная на внутренний китайский рынок. Глобальная работает по всему миру и продается в белой коробочке, работает через приложение из AppStore и Google play. Китайская версия продается в синей коробке и работает только в Китае.

Китайская версия Ottai m8 Android, Windows, Сахарный диабет, Длиннопост

Китайская версия Ottai m8

На авито стоит такой датчик 1000 - 1500, а глобальная версия в официальном магазине 2699 рублей.

Китайская версия работает только с китайской версией приложения. На iOS у меня установлен регион Россия и версия приложения для России соответсвенно. Запустить такой датчик не получится.

Помимо iPhone у меня есть Xiaomi mi8, его-то я решил использовать. Всё что буду описывать дальше я проделывал на Xiaomi mi8, Android 10, MIUI 12

Я ничего не рекламирую, хочу лишь помочь тем, кто хочет использовать китайскую версию датчика. Я 4 дня воевал со своим телефоном и победил :)

Для начала скачиваем китайскую версию приложения с сайта Ottai https://ottai.com.cn/get-app

Пользуйтесь встроенными переводчиками в браузере

Теперь нужно зарегистрироваться в приложении. Сделать это можно только имея китайский номер. Подойдет как номер с материкового Китая, так и номер Гонконга. Я арендовал гонконгский номер на 365смс. Смс для регистрации пришло только на 4 или 5ый арендованный номер. Стоило это в районе 150 рублей.

Приложение Ottai только на китайском языке, английского и тем более русского там нет. Поэтому я взял iPhone, запустил переводчик и пользуясь камерой зарегистрировался и настроил приложение. Нужно будет указать номер телефона, ввести код из смс, указать единицы измерения (у меня ммоль/л), вес, возраст, дать разрешения для приложения.

Теперь нужно активировать дачик. Во время активации датчика, приложение проверяет местонахождение и ip адрес. Если оба этих параметра не китайские, активировать датчик не получится. Скажу сразу: использовать просто подмену геопозиции и ВПН не получится. Приложение видит и то и другое и просит отключить.

Начнем с геопозиции. Вкратце: нужно сделать root права, установить приложение для подмены координат как системное и скрыть использование приложения для подмены геоданных. На моём телефоне я сделал это так:

  1. Разблокировал загрузчик через официальное приложение.

  2. Установил кастомный TWRP

  3. Установил Magisk и сделал root права

  4. Установил Lucky Patcher

  5. Установил Mock Locations

  6. С помощью Lucky Patcher установил Mock locations как системное приложение в /system/app

  7. Установил edExposed

  8. Установил модуль Hide Mock Locations

  9. Скрыл использование Mock locations для приложения Ottai

Вуаля. Запускаем Mock Locations и указываем что мы гуляем по Китаю. Я указал Гонконг на всякий случай, номер-то гонконгский. Приложение думает что я в Гонконге, но ip Российский, датчик не активируется. Повторюсь, впн с китайским ip не помогает, приложение просит отключить vpn. Чтобы обойти это ограничение, можно использовать ПК с wi-fi или ноутбук. На пк устанавливаете впн с китайским ip, настраиваете хотспот, делаете общий доступ впн для виртуального сетевого адаптера хот-спот. В деталях, я сделал так:

  1. Арендовал китайский VPS

  2. Настроил на нём сервер WireGuard

  3. Настроил туннель WireGuard на ПК с Windows 11

  4. В настройках windows выбираем «Сеть и интернет», включаем «Мобильный хот-спот». У меня совместное использование интернет соединения “ethernet”, общий доступ через «wifi”

  5. Переходим в Панель управления - Центр управления сетями и общим доступом. Там появляется сетевой адаптер «Подключение по локальной сети» (у меня 10) и туннель wireguard. Правой кнопкой по туннелю, свойства, доступ. Ставим галочку «разрешить другим пользователям сети использовать подключение к Интернету данного компьютера» и выбираем подключение по локальной сети 10.

  6. Подключаемся по wifi с телефона к мобильному хот-спот на ПК

  7. Проверяем что ip китайский

  8. Запускаем Mock locations и подменяем координаты

Всё, приложение думает что мы в Китае и активирует сенсор. После этого для работы приложения не нужны ни координаты, ни ip китайские, оно будет работать и без них

Китайская версия Ottai m8 Android, Windows, Сахарный диабет, Длиннопост

Надеюсь кому-нибудь это поможет :)

Показать полностью 2
[моё] Android Windows Сахарный диабет Длиннопост
14
6
Glistiks
20 часов назад
Компьютер это просто

Photoshop и 0xc0000142⁠⁠

Больше двух лет пользовался версией 2022 года, всё было прекрасно, пока не переустановил Windows. После её переустановки у меня появилась это проблема при открытии фотошопа с того же самого загрузчика, что и раньше. Ни один способ не помогает, совет с обновлением железа будет странным, потому что до этого этот же файл работал.

Windows Компьютерная помощь Текст
14
5
vitiv
1 день назад

Живые фоны Windows98 Plus⁠⁠

Показать полностью 3
Windows Windows 98 Нейронные сети Живые обои Как это было Ностальгия Компьютер Видео Без звука Короткие видео Длиннопост Контент нейросетей
6
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии