Главная | Настройки | NSFW
Тема:
Доски


[Ответить в тред] Ответить в тред

[Назад] [Обновить тред] [Вниз] [Каталог] [ Автообновление ] 57 / 3 / 21

pfpmd Anonymous No.1596
omega.png (7 KB, 400x400)
Привет. Это тред для пиара pfpmd: http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/beta/ (новый интерфейс), http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion (старый).
pfpmd - это тесно сплетенные в одно целое анонимный чат и текстовые борды. Тематика: computer science, математика, программирование, технологии, криптоанархизм, софт и т.п.

pfpmd существует с 2015 года. Изначально он был попыткой воскресить один ресурс, который назывался лолкс, но теперь это в прошлом. Населен небольшим количеством людей и имеет низкую активность, что и хотелось бы изменить. pfpmd не модерируется, бан невозможен, как и цензура. Логотипом pfpmd является символ Ω, в честь Chaitin omega number https://en.wikipedia.org/wiki/Chaitin's_constant

Фичи pfpmd:
-Борды не фиксированы, в форме создания поста можно указать имя новой борды и она будет создана динамически в момент создания поста.
-Можно менять описание борды, это может делать любой пользователь сколько угодно раз;
-На странице с чатом по дефолту отображаются сообщение не только из чата, но и со всех борд. Это поведение можно изменить в настройках.
-На станице чана отображаются треды со всех борд. Но можно отобразить только треды какой-то одной борды, просто перейдя по ссылке этой борды.
-Картинки отображаются с некоторых ресурсов, например, imgur, twitter. Также показываются превьюшки видео с youtube и некоторых имиджборд. Список будет пополняться в будущем.
-Текстовое поле ввода чата поддерживает подобие командной строки. Есть команды для создания тредов, ответа в тред, изменения описания борды.
-Можно скрыть отображение всех сообщений с кириллицей.
-Поддерживается форматирование блоков кода. Подсветка синтаксиса реализована через highlight.js и выключена по дефолту, но ее можно включить в настройках.
-Поддерживается форматирование математических формул через KaTeX. Но эта фича тоже выключена по дефолту.
-Есть страница с логами всех сообщений (включая борды) в обратном по дате порядке.
-Пользовательские фильтры.
-И многое другое в новом интерфейсе.

Основные принципы:

-Максимальное облегчение сервера, весь (кроме статического) html генерится на клиенте, сервер отправляет клиенту только сырые данные;
-Минимум зависимостей у клиентского кода. Всё, за исключение подсветки синтаксиса и математических формул, реализовано на голом javascript, без использования всяких jquery, vue.js и прочих фреймворков. Исходный код KaTeX и highlightjs подгружается только когда фичи включены в настройках.
-Отсутствие цензуры.

Планы развития:

-Децентрализация на уровне серверов. Будет множество инстансов pfpmd, которые синхронизируются между собой. Юзер сможет подключаться к любому из серверов, сможет поднять свой. Находится в процессе разработки в данный момент.

Уже сделано:

-Клиентское приложение с консольным интерфейсом и веб интерфейсом. Чтобы юзер мог без запуска торбраузера заходить на pfpmd или вообще без гуйни, а также чтобы иметь свою локальную базу сообщений, по которой можно делать поиск и что угодно.
-Допилить дизайн.

Вторым постом будет FAQ. Но, в любом случае, я буду отвечать в тред.
Anonymous No.1597
FAQ

>По ссылке пустая страница без сообщений. Ничего не работает?
Надо включить js для pfpmd в настройках noscript. Исходный код не обфусцирован.

>А что если вайпер всё завайпает или даже уронит сервер?
Ничего страшного, есть бэкапы, переподнимем, если что.

>Я не могу терпеть спам. Почему бы не чистить говно?
1. У меня нет на это времени. 2. Понятие спама у каждого свое. 3. Юзер может скрывать посты по своим фильтрам. 4. Это нарушает один из основных принципов.

>Есть ссылка в клирнете?
Нету, pfpmd доступен только через тор.

>Что означает pfpmd?
Ничего, это просто первые пять символом рандомного хостнейма, который сгенерил тор.

>Что за лолкс?
https://lurkmore.to/Лолкс

