Sorcus
Sorcus. A New Beginning.
- Регистрация
- 10 Июл 2011
- Сообщения
- 513
- Реакции
- 1.002
- Автор темы
- #1
Выкладываю скрипт для конвертации hosts файла в файл для DNSCrypt (Для просмотра ссылки Войди или Зарегистрируйся).
Создаем файл convert.rb с содержимым из первого спойлера, рядом клядем файл extend.list содержащий доп. домены (например домены, которые не были в списке hosts), создаем файл exclude.list с доменами, которые мы хотим исключить (не будут добавлены в файл domains.list) и запускаем командой:
Для тех, у кого линукс, пример запуска dnscrypt со списком правил:
--resolver-name - можно взять Для просмотра ссылки Войдиили Зарегистрируйся, в колонке 'Name'.
--local-address - оставить как есть для IPv6, либо вписать '127.0.0.1:53' для IPv4
--domains - прописать путь к файлу с доменами.
P.S. DNSCrypt должен быть скомпилирован с плагинами, иначе не будет работать.
Ссылка, используемая в скрипте взята здесь > Для просмотра ссылки Войдиили Зарегистрируйся
Создаем файл convert.rb с содержимым из первого спойлера, рядом клядем файл extend.list содержащий доп. домены (например домены, которые не были в списке hosts), создаем файл exclude.list с доменами, которые мы хотим исключить (не будут добавлены в файл domains.list) и запускаем командой:
Код:
ruby ./convert.rb
Код:
require 'net/http'
domains_list = File.new('./domains.list', 'w')
extend_list = File.open('./extend.list', 'r')
exclude_list = File.open('./exclude.list', 'r')
string = Net::HTTP.get(URI('https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn-social/hosts'))
domains = Array.new
exclude_array = Array.new
# Добавляем найденные домены в массив domains
string.each_line do |line|
next unless line =~ /^0/
domains << line.gsub(/[\d|\.]{0,}\s([^\s]{0,})/, '\1')
end
# Добавляем домены из списка extend.list в массив domains
extend_list.to_a.each do |value|
domains << value.strip
end
# Убираем перенос строки
exclude_list.to_a.each do |value|
exclude_array << value.strip
end
# Удаляем из массива домены, указанные в exclude.list
domains = domains - exclude_array
# Записываем домены в файл
domains_list.write(domains.uniq.join("\n"))
Код:
c.luxup.ru
show.ctrmanager.com
*runetki.*
Для тех, у кого линукс, пример запуска dnscrypt со списком правил:
Код:
/bin/dnscrypt-proxy --resolver-name=dnscrypt.eu-dk-ipv6 --ephemeral-keys --local-address='[::1]:53' --plugin=libdcplugin_example_ldns_blocking.so,--domains=/etc/domains.list --daemo
--resolver-name - можно взять Для просмотра ссылки Войди
--local-address - оставить как есть для IPv6, либо вписать '127.0.0.1:53' для IPv4
--domains - прописать путь к файлу с доменами.
P.S. DNSCrypt должен быть скомпилирован с плагинами, иначе не будет работать.
Ссылка, используемая в скрипте взята здесь > Для просмотра ссылки Войди
Последнее редактирование: