Клиент WireGuard, межсетевой экран и сетевой монитор на основе OpenSnitch + клиент DNS через HTTPS на основе pi-hole с черными списками.
Другими словами, Rethink DNS + Firewall имеет три основных режима: VPN, DNS и брандмауэр. Режим VPN (проксификатор) поддерживает несколько восходящих потоков WireGuard в конфигурации с разделенным туннелем. В режиме DNS весь DNS-трафик, генерируемый приложениями, направляется на любой выбранный пользователем преобразователь DNS-over-HTTPS или DNSCrypt. Режим брандмауэра позволяет пользователю запрещать доступ к Интернету всем приложениям на основе таких событий, как включение/выключение экрана, передний план приложения/фоновый режим приложения, безлимитное соединение/лимитное соединение; или на основе категорий, определенных в игровом магазине, таких как «Социальные сети», «Игры», «Утилиты», «Производительность»; или, кроме того, на основе определяемых пользователем списков запретов.
Rethink поддерживает пересылку соединений TCP и UDP через туннели SOCKS5, HTTP CONNECT и WireGuard. Сплит-туннелирование также помогает запускать несколько таких туннелей одновременно и позволяет пользователям направлять разные приложения по разным туннелям. Например, можно одновременно маршрутизировать Firefox через SOCKS5, подключающийся к Tor, Netflix через WireGuard, подключающийся через любого популярного провайдера VPN, а Telegram или WhatsApp одновременно через устойчивые к цензуре конечные точки HTTP CONNECT.
Брандмауэр на самом деле не заботится о соединениях как таковых, а о том, что создает эти соединения. Он отличается от традиционных межсетевых экранов, но соответствует Little Snitch, LuLu, Glasswire и другим.
В настоящее время сопоставление подключений для каждого приложения реализуется путем захвата соединений udp
и tcp
управляемых firestack
(написано на golang), и запроса ConnectivityService для владельца, API, доступного только на Android 10 или более поздней версии. procfs
( /proc/net/tcp
и /proc/net/udp
) считывается по требованию для отслеживания подключений каждого приложения, как это делают NetGuard или OpenSnitch, на Android 9 и более ранних версиях.
Сетевой монитор — это своего рода отчетная карта для каждого приложения о том, когда были установлены соединения, сколько их было сделано и куда. Отслеживание TCP оказалось настолько простым. Пакеты DNS сложнее отслеживать, поэтому на данный момент используется грубая эвристика, которая может не работать во всех случаях.
Почти весь код, связанный с сетью ( firestack
), включая разделенный туннель DNS через HTTPS, представляет собой хард-форк Jigsaw-Code/outline-go-tun2socks, написанный на golang. Пользовательский интерфейс сильно отличается, но минимально заимствован из Jigsaw-Code/Intra. Разделенный туннель перехватывает запросы, отправленные на конечную точку DNS VPN, и передает их на конечную точку DNS-over-HTTPS/DNSCrypt по выбору пользователя, регистрируя сквозную задержку, время запроса, сам запрос DNS-запроса и его отвечать.
DNS через HTTPS-преобразователь для блокировки вредоносных программ и рекламы по адресу https://sky.rethinkdns.com/1:IAAgAA==
(развернут в более чем 300 местах по всему миру с помощью Cloudflare Workers) является конечной точкой DNS по умолчанию в приложении, хотя пользователь может это изменить. Настраиваемый преобразователь DNS, который позволяет пользователям добавлять или удалять списки запрещенных и разрешенных, добавлять перезаписи, анализировать DNS-запросы, будет запущен в конце 2023 года. Прямо сейчас бесплатную конечную точку DNS через HTTPS с настраиваемыми черными списками можно настроить здесь: rethinkdns.com/ настроить.
Резолвер развертывается на Fly.io по адресу max.rethinkdns.com
и Deno Deploy на rdns.deno.dev
, помимо развертывания по умолчанию на Cloudflare Workers.
Резолвер представляет собой программное обеспечение с открытым исходным кодом: serverless-dns.
Маршрутизация TCP-соединений через бессерверный прокси-сервер (размещенный на Cloudflare Workers) скоро станет частью Rethink. Пользователи смогут размещать их самостоятельно или использовать те, которые мы обслуживаем, за 1 месяц неограниченной пропускной способности. Ожидается, что эта услуга будет запущена в конце 2023 года.
Прокси — это программное обеспечение с открытым исходным кодом: serverless-proxy.
Помогите перевести Rethink DNS + Firewall на Weblate:
Rethink не является инструментом анонимности: он помогает пользователям бороться с непрекращающейся цензурой и слежкой, но не претендует на постоянную защиту личности пользователя, если вообще когда-либо.
Rethink не претендует на роль традиционного межсетевого экрана с богатым набором функций: он больше соответствует Little Snitch, чем, скажем, IP-таблицам.
Rethink не является антивирусом: Rethink может защитить пользователей от фишинговых атак, вредоносных программ и веб-сайтов с пугающими программами через свои черные списки на основе DNS, но в противном случае он не активно снижает угрозы и даже не ищет их и не действует в соответствии с ними.
Превратить устройства Android в пользовательских агентов: то, чем пользователи могут управлять по своему усмотрению, не требуя root-доступа. Большая часть этого для постоянно включенных и всегда подключенных устройств — это захват сетевого трафика и отчет о нем таким образом, чтобы это имело смысл для конечных пользователей, которые затем могли предпринять ряд действий, чтобы ограничить его воздействие, но это не обязательно. устранить это. Возьмем, к примеру, DNS — для большинства, если не для всех, подключений приложения сначала отправляют DNS-запрос, и, отслеживая только их, можно получить много информации о том, что происходит с телефоном и какое приложение за это отвечает.
Чтобы обеспечить обещание открытого Интернета для всех: с неизбежной стандартизацией ESNI и неизбежным внедрением DNS через HTTPS и DNS через TLS во всех операционных системах мы намного ближе к открытому Интернету. Конечно, Deep Packet Inspection остается серьезной угрозой, которую невозможно смягчить с помощью этого, но это один из примеров достижения максимального эффекта (обход интернет-цензуры в большинстве стран) с минимальными усилиями (не требующими использования VPN или доступа через IPFS). , например). Rethink продолжит делать эти технологии доступными самым простым способом, особенно те, которые достигают 90% успеха при 10% усилий.
Мы еще не достигли этой цели и, возможно, никогда не достигнем ее, но это некоторые принципы проекта на обозримое будущее.
Интернет-цензура (иногда со стороны интернет-провайдеров, а часто со стороны правительства), неослабевающая слежка (со стороны практически каждой компании и приложения) побудили нас на этот путь. Трое из нас, однокурсников по университету, Мохаммед, Муртаза и Сантош, собрались вместе в конце 2019 года в сонном городке Коимбатур, Индия, чтобы что-то с этим сделать. Наша главная претензия заключалась в том, что существовало множество замечательных инструментов, которыми люди могли пользоваться, но не могли — либо из-за стоимости, либо из-за неспособности разобраться в компьютерном жаргоне. Многое произошло с тех пор, как мы начали, и многое изменилось, но наше внимание всегда было сосредоточено на Android и его 2 миллиардах ничего не подозревающих пользователей. Нынешняя идея находится в разработке с мая 2020 года, пандемия немного подорвала прогресс и произошла небольшая неразбериха с отказом от нашей предыдущей версии в пользу текущей вилки, которой мы пока не гордимся, но она это начало. Теперь все хорошо, когда мы выиграли грант от программы Mozilla Builders MVP, чтобы продолжить работу и создать то, что мы хотели... сделать это быстрее... а не просто спать во время выполнения. Я надеюсь, что вы взволнованы, но не так сильно, как мы, тем, что ради этого бросили работу, как это сделали мы.