>Какая тема общения на pfpmd?
У нас в основном общаются люди, которым интересна математика, computer science, программирование, технологии и обсуждение вот этого всего. Но другие темы обсуждать не запрещается.
Anonymous No.1603
>>1596 (OP)
Главное не сказал: эта параша не способна работать без жабаскрипта, поэтому в скрытосетях - больше чем ненужна.

>Децентрализация на уровне серверов.
>Клиентское приложение с консольным интерфейсом
>вообще без гуйни, а также чтобы иметь свою локальную базу сообщений, по которой можно делать поиск и что угодно.
Вот это уже чуть интереснее.

Под какой лицензией клиентское приложение? Где найти код?
Anonymous No.1605
>Минимум зависимостей у клиентского кода
Это говно заведется на свистке с 32 мегами памяти? Если нет, то в чем прикол ёпта. Давай исходники сервера.
Anonymous No.1606
>>1603
>работать без жабаскрипта
Шизло, зачем к javascript прицепился? Он в песочнице работает по умолчанию. Начитались хуеты всякой и несут бред свой про js. Вангую, скорее левый exeшник запустят без вопросов, зато не js.
Anonymous No.1607
>>1603
>эта параша не способна работать без жабаскрипта
Сказал, во втором посте. Исходники не обфусцированы, можешь их проверить.

>Под какой лицензией клиентское приложение? Где найти код?
GPL v3. Код тут http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/static/pfpmd-client_latest.7z
Если какие-то баги есть или что-то не понятно, то пиши.
Anonymous No.1608
>>1605
>Давай исходники сервера.
Старые нет смысла смотреть, т.к. они сейчас переписываются с учётом децентрализации. Выложу уже новые, когда будет бэкенд переписан.
Anonymous No.1609
>>1608
Пили репозиторий.
Anonymous No.1612
>>1606
>exeшник запустят
Эксперт по сетевой безопасности на Win 10 - мне нечего скрывать?

>>1607
>Исходники не обфусцированы, можешь их проверить.
А проверять их придеться при каждом обновлении странички? Вдруг изменились после прошлой проверки...

Если вы позиционируете вашу систему борд, как действительно анонимную, а не просто хайпитесь на теме анонимности, то должен быть предусмотрен альтернативный вариант интерфейса, работающий с минимальным функционалом без JS.
Anonymous No.1614
>>1612
>А проверять их придеться при каждом обновлении странички? Вдруг изменились после прошлой проверки...
В таком случае тебе лучше удалить браузер с компа... И забыть про сайты вобще.
Anonymous No.1617
>>1614
Вариант посыла в далекое пешее создателя сайта вместе с его творением, не рассматривается?
Anonymous No.1618
>>1617
Как вариант, но этот вариант почти что равен тому, что я предложил.
Anonymous No.1619
>>1612
>должен быть предусмотрен альтернативный вариант интерфейса, работающий с минимальным функционалом без JS.
Да, были мысли об этом, но пока нет времени на это всё. Может быть. Ещё были мысли сделать xmpp бот, но это тоже не в приоритете в данный момент.
Anonymous No.1626
Допустим, я доверяю владельцу сайта, но не хочу использовать пердольный клиент. В коде страницы есть две ссылки на js:
pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/static/chat.js
http://pfpmd7dd5ijt4add2sfi4djsaij4u3ebvnwvyvuj6aeipe2f5llptkid.onion/static/lolks.user.js
Можно ли как-то сохранить этот JavaScript код локально и при каждом подключении к сайту использовать его вместо скачивания с сервера? А что если скачивать с сервера новую версию и сравнивать построчно с диалоговым окном юзеру - обновить или свалить нахуй? По крайней мере так будет исключена зловредная подмена кода майором на стороне сервера что обычно происходит с JS сайтами даже если изначально скрипт выполнял безобидную функцию.
Anonymous No.1627
>>1626
Паранойа хороша в меру.
Anonymous No.1628
>>1626
>Можно ли как-то сохранить этот JavaScript код локально и при каждом подключении к сайту использовать его вместо скачивания с сервера?
Борьба с причиной подменяется борьбой с последствиями.

>>1627
Вы понимаете значение термина: "анонимность"? Если бы в описании борды его не было, тогда бы никаких вопросов по поводу обязательного использования JS не возникло.

