Ник | Пост | Дата |
---|---|---|
ValdikSS | PAC-файл (Proxy Auto-Configuration) АнтиЗапрета не обновляется с 28 января, из-за слишком большого количества заблокированных доменов в Реестре запрещённых сайтов, которые не укладываются в лимит браузеров на основе Chrome. Эта проблема не нова, но до недавнего времени с ней удавалось справляться фильтром нерабочих (и припаркованных) доменов, исключением мусорных зеркал вручную, простыми алгоритмами сжатия и оптимизации. Сейчас же доменов стало так много, что у меня не получается справится в этим эффективно и автоматизированно. Поэтому принимаются любые предложения, идеи, реализации в виде кода, которые помогут уменьшить размер файла. Сейчас реализовано:
Что нужно учитывать:
Более-менее детальную информацию о структуре и функциях PAC-файла можно найти на сайте http://findproxyforurl.com/, дополнительная информация:
Исходный код генератора: Bitbucket (branch fixmeplz) | 2024-03-08T18:00:44.184Z |
ValdikSS | 2024-03-08T18:01:08.275Z | |
gfqwdgecewgcdw | Ой только не питухон | 2024-03-08T18:19:53.691Z |
Safety1st | Пора уже отказаться о поддержки старого софта, раз это уже реально мешает развитию – XP, IE и всё такое. | 2024-03-08T18:25:15.044Z |
p13dz | Присылайте на клиент вместо полного списка простой bloom-фильтр - он супер дешевый. O(1) по процессору и O(1) по памяти. Минус - это вероятностный алгоритм, и есть шанс ложноположительных срабатываний (ложноотрицательных быть не может). Вероятность коллизий будет зависеть от числа записей и размера таблицы. Я не знаю, сколько записей сейчас в списках РКН, но допустим 1 миллион. Тогда скажем при таблице размером 10 мегабайт вероятность ложного срабатывания будет 1 из 7 миллионов. То есть вам придется какие-то редкие незаблокированные домены через себя проксировать. В интернете полно калькуляторов, чтобы рассчитать вероятности коллизий - Bloom filter calculator. Заведите туда ваши реальные параметры (сколько доменов в списке и сколько памяти готовы пожертвовать), и получите вероятность коллизии. Если случайно попадется какой-то дорогой домен (ну не дай бог Ютуб будет ложноположительным), вы можете рядом с блум-фильтром ещё и черный список положить доменов, которые ни при каких условиях нельзя проксировать. И будете туда добавлять домены, если вдруг от какой-то коллизии больно будет. Но скорее всего вам никогда в жизни не придется туда ничего класть. | 2024-03-08T18:51:58.673Z |
bolvan |
От этого можно избавиться, установив проверку user-agent на сервере. | 2024-03-08T19:26:17.237Z |
libneko |
Вопрос как её впилить в плейнтекст-файл. Текущий размер pac-файла в районе мегабайта | 2024-03-08T19:41:23.965Z |
qkeen | @ValdikSS, сколько у тебя остаётся адресов после выкидывания ненужных? Для оценки того, сколько необходимо в таблицу Блума засунуть. | 2024-03-08T20:13:45.780Z |
p13dz | Ну это уже чисто технический вопрос. От кодировок типа base64 до встраивания png-файла и чтения попиксельно. | 2024-03-08T20:35:02.727Z |
goodrussian666(Goodrussian666) | есть странный вопрос, а пробовали упаковать в формате privoxy ? что-то кажется, что PAC файлы это немного тупиковое | 2024-03-08T21:55:41.557Z |
goodrussian666(Goodrussian666) | PAC-и я покопаю. может что придумается | 2024-03-08T22:52:56.406Z |
libneko |
Но при этом все еще надо как-то влезть в мегабайт. Base64 дает примерно +30% к размеру, вариант с png не звучит как реализуемый в принципе в рамках pac. | 2024-03-09T06:09:17.377Z |
qkeen | @p13dz, @goodrussian666 PAC-скрипт – это скрипт, написанный на JS, но с особым API/Runtime. В нём нельзя делать HTTP-запросы, по типу | 2024-03-09T08:45:43.452Z |
goodrussian666(Goodrussian666) | да, я в курсе, я имел в виду privoxy вместо pac | 2024-03-09T10:10:41.730Z |
ALLIGATOR | Некий вариант префиксного дерева? | 2024-03-09T13:29:47.040Z |
ALLIGATOR | Более эффективное использование всего диапазона значений символов, а не только разрешенных в DNS ? | 2024-03-09T13:37:16.414Z |
ValdikSS |
Это не вариант, т.к. сломает часть сайтов. Чтобы проксировать случайные ложноположительные срабатывания, придётся на прокси-серверах разрешать всё. Записей 1.7 млн, ограничение файла — 1 048 576 байт. | 2024-03-09T16:16:20.544Z |
ValdikSS |
Но это с исключёнными доменами, начинающимися на цифру, и другими хаками. | 2024-03-09T16:17:58.510Z |
DigitalRes77 | А ограничение на 4 Mb в браузерах на основе chrome возможно обойти? Сделать больше по размеру или разделить их по частям.Выбирать ту часть которая необходимо в данное время для прокси | 2024-03-09T16:27:48.165Z |
ValdikSS | Как вы это представляете реализовывать технически? | 2024-03-09T16:52:23.554Z |
DigitalRes77 | Не только на питоне это делается ProxyAutoConfig.cpp - mozsearch | 2024-03-09T17:08:29.434Z |
irdkwmnsb(Maxim) | Я вижу несколько вариантов:
Немного оффтоп. Но с чем связаны такие строгие ограничения на IE7 и Windows XP? | 2024-03-09T17:36:46.672Z |
ValdikSS |
Такой возможности нет, PAC-файлы не могут загружать сторонние ресурсы. Только ASCII 7-бит, не все браузеры поддерживают не-однобитные кодировки. Сервисом до сих пор пользуются со старых компьютеров, не хотелось бы ломать доступ без сильной на то необходимости. | 2024-03-09T17:48:03.987Z |
irdkwmnsb(Maxim) | Я не знаю насколько моё мнение важно, но
всегда нужно выбирать первое | 2024-03-09T17:51:09.623Z |
ValdikSS |
В текущем виде выглядит расточительно, нужно придумывать алгоритм паковки данных. | 2024-03-09T17:54:39.232Z |
ValdikSS |
Пользователи, добавляющие PAC-файл в ОС, начинают использовать его в браузере ОС (старые версии IE и wininet, основанный на нём). | 2024-03-09T17:55:17.872Z |
zxczxc | Как насчёт взять GitHub - LZMA-JS/LZMA-JS: A JavaScript implementation of the Lempel-Ziv-Markov (LZMA) chain compression algorithm (декомпрессор весит 6.8 КБ) и зипануть все домены? | 2024-03-09T17:58:33.429Z |
goodrussian666(Goodrussian666) | кстати, а если выделить в общую кучу Cloudflare, по идее его может быть довольно много (из-за казино), и заменить общим правилом “если адрес ресолвится в клаудфлер, то проксировать” | 2024-03-09T17:59:13.560Z |
spcfox(Viktor Yudov) |
Нельзя ли на сервере проверять домены по тому же фильтру? | 2024-03-09T20:49:14.607Z |
bolvan |
Здесь уместен вопрос. Дергается ли прокси пак каждый раз при обращении к URL или есть какое-то кэширование результатов ? Может в разных броузерах по разному ? Потому есть предложение дифференцировать размер proxy.pac в зависимости от user-agent. Если броузер не налагает жестких ограничений, использовать лайтовую версию | 2024-03-10T07:20:25.459Z |
ValdikSS |
Скрипт исполняется целиком при инициализации контекста js (на каждый поток/процесс, полагаю), в это время можно однократно выполнить какую-то затратную по CPU/RAM операцию. Затем на каждый запрос вызывается функция, которая возвращает результат необходимости проксирования. | 2024-03-10T09:19:25.735Z |
Toshik | По мере прочтения темы, появилось несколько мыслей:
| 2024-03-10T09:57:49.821Z |
bolvan |
Там еще вроде бы есть ограничения на RAM. Разжать и все хранить в виде JS переменных может быть тоже проблемно | 2024-03-10T10:35:22.435Z |
DigitalRes77 | Я ранее предлагал эту идею насчет дифференциации размера в зависимости user-agent.Но думаю не взлетит из-за излишней нагрузки на сервер.Здесь важно понимание того до какого верхнего предела по кол-ву записей можно достигнуть.Если их сейчас 1,7, то на следующий год может оказаться в три раза выше.Рост в геометрической прогрессии( хуже в экспоненциальной) | 2024-03-10T13:08:44.620Z |
bolvan |
Нагрузка ложится на прокси, и она не особо зависит от размера proxy.pac | 2024-03-10T13:38:39.412Z |
crocodileorangejuice | У меня есть вариант, который конкретно домены жмет лучше, чем текущий. Получается около 870 KиБ данных в самом proxy.pac (считая код, нужный для распаковки). Я не пробовал включить в него IP-адреса, и не проверял, сколько он потребляет памяти; буду благодарен, если кто-то с этим поможет. Сам код сжатия работает в Node.js (почти любой версии). Он ожидает в файле Алгоритм основан на трех идеях:
compress.js (2.2 KB) Если в качестве входных данных беру out.pac (874.2 KB) | 2024-03-13T12:01:32.082Z |
ValdikSS | Подход интересный, но regexp — точно не самое быстрое решение. | 2024-03-15T14:11:09.183Z |
crocodileorangejuice | Там основная стоимость на компиляцию при первом запуске скрипта. Потом, когда функция вызывается - она дешёвая; линейная относительно длины host, если прямо заморачиваться асимптотикой. Не знаю, насколько это приемлемо, плюс не измерял по абсолютным цифрам. Учитывая, что сам регексп получается без бектрекинга - можно накидать простой алгоритм, который будет матчить его без именно использования RegExp. Попробую в ближайшие дни сделать. | 2024-03-15T16:16:44.347Z |
libneko | Идея на подумать: Произвольно руками посмотрел на cloudfront в списке, его есть смысл пытаться резолвить и выкидывать строки не резолвящиеся в какой-либо IP. Одного этого уже может быть достаточно на какое-то время | 2024-03-16T19:39:38.965Z |
borouhin(Alexander Borouhin) | А есть какой-то сакральный смысл в том, чтобы использовать исключительно один только PAC-файл? Если добавить в инструкцию для пользователей, кроме пункта “укажите в настройках URL PAC-файла” второй пункт “а в другом месте настроек укажите адрес нашего DoH-сервера” - дальше можно реализовать ту же самую подмену IP, как и в VPN-версии, а весь PAC-файл при этом сведётся к нескольким строчкам кода, проверяющим попадание отресолвленного IP для домена в наш подменный диапазон. | 2024-03-16T22:20:48.750Z |
Tatam | Во-первых, спасибо за всё, что вы делаете! Исходя из требований и объёма данных, предлагаю перейти на сравнение хэшей. Целые хэши занимают много места, поэтому будем брать их часть - 32 бита. Теперь по хранению всего этого безобразия.
Оценка размера структуры. Алгоритм поиска. Оценка реализации. Возможные проблемы. Оптимизация 1. Оптимизация 2. Думаю, пока можно обойтись без оптимизаций, этого хватит на какое-то время. | 2024-03-17T08:43:08.706Z |
crocodileorangejuice |
Вот насчёт этого сомневаюсь, кстати. Заблокированных доменов очень намного меньше, чем незаблокированных, поэтому не уверен, что решение с false positives тут подойдёт. Кроме того, этот список исключений нереалистично будет обновлять автоматически. Для заблокированных есть источники, а исключения собирать как? Проверять хэши вообще всех доменов в интернете? | 2024-03-17T09:28:32.357Z |
Tatam |
Видимо, автоматически никак, только по жалобам пользователей. | 2024-03-17T09:32:26.599Z |
Tatam | Если 32 бита хэша кажется мало, можно взять 40 бит. | 2024-03-17T09:36:45.428Z |
Dhohbr | А что, если исключать сайты и адреса, которые действительно являются scam, spam, срам… Которые в базах, например, virustotal содержатся. | 2024-03-17T14:38:15.633Z |
c5sa(c5sa) | Идея мало практичная, но тем не менее, если можно резолвить dns, можно складывать данные в поддомен, получать обратно 32 бита в виде айпишки с собственного ns сервера. Без понятия какие данные так гонять (сами адреса стрёмно, может хеши или что-то такое? по 32 хеша?), оно будет оседать в кешах dns, что и хорошо и плохо. | 2024-03-18T04:39:25.223Z |
ValdikSS |
Сейчас в списке примерно так и сделано: домены группируются по длине и добавляются в строку без разделителей, а затем разделяются (также по известной длине) в массив строк. Это требует инициализации, но не затратной. Идея а-ля DNSBL рабочая, но лучше к ней не прибегать: это заметно повысит latency запросов, добавит еще одну точку отказа, да и браузеры иногда с DNS в PAC-файле плохо работают. Проще уж тогда на VPN-серверах каждый день собирать статистику по доменам и генерировать PAC-лист только из тех, к которым регулярно обращаются. Что тоже дерьмовый вариант. | 2024-03-18T10:49:15.409Z |
bolvan | Кстати, а что на счет расширения броузера ? Вот тут нагуглилось “supports inline PAC script” Значит он его в себя подгружает, и там уже нет ограничений | 2024-03-18T14:41:37.401Z |
ValdikSS | В расширениях такого ограничения нет. PAC-файлы и так используются в «Обходе блокировок Рунета» и CensorTracker. | 2024-03-18T14:58:58.464Z |
bolvan | Тогда чего мы мучаемся. Возможности PAC исчерпаны. Загоняем всех на расширение и дело с концом. Кстати, в условиях отсутствия публичного списка заблокированных сайтов, как планируется обновлять список доменов ? Основные значимые - руками вносить ? | 2024-03-18T15:01:19.797Z |
ValdikSS |
PAC-файл работает не только в браузерах. У меня есть пара идей по автоматическому обнаружению блокировок, напишу позже. | 2024-03-18T15:11:10.556Z |
bolvan |
Но ведь ограничение на 1 мб только хромовское ? В других местах пусть будет большой pac | 2024-03-18T15:21:32.634Z |
goodrussian666(Goodrussian666) | смотрите какая красота. в list.csv примерно 500 тыс записей если сделать вот так
в топе значительная доля клаудфлера | 2024-03-18T18:41:07.387Z |
ValdikSS |
Electron’овское ещё. Как предлагаете использовать этот факт? | 2024-03-19T04:49:14.057Z |
goodrussian666(Goodrussian666) | схлопнуть клаудфлеровские адреса в ноль и через isInNet() маршрутизировать их на прокси | 2024-03-19T06:40:36.278Z |
ValdikSS | Не анализируя домен? Проксироваться будет пол интернета в таком случае. А IP-адреса в PAC-файле и так небольшую часть занимают, меньше 20 КБ. | 2024-03-19T07:12:08.531Z |
KlonD90(Nick) |
а как это фиксить? | 2024-03-22T11:57:45.246Z |
ValdikSS | Так и должно быть, это не ошибка. | 2024-03-22T18:34:28.122Z |
KlonD90(Nick) | Я попробовал другую библиотеку но с тем же алгоритмом. Изначальный файл 2.2 мб, выходит 1.3 мб после сжатия. Попробовал сжать уже сжатое и выходит теже 1.3 при том что сжатый файл 1.1 мб. | 2024-03-23T07:38:02.227Z |
KlonD90(Nick) | Пока есть идея сжать просто по модулю. Всего 39 символов то есть в 128 бит ASCII можно вместить 3 символа в одном. И сейчас те 2 мегабайта как 700 килобайт представить + алгоритм разжатия довольно простой. Тьфу в 128 возможных чисел. Взять по модулю. И будет сжатие в 3 раза по сути. Нужно конечно проскипать символы закрывающих кавычек, экранироваия и перевода строки. | 2024-03-23T10:15:43.026Z |
ValdikSS | Реализовал алгоритм сжатия LZ Prediction (LZP) из протокола PPP, изменив хеш-функцию эмпирическим путём. Prediction-байты сохраняются отдельно от данных, в base64-переменную, которая еще дополнительно обрабатывается существующим RLE-сжатием. Приличную часть времени потратил на поддержку Internet Explorer 8 и Firefox 52: последним сёрфят как минимум 400 пользователей сервиса (кто-то «чистым» FF, кто-то K-Meleon/PaleMoon/SeaMonkey). Сильно это, увы, не помогло. Файл опять едва вписывается в лимиты (но хотя бы обновляется).
Принимаются другие идеи. Можно сконцентрироваться на исключении мусорных доменов. | 2024-03-24T16:36:41.631Z |
qkeen |
Раздавать два PAC-скрипта: с ограничением в 1МБ и без этого ограничения. | 2024-03-24T17:06:31.000Z |
PstalDude(Pstal Dude) | Здравствуйте. Со вчерашнего дня софт pacproxy перестал работать с новым pac файлом. При этом браузер работает нормально. Могу я попросить ссылку на предыдущую версию рас файла, если таковая имеется? Также присоединяюсь к предложнению из предыдущего поста о распространении двух версий файлов. И извините если немного не в тему. | 2024-03-25T01:40:13.585Z |
bolvan |
Можно так сделать. Взять все эти домены и пройтись по ним CURLом. Если там нет ответа, ошибка http или прочая ерунда, а так же заглушки паркингов или какие-то стандартные странички (надо изучать) , то в помойку. Как вариант можно не курлами это делать из шелла, а на питоне что-то написать не очень сложное Много так, увы, не вырезать. У меня есть список ресолвящихся доменов тут : https://raw.githubusercontent.com/bol-van/rulist/main/reestr_hostname_resolvable.txt Еще можно взять тот список и посмотреть на счет зеркал. Составить список regexp, чтобы резать многочисленные зеркала. | 2024-03-25T06:32:21.459Z |
runalsh(runalsh) |
Это и сейчас реализовано с поиском по паттернам. У себя отбрасываю все вхождения с числом больше 1100 и результирующий файл получается ~800кб. | 2024-03-25T06:58:24.965Z |
bolvan |
Это уже около 25% | 2024-03-25T07:11:13.794Z |
ValdikSS | Это уже всё используется | 2024-03-25T08:15:24.194Z |
pochta.andrew(Andrew) | Может подойти к проблеме с другой стороны - составить частотную характеристику запрашиваемых на стороне прокси доменов? И не включать в pac домены с популярностью менее определенного порога. Технические способы помогут только отсрочить проблему, но не решить ее кардинально, ибо данный список будет только увеличиваться. Я сильно сомневаюсь, что оставшиеся после фильтрации какие-нибудь *azino также востребованы, как и топовые новостные ресурсы в известной зоне. Так зачем тащить этот мертвый груз? А порог можно сделать плавающим, на основе собираемой статистики, чтобы укладываться в лимиты. Если конечно ведется такая статистика. | 2024-03-29T11:24:41.354Z |
mercurykd(Konstantin) | а дайте пожалуйста референсный исходник, не обязательно ркновский. давайте сделаем референсный файл на 10000 строк и будем смотреть на его примере что лучше сжимает. я сделал для себя lzw компрессию и минификацию. https://p.thenewone.lol:8443/proxy.pac тут на одних переносах строки можно не слабо сэкономить. еще можно миллиард азино превратить в один *.азино | 2024-04-01T21:28:06.382Z |
ValdikSS | Референс есть в репозитории. | 2024-04-03T05:40:19.241Z |
mercurykd(Konstantin) | ну нет, угадывать репо и файл в нем такое. как говорится, какое тз такое и хз | 2024-04-03T09:07:41.540Z |
ValdikSS | Что конкретно непонятно? Все ссылки есть в первом сообщении. В указанном бранче не выполняется обновление листа, и списки заморожены на дату коммита бранча, на них и тестируйте. | 2024-04-03T09:14:42.252Z |
mercurykd(Konstantin) |
вот именно что списки, их поди еще там найди. а нужно один референсный исходный файл. типа “вот вам файл, задача сделать из него pac минимального размера без потери данных”. | 2024-04-03T09:26:51.516Z |
ValdikSS | Исходный файл списка, чтобы сделать другой PAC-файл с нуля? | 2024-04-03T09:30:00.899Z |
mercurykd(Konstantin) |
понял, вы не ищите способы минификации рас, вам нужно чтоб именно ваш файл оптимизировали. | 2024-04-03T09:39:58.742Z |
SagePtr(Sage Pointer) | Можно ли проверять User-Agent браузера? К примеру, пользователям IE и старых браузеров возвращать усечённый по объёму файл с наиболее популярными сайтами, а пользователям современных браузеров - полный? | 2024-04-04T19:30:08.410Z |
ValdikSS |
Ограничение на размер файла есть только в Chrome и браузерах, основанных на нём. Выходит наоборот. | 2024-04-05T06:34:25.154Z |
goodrussian666(Goodrussian666) | небольшую правку примете ? https://bitbucket.org/anticensority/antizapret-pac-generator-light/pull-requests/1 | 2024-04-06T15:06:55.790Z |
atz | Мы у себя не один год пользовались файлом https://antizapret.prostovpn.org/proxy.pac, заменяя в нем прокси-сервер на свой. Но antizapret.prostovpn.org заблокировали, поэтому прямой доступ стал невозможен. А через VPN предсказуемо получается “Your geoip is not RU, contact antizapret@prostovpn.org if you believe this is an error. THE SERVICE WORKS ONLY IN RUSSIA! Do not forget to include your IP address in the message.” Поиском по темам нашелся GitHub - onminonA/proxy.pac: RU-PAC file anti-censorship in Russian Federation . Видимо пока будем использовать его, но мне кажется стоит сделать держать репозиторий antizapret-pac-generator-light в таком состоянии, чтобы им можно было практически пользоваться. Плюс сделать “официальный” аналог GitHub - onminonA/proxy.pac: RU-PAC file anti-censorship in Russian Federation, для локального использования. Что же касается исходной проблемы, мне кажется надо активнее пользоваться списками исключений. Например отдельным скриптом составлять списки того, чего нет в whois, коммитить исключения в репозиторий (чтобы скрипт обновления не тормозил). Да и зеркала всяких казино в какой-то момент можно будет начать исключать. | 2024-06-12T14:51:36.814Z |
ValdikSS |
Репозиторий находится именно в таком состоянии, в плане генерации PAC-файла он в точности соответствует версии на сервере. Отлаживайте. | 2024-06-12T14:59:22.164Z |
atz | Дело оказалось в RESOLVE_NXDOMAIN=“yes” (в репозитарии “no”). И раз залез сюда, в topsequences.py имеет смысл обрабатывать последовательности длинее 4-х символов. Если обрабатывать 6 символов, используя или существующий символ из алфавита или почему-то неиспользуемый ‘_’, получается 989798 байт против исходных 1011183. Если использовать половину алфавита для 6, половину для 5 получится еще чуть короче. Но 2% это все равно конечно гомеопатия, РКН ничего не мешает за день столько добавить. Так что увы, боюсь без более активного использования исключений никуда. diff -u topsequences.py.ok topsequences.py … … … | 2024-06-12T20:34:05.762Z |
1andrevich(Andrevich) | @ValdikSS вариант с вычищенным списком РКН рассматривается? Есть сам список и наработки по методологии очищения списка (тесты, проверки) | 2024-09-11T16:47:40.337Z |
ValdikSS |
Если есть дополнения и улучшения — добавляйте, конечно. | 2024-09-12T05:31:04.516Z |
ValdikSS | Файл опять близится к переполнению. | 2024-09-18T10:31:35.963Z |
ValdikSS | 2024-09-18T10:31:44.383Z | |
Verity-Freedom | Тяжело… | 2024-09-18T16:19:42.615Z |
yatolkosprosit | Я не программист. Предлагаю взять список заблокированных доменов, да и выкинуть оттуда половину. Если есть статистика, наверняка активно используется 1% из этого списка. | 2024-09-18T17:36:10.064Z |
lylipvtoey | А если выкинуть всё, что не ресолвится, просрочено? | 2024-09-19T15:09:24.252Z |
VioletViscount(Violet Viscount) | Уже неоднократно и нересолв выкидывали, и от зеркал чистили, и откровенные непотребства удаляли; по-моему разве что именно не выкидывали намеренно сайты, которыми “типа никто ни пользуеца”, но так действительно делать не желательно. Все равно это паллиатив. Нужны именно мозги программистов чтобы решать эти проблемы. Простым юзверям тут особо делать нечего. | 2024-09-19T15:14:05.923Z |
fapane | Как на счёт упакованного trie или минимальных хешей для доменов с последующим Elias-Fano кодированием для идентифиаторов нод? | 2024-09-21T06:50:06.686Z |
Verity-Freedom | Я хочу отметить что Роскомнадзор будет существовать ещё какое-то время в любом случае. Если ориентироваться на заранее заданный запас прочности, он рано или поздно всё равно исчерпается. Как минимум ОЧЕНЬ старые браузеры стоит отбросить из уравнения. Задача по определению нерешаемая. Ещё год назад было сложно что-то новое придумать, сейчас тем более. А если и появится что-то новое, это даст год очередной, может два, от поддержки старых браузеров придётся всё равно отказываться, а у новых скорее всего и ограничения будут другие. | 2024-09-21T07:23:03.536Z |
Verity-Freedom | @ValdikSS подумайте, отказ от старых браузеров естественный процесс. Я предлагаю брать за новый ориентир флэш-хромиумы 87-й версии 2020 года - ими пользуются из-за любви к флэшплееру и там ещё была поддержка Windows xp. И то даже они уже очень многие сайты нормально не открывают. Тут же у вас по ссылке речь идёт ещё о 50-х версиях Файрфокса из 2017 года. Такой некрофилией занимаются очень, очень немногие. Ну и по файрфоксам логика примерно та же самая - вглубь сильно дальше чем на 5 лет не уходить. А вы пытаетесь держать живыми ещё интернет-эксплореры, не в обиду вам, это очень почётно, я ценю невероятно подобное уважение к своим пользователям. Должно быть именно это резервным вариантом на случай если сжать всё же не получится, а не произвольно выкидывать домёны, как тут предлагали Шариковы. | 2024-09-21T07:33:25.314Z |
zzr | нусуде по всему проблему решили если учитывать что последний раз обновлялось 15 августа | 2024-09-24T09:01:37.263Z |
bolshayasmetana | @ValdikSS, можно попробовать оформить как задачу с отфильтрованным от казино списком доменов для https://codegolf.stackexchange.com/ | 2024-10-04T12:44:55.777Z |
Karasique | Что вообще происходит с серверами Антизапрета? Читал что они заблокированы, но иногда они работают, а иногда нет. Можно каким-то образом защитить их от цензуры, к примеру использовать устойчивый протокол вроде shadowsocks или сделать обфускацию как с мостами в торе? | 2024-10-10T20:10:26.737Z |
Tyman | Как вариант, убирать повторяющиеся домены типа: 0-111.lordfilm0.biz заменяя их на | 2024-10-11T05:38:51.560Z |
Tyman | такую замену сделал в своем скрипте AntiZapret-VPN/setup/root/antizapret/parse.sh at main · GubernievS/AntiZapret-VPN · GitHub с обработкой исключений из nxdomain и заменой повторяющихся более 3х раз доменов на домены 2 уровня выходит 169 тысяч | 2024-10-11T21:14:40.990Z |
Tyman | в exclude-regexp-dist.awk можно добавить еще исключения:
| 2024-10-14T10:50:01.469Z |
Elle(Elle) | У меня до сих пор жив EEEPC 904 HD и на нём стоит Windows 7 и даже обновляется каждый месяц расширенными апдейтами. Похоронить ОС древнее 7 пора уже давно и везде. | 2024-10-18T17:54:23.327Z |
Viktor45(Viktor45) | Рассмотрите вариант использование списков скриптов-чистилок с re:filter | 2024-10-19T15:14:17.990Z |
Garykom(Garykom) | Как насчет формировать PAC-файл динамически под клиента? Отдельный обучающий PAC-файл, в котором вместо перечня всех заблокированных только используемые/посещаемые клиентом ресурсы с разделением на DIRECT/PROXY. Для всех пока не классифицированных ресурсов по умолчанию возвращает специальные обучающие PROXY. Подобный обучающий прокси может быть поднят самостоятельно. | 2024-10-20T01:32:42.994Z |
Garykom(Garykom) | Иной вариант это использование специального DNS-сервера и функции PAC-файла dnsResolve. | 2024-10-20T01:55:32.654Z |
0x0737 | @ValdikSS Рассматривали сжатый DAWG (Directed Acyclic Word Graph)? Возможно подойдёт что-то такое | 2024-10-23T12:38:09.418Z |
Garykom(Garykom) | @ValdikSS Практически даже не требуется в dns-сервера (клиента) прописывать этот специальный dns, через глобальную dns прекрасно работает. Фактически некая маскировка под dns-трафик получается, двустороннее общение (из PAC-файла) со своими серверами, посредством функции dnsResolve. | 2024-10-23T22:00:34.153Z |
Anonimno(Anonimno) |
В этот же список можно добавить:
| 2024-10-30T09:44:51.727Z |
Tyman | Спасибо, дополнил свой список | 2024-11-01T11:08:46.432Z |
ClovesZurt | Вариант с PAC файлом в принципе не работает. По ссылке https://p.thenewone.lol:8443/proxy.pac открывается заглушка “This content has been blocked. Please contact team@pinata.cloud for more information - ERR_ID:00023” | 2024-12-09T17:57:19.505Z |
Verity-Freedom | Ссылка была заблочена но при этом сам pac-файл работал (у тех у кого это две отдельные сущности). Сейчас и он сам не работает. Нужно победить эту проблему, а она сложная. | 2024-12-10T00:39:08.831Z |
Anonimno(Anonimno) | 2024-12-12T05:40:11.844Z | |
ValdikSS | PAC-файл уменьшен в размере путём проверки HTTP/HTTPS-работоспособности доменов, должен снова работать в Chrome-подобных браузерах при добавлении в настройки ОС. | 2025-02-06T19:48:10.989Z |
Dmitriy1 | А где взять рабочую ссылку на PAC-файл? | 2025-02-16T22:43:33.755Z |
Verity-Freedom | @ValdikSS @ilyaigpetrov Антицензорити придерживается лимитов на размер в 10 мегабайт и я используя его в ZeroOmega не замечаю каких-либо тяжёлых негативных эффектов. Можно спросить, почему лимит в 1 мегабайт так важен для Антизапрета и кого именно затронет практически НЕИЗБЕЖНЫЙ отход от лимита в 1 мегабайт? Допустим файл весит 3 мегабайта вместо 900 килобайт, какие негативные эффекты сразу ощутят конечные пользователи, в каких сценариях? | 2025-03-11T05:48:45.538Z |
ValdikSS | Все браузеры, основанные на Chromium (Chrome, Edge, Opera, Vivaldi, Brave), а также программы на CEF (Electron) не работают с PAC-файлами больше 1 МБ. И ладно бы если просто не работали, но если файл по PAC-ссылке больше 1 МБ, они воспринимают это как временную проблему и не кешируют ответ, постоянно отправляя всё новые и новые запросы на скачивание файла, устраивая DDoS. PAC-файл АнтиЗапрета >1МБ, вероятно, привёл к блокировке российских IP-адресов на IPFS-гейтвее pinata, а после переключения — к огромному количеству запросов на IPFS-гейтвей ipfs.io, что они были вынуждены сделать rate limit на 5 запросов в час с одного адреса — запросы PAC-файла просто съедали всю их пропускную способность.
PAC-файлы больше 1 МБ поддерживаются только в расширениях. Чем меньше доменов в файле, тем быстрее он обрабатывается. Каждый запрос проиходит через PAC-функцию, поэтому чем быстрее она работает, тем меньше замедляются сетевые функции браузера. | 2025-03-11T19:10:20.503Z |
ValdikSS | Проблема устранена, по крайней мере на время. Если у кого есть более продуктивные идеи — пишите личным сообщением. | 2025-03-11T19:25:05.510Z |
ValdikSS | 2025-03-11T19:25:10.933Z |