Open burjuyz opened 10 months ago
Можно использовать любые списки, главное привести их в такой вид, чтобы один домен был в одной строчке. Например:
domain1.ru
domain2.ru
domain3.ru
Этот список доменов необходимо сохранить в файл с названием "include-domain-adguard.lst" в любую папку, например "input". Затем запускаем утилиту:
generate-geoip-geosite -i ./input -o ./output
и в папке "output" вы получите всевозможные варианты (srs,json,geosite)
Это самый простой ручной вариант. Вам необходимо будет найти где публикуются домены РУ региона Adguard'а и вручную подготовить этот список.
Второй вариант, можно написать функцию, которая будет парсить списки, публикуемые Adguard'ом. Тогда, можно будет настроить Source-файл, где будет указана ссылка на список и тип контента, который как раз и будет указывать программе, что этот список нужно распарсить нашей новой функцией. Вот, по аналогии, source-файл, скачивающий и парсящий списки для антизапрета:
[
{
"url": "https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv",
"contentType": "CsvDumpAntizapret",
"category": "antizapret"
}
]
И вот как выглядит функция, которая парсит этот список. Данный вариант позволит нам в автоматическом режиме скачивать актуальные списки, парсить их в обычные списки и составлять актуальные Rule-set'ы и geosite'ы.
В целом, ранее я хотел попробовать парсить какие-нибудь списки популярных блокировщиков, (uBlock Origin, adBlock, Adguard). Но как то руки не дошли) Сейчас я посмотрел какие списки публикует uBlock и Adguard, пока не очень понятно что из этого стоит парсить. Если вы разберётесь и подскажете какие именно списки стоит брать у этих блокировщиков, я буду вам признателен и постараюсь написать функцию, которая будет парсить эти списки.
Мое мнение что достаточно было бы 2-3 списков основных 1- https://4pda.to/forum/index.php?showtopic=275091&st=8000#Spoil-89665467-4 - здесь автор парсит сразу с нескольких источников, хоорошее решение. 2 - https://raw.githubusercontent.com/im-sm/Pi-hole-Torrent-Blocklist/main/all-torrent-websites.txt - для тех кто хочет блочить торренты.
Был бы вам очень признателен если сделаете автоматизацию и публикацию готовых списков чтоб их можно было использовать в синг-боксе. Отдельное спасибо за подробное объяснение каким образом делать самостоятельно.
Релизнул версию 1.2.0, в которой добавил возможность парсить hosts файлы. Теперь можно парсить все файлы из комментария на 4pda, ссылку на который вы предоставили. В проекте добавил sourceAdAway.json
, где все есть все источники из комментария. Чтобы сгенерировать, достаточно ввести generate-geoip-geosite -s sourceAdAway.json -i ./adaway -o ./adaway
.
Со второй ссылкой всё очень просто, функционал парсинга данной ссылки уже есть. Пример Source файла может выглядеть следующим образом:
[
{
"url": "https://raw.githubusercontent.com/im-sm/Pi-hole-Torrent-Blocklist/main/all-torrent-websites.txt",
"contentType": "DefaultList",
"category": "torrent_websites"
}
]
Пожалуй тоже добавлю в проект и этот source файл :)
Насчёт публикации готовых списков, было желание создать отдельный репозиторий, где раз в день эти списки по указанным источникам будут генерироваться, и загружаться на github. Но пока руки не дошли до этого)
Добавил sourceTorrents.json. Пользоваться им также просто.
Великолепно, что вы реализовали все хотелки, пока столкнулся с мелкими косяками, не могу понять в чем дело. Можем связаться через почту burjuyz AT почта гугла.
INFO 2024/01/14 14:48:57 ==== READING SOURCE FILE ==== INFO 2024/01/14 14:48:57 sources file 'sourceAdAway.json' successfully read INFO 2024/01/14 14:48:57 sources file 'sourceAdAway.json' successfully deserialized INFO 2024/01/14 14:48:57 ==== DOWNLOADING ==== INFO 2024/01/14 14:48:57 downloading the file 'https://schakal.ru/hosts/hosts.txt'... INFO 2024/01/14 14:48:58 parsing the file... ERROR 2024/01/14 14:48:58 main.go:39: invalid data handler type: HostsFile
Ошибка "invalid data handler type: HostsFile" связана с тем, что программа не знает функцию которая как раз таки обрабатывает hosts файл. В связи с чем возник вопрос, вы точно обновились до v1.2.0? :D
вы точно обновились до v1.2.0? :D
Чукча не читатель чукча писатель -))
Можно ли каким-то образом использовать списки того-же Adguard чтоб создать ruleset с правилами блокировки рекламы, чтоб этот список был адаптирован под РУ регион? если да не могли бы вы пожалуйста расписать алгоритм как это создать самому...