Это не паранойя. В скрытосетях не работают привычные правила клирнета. Ни кто не знает, кто на данный момент контролирует сервер к которому вы подключаететсь, желая остваться анонимным, и какие замыслы на ваш счет у его админа. В связи с чем, любой сайт без исключений, должен считаться враждебно настроенным по отношению к вам, поэтому линия вашего сетевогоо поведения должна выстраиваться в соответсвии с данной аксиомой. Если извесно, что атака может быть проведена при помощи JS, то надо предполагать, что каждый сайт, использующий JS захочет ее провести, подсадив вам еще не извесный эксплоит, а не надеяться на отсутсвие злого умысла или просто беспечно игнорировать его.

Используя клирнет, вы исходите из того, что вам не требуется прикладывать усилия для поддержания анонимности - поэтому паранойя с полным отключением скриптов будет не к месту.
Anonymous No.1629
>>1628
Эксплоиты бывают и в рендерере самого хтмл, например.
Так говоришь будто браузя клирнет бояться нечего. Эксплоит в браузере может тебе тоже говна наделать.
Anonymous No.1630
>>1628
С помощью js нельзя посадить експлойт. если ты, конечно, не используешь в качестве браузера ie6 или другой браузер десятилетней давности. Но тогда ты сам себе дурак, а не злые владельцы враждебно настроенных к тебе ресурсов.
Anonymous No.1631
>>1629
В режиме полной паранойи можно использовать wget, и валидатор перед тем как использовать браузер.

>>1630
Кто это сказал?
Anonymous No.1632
>>1631
>В режиме полной паранойи можно использовать wget
Будешь выделяться юзерагентом. Да даже выключенным джс ты уже выделяешься слегка
>и валидатор
Будешь писать хуйнюшку ищущую подозрительный хтмл? Что-то я сомневаюсь в том что такое в принципе возможно.
Anonymous No.1633
>>1630
>С помощью js нельзя посадить експлойт.
Можно, если в реализации JS присутствует уязвимость. https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=firefox

>Эксплоиты бывают и в рендерере самого хтмл, например.
Без ХТМЛ нет контента, а вот без JS вполне можно жить. https://ru.wikipedia.org/wiki/Поверхность_атаки

Лично меня JS неустраивает тем, что он создан без учета потребностей параноидального пользователя. Вот кусок библиотеки для создания отпечатка пальцев пользователя через JS:

var browserTests = [
"audio",
"availableScreenResolution",
"canvas",
"colorDepth",
"cookies",
"cpuClass",
"deviceDpi",
"doNotTrack",
"indexedDb",
"installedFonts",
"language",
"localIp",
"localStorage",
"pixelRatio",
"platform",
"plugins",
"processorCores",
"screenResolution",
"sessionStorage",
"timezoneOffset",
"touchSupport",
"userAgent",
"webGl"
];

Заметьте, что через doNotTrack брауезера (т.н. сигнал сайту "Не отслеживайте меня") можно отследить пользователя, поскольку не все выставят эту настройку в браузере, а значит это еще один бит идентифицирующей (отличающей одного пользователя от другого) информации.

Также меня расстраивает современная тенденция в защитах на уменьшение энтропии (попытка сделать всех пользователей одинаковыми). В современных условиях, когда корпорации в каждой новой версии софта (будь то браузер или компонент ОС) добваляют или меняют функционал, невозможно отследить все измнения в коде малыми средствами. Также невозможно обучить современного пользователя всем особенностям работы браузера, сетевого стека ОС и др. компонентов; Такая неосведомленность приводит к появлению идентифицирующих битов инфорамации (Через установку плагина / выстваление удобной натройки браузера или компонента ОС (установка нового шрифта, например)). Поэтому я считаю что гораздо выгодней станет дезинформация сервера как о функциональности клиента, так и о текущих настройках в пределе некоторого отрезка времени. Гораздо лучше было бы замаскировать клиента под дерево и спрятать в лесу, чем запихнуть его в сейф и поставить в чистое поле.
Anonymous No.1635
>>1628
Есть решения: написать сайт c серверной логикой где будет ограниченная рамками HTML последней версии борда и чат на пхп или в виде конференции xmpp/irc, или свести серверную логику к минимуму написав красивый клиент исполняемый в браузере без зависимости от внешнего софта. Да, отдельный софт вроде IRC клиента написанный сторонними людьми и проверенный кучей человеко-часов надежнее, но он не дает экспириенса который хочет принести нам ОП при этом оставшись сам в выигрыше: минимальный дроч серверной части, по его же словам, чего не дают сделать сдандартный HTTP+HTML тянущий всю страницу для подгрузки одного единственного сообщения, за подобным экспириентсом - добро пожаловать в любой пхп-чатик или доску с картинками в дарквебе. ОП написал некий сервер и дает возможность: зайти на него через браузер с исполнением кода на js или запустить его мокропиську вне браузера. Какое из этих решений надежнее - я не знаю, но доверить исполнение кода с красивостями браузеру который максимально обезопасили разработчики Tor Project в моем понимании надежнее чем запускать ОПовскую мокропиську в консолечке пердоликса где никаких базовых защит совсем нет. Ко всему прочему, исходники и того, и другого не скрываются, а значит их условно возможно проверить. Допустим, мы их проверили для текущей версии, но стоит другая задача: я хочу быть уверен что код исполняемый в браузере тот самый что я скачал в первый раз как только зашел на страницу и полез в исходники, мне нужно запускать только этот скрипт и получить уведомление об обновлении и уже дальше самостоятельно принять решение внес ли автор в код вредоносные элементы или нет.
Мой вопрос был таким, и на него ты не ответил: каким образом запустить js код для сайта из локального хранилища, а тот что предлагается сервером, проверить на отличие?
Anonymous No.1636
>>1626
>Можно ли как-то сохранить этот JavaScript код локально и при каждом подключении к сайту использовать его вместо скачивания с сервера?
Можно. В юзерсприпт весь код просто оборачиваешь.

>А что если скачивать с сервера новую версию и сравнивать построчно с диалоговым окном юзеру - обновить или свалить нахуй?
Для этого нужно делать экстеншн браузера. Неплохая идея, кстати. Может он даже пользовался бы популярностью.
Anonymous No.1637
>>1635
>Tor Project в моем понимании надежнее чем запускать ОПовскую мокропиську в консолечке пердоликса где никаких базовых защит совсем нет.
Да, надо, наверное, в docker контейнер клиент запихнуть, например, тогда будет безопаснее с точки зрения юзера.
Anonymous No.1638
>>1636
>Может он даже пользовался бы популярностью.
Это вряд ли.
Anonymous No.1639
>>1636
>Для этого нужно делать экстеншн браузера.
Хотя, можно и без экстеншена. Что-то я затупил.
Можно в начале юзерсприта добавить код, который будет делать diff и показывать попап просто добавляя элемент на страницу.
Anonymous No.1641
Кто-то тут спрашивал про кеширование JS (запрет скачивания).
Попробуйте модифицировать https://git.synz.io/Synzvato/decentraleyes/ (там насколько я понял, не только JS локальный, но и fonawesome шрифты и чтот еще. Не углублялся)

Лично я таким не пользуюсь, поскольку сайт который хостит ссылку может точно сказать скачал ли я этот ресурс, или из "кэша" достал. А мне такое не нравится.
Вот пруф этой возможности: https://decentraleyes.org/test/ <- тут сайт видит скачал ли я google's jquery скрипт или с диска его запустил. Таким образом он догадывается о наличии подобного плагина, а значит я отличаюсь от других пользователей Тор-Браузера.
Anonymous No.1643
>>1632
>Будешь выделяться юзерагентом.
С каких пор wget нельзя назначить юзерагент статистичеки самого распространенного браузера?
--user-agent=agent-string

>Будешь писать хуйнюшку ищущую подозрительный хтмл?
Можно прогнать через валидатор html (tidy, например) на соответствие стандартам, на основании которых создаются парсеры в браузерах. Зачем его самому писать?

>>1633
>Гораздо лучше было бы замаскировать клиента под дерево и спрятать в лесу, чем запихнуть его в сейф и поставить в чистое поле.
Если JS отключат несколько анонов, то будет вместо леса будет поле, заставленное сейфами.
Anonymous No.1644
>>1641
Так и нужно скачать, сравнить, выдать юзеру диалог с диффом, и спросить дальнейшие действия: запускать или нет. Вообще такую хуйню можно сделать как функцию улучшенных браузерных закладок, и сохранять к к примеру в том числе и сертификат присылаемый сайтом получив Trust on First Use защиту от подмайорных CA которые выдали временный сертификат на валидный домен. В дополнеение можно к ккаждому доменному имени добавлять метадату стянутую из
Anonymous No.1645
>>1644
Блядь йобаный Tab.
стянутую из info, контакты админа, PGP ключи и все такое, пускай даже и ручками добавленное отдельно. Подойдет такое только для узкого круга любителей олдфажного авторского веба, бо говно за клаудфларой с гигабайтами обфусцированных и сгенерированных на лету скриптов этому соответствовать явно не будет, но сайту вроде ОПского вполне подходит под юзкейс.
Anonymous No.1646
>>1643
>Если JS отключат несколько анонов
В прошлой версии тор-браузера он был отключен по дефолту. Теперь уже все. Но это не отменяет желания уменьшить поверхность атаки во враждебном окружении.
Anonymous No.1647
>>1646
>Теперь уже все.
Тор-браузер - универсальный инструмент для широкого круга пользователей, служащий как для проксирования клирнетовских сайтов, так и для доступа ко внутренним - торовским. Всем угодить - невозможно, поэтому видимо с целью популяризации, разрабы решили включить JS, для того что бы не вызвать лишних вопросов и недовольства, сопровождаемого негативной реакцией: "почему ничего не работет? Тор - отстой!" у казуалов уровня вконтактиков. Те, кому надо, смогут легко выключить его через about:config.
Anonymous No.1648
>>1647
Его не надо выключать через about:config. Там есть Security level кнопка. Выбираешь safest и будет
> Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.
> JavaScript is disabled by default on all sites.Some fonts, icons, math symbols, and images are disabled.Audio and video (HTML5 media), and WebGL are click-to-play.

Алсо, по-моему, вы гоните. Всегда js был включён по дефолту в TB, потому что в standard секурити левеле он включён, а standard левел был всегда по дефолту. Может в предыдущей какой-то версии они делали safest по дефолту, тогда я возможно просто это пропустил, но раньше, точно был js включен, как только устанавливаешь TB.
Anonymous No.1649
>>1648
>Его не надо выключать через about:config
Наверно просто привычка. Что бы наверняка он был отключен, а то вдруг в стандартных пресетах что поменяют при очередном обновлении.

>Всегда js был включён по дефолту в TB
Последние года три-четыре он был точно включен. Что было раньше уже не помню.
Anonymous No.1655
>>1603
> не способна работать без жабаскрипта
И как ты клиент-онли веб-приложения без жиес будешь делать?
Anonymous No.1656
>>1655
Зачем его делать "клиент-онли"? По любому данные не напрямую будут из базы запрашиваться клиентом, их надо сначала загнать в json на сервере, только потом отдавать клиенту. Проще сразу их загнать в html тем более логика у борды - элментарная зачем из несчастной страницы с постами делать целое "приложение"?

Даже логику чата вполне устешно можно реализовать на серверной стороне. Отправлять обычной формой, запрашивать - страницу с последними сообщениями с пагинацией ранних сообщений. Да и будет ли так востребован чат, когда уже имеется функционал борды? Тем более анонимный чат - мечта для флудера. Или придется запрашивать капчу для каждого сообщения?
Anonymous No.1685
>>1656
Почему? Потому что тащить каждый раз с сервера всю страницу на 500 постов с картинками, да еще и разметку к ним это дохуя оверхед будет. Не у всех гигабитный канал в любое время, и тем более не у всех есть быстрые мосты в тор. Давно уже жду нормальной замены электронной почте чтобы можно было делать децентрализованные в т.ч. анонимные форумы и отправлять аттачменты современными протоколами устойчивыми к разрывам, а не костылями из 80-х.
Anonymous No.1686
Забыл добавить: главный профит от этого всего конечно серверу. Клиентам может и норм качать всю страницу каждый раз, а аплинк сервера скорее всего просто встанет, нам неизвестно на чем оно хостится и в каких условиях.
Anonymous No.1693
>>1685
>Потому что тащить каждый раз с сервера всю страницу на 500 постов с картинками, да еще и разметку к ним это дохуя оверхед будет.
Что мешает разбить эти 500 постов на страницы и запрашивать не все сразу, а только требуемую часть?

>Давно уже жду нормальной замены электронной почте чтобы можно было делать децентрализованные в т.ч. анонимные форумы
Обратите внимание на Bitmessage. Или на почту и распределенные форумы в сети ZeroNet.
Anonymous No.1699
>>1693
Ебанулся в браузере 500 страниц открывать. Это онли клиент либо JS.
Anonymous No.1700
>>1699
Каких 500 страниц в каком браузере? Не слышал никогда по такой прием в верстке, который называется пагинация?
Anonymous No.1701
>>1700
То есть ты предлагаешь прокликивать посты по одному или как на форуме из нулевых делить все на странички с десятью сообщениями. А теперь представь что тебе надо сделать поиск без серверной логики. Стандартный Ctrl+F на одной странице работает, в истории мессенджера работает, а на 50 страницах по 10 сообщений не очень, если без аддонов.
Anonymous No.1703
>>1701
>А теперь представь что тебе надо сделать поиск без серверной логики.
Предусмотреть ссылку на полную страницу, специально ради такого случая.
Anonymous No.1706
>>1656
> Зачем его делать "клиент-онли"?
Это суть децентрализации(пир ту пир).
Anonymous No.1707
>>1706
>Это суть децентрализации(пир ту пир).
Речь шла о
>И как ты клиент-онли веб-приложения без жиес будешь делать?
Кто или что мешает его делать без JS?

Распределенное веб-приложение с JS, на моднючих вебсокетах, уже сделали: ZeroNet называется. Спасибо, но такой жопорукой глюкоубогости даже за вознаграждение не надо.
Anonymous No.1708
>>1707
> ZeroNet
Он на питоне.
Anonymous No.1709
>>1708
>на питоне
Только бакэнд. Все остальное на гребанных вебсокетах.
Anonymous No.1714
>>1703
Допустим ты пролистал 49 страниц и находишься сейчас на 50-й. Вместо гружения сервера лишними запросами на поиск слова в его базе и вместо скачивания страницы со всеми сообщениями сызнова, ты ищешь то что у тебя уже есть в кэше. Это и есть оптимизация. Ущербный браузер по дефолту так не умеет, он даже на нескольких открытых страницах искать не умеет.
Anonymous No.1715
>>1714
>ты ищешь то что у тебя уже есть в кэше.
Какой в этом смысл смысл? Полноценный поиск должен быть полным - по всему сайту или по указанным разделам. Кеш на то и кеш, что в нем всегда будут не полные данные, поэтому результаты поиска также (прчем, гарантированно) будут не полными.

>Ущербный браузер по дефолту так не умеет
Он и не должен уметь страдать такой фигней.

Представь, что ты запросил что-то у поисковика, а поисковик ответил: "что-то мне не хочется делать запрос ко всей моей базе, еще нагружать ее придется, давай я специально для тебе поищу по своему кешу за последние 20 минут? Идет?"
Anonymous No.1716
>>1715
Имелся ввиду поиск по одному треду. Тред 500 сообщений, 50 страниц.
Anonymous No.1717
>>1716
Так как раз для таких случаев можно загружать страницу целиком, без разбиения, для чего дать отдельную ссылку.
Anonymous No.1751
>>1707
> Кто или что мешает его делать без JS?
Толку веб-приложение не в браузере поднимать?
> 2020
> .exe
Anonymous No.1752
>>1707
>Кто или что мешает его делать без JS?
Без js это будет не веб приложение, а просто страница с текстом и картинками.
Anonymous No.1757
>>1630
Anonymous No.1758
>>1631
Anonymous No.1759
Brown_bear_(Urs[...].jpg (12 KB, 220x166)
>>1596 (OP)
Где гайд для тупых хомячокв?
Anonymous No.1918
20110828224356[...].jpg (31 KB, 183x200)
>>1596 (OP)
>pfpmd не модерируется, бан невозможен, как и цензура
Значит, можно постить текстовое ЦП?

[Назад] [Обновить тред] [Вверх] [Каталог] [ Автообновление ]
57 / 3 / 21

[Ответить в тред] Ответить в тред

15000

Ответ в тред No.1596
Настройки
Избранное
Топ тредов