Надеюсь, сообществу хорошо известно средство, позволяющее получать доступ к недоступным сайтам. Это вариант Amnezia VPN, скрещенный с WireGuard. Работает, используя обфускацию.
Чтобы попробовать, требуется загрузить клиент, я использую Windows, например, с github и сгенерировать конфиг-файл.
Тут наиболее простой путь это страница Генерация конфигурации WARP
После сохранения файла я заинтересовался, откуда там берется адрес Endpoint и можно ли использовать другой.
Выяснилось, что есть множество инструментов для проверки подходящих комбинаций адрес:порт.
В частности, прекрасное средство, позволяющее подобрать оптимальный (наиболее быстрый) Endpoint для клиента, можно взять здесь
Нашлась масса адресов с минимальными задержками, и все они работают в AmneziaWG, достаточно только поменять адрес и порт в конфиге. Пробуйте.
Вторая вещь, сразу вызвавшая вопросы, это маршруты. По умолчанию, в туннель уходит всё (0.0.0.0/0) плюс собственные CF DNSы делают невозможной работу в корпоративной доменной сети.
С маршрутами все оказалось не так страшно, даже с учетом довольно ограниченных возможностей конфига WG, где можно создавать только AllowedIPs.
Здесь нашлась такая страница llimonix/warp-allowedips-list: Список IP адресов для WARP конфигов, где можно скопировать и добавить в заказной конфиг диапазон ip-адресов для доступа к конкретным ресурсам.
Можно использовать онлайн генератор AllowedIPs, позволяющий исключить определенные маршруты из AllowedIPs
В целом, вполне годная оказалась связка. Я проверял помимо Windows еще и на iOS, там все точно также, AmneziaWG пока в AppStore присутствует.
Единственный недостаток - под Windows AmneziaWG требует для запуска программы права администратора, там на лету создается туннельный сетевой адаптер, по которому и направляется трафик. Я поискал и обнаружил, что бывает вариант portable Wireguard. Вот бы такое же сделать для AmneziaWG
Обнаружилось интересное продолжение темы.
AmneziaWG умеет работать не только с серверами CloudFlare, но и с Proton VPN.
Да, Proton VPN использует WireGuard, а этот протокол блокируется DPI и ничего не работает.
Но не совсем. Тот же трюк с параметрами обфускации в конфиге позволяет преодолеть блокировку.
Достаточно, зайдя в свой аккаунт на proton.me (например, используя zapret или AmneziWG через CF) перейти в раздел Proton VPN и выбрать слева самый нижний пункт меню WireGuard.
Справа появится экран, где можно ввести название конфига, выбрать, для какого устройства он создается, а далее прокручивать экран вниз для выбора страны и конкретного сервера для подключения. В бесплатном тарифе доступны сервера в Японии, Нидерландах и США. Предлагается наименее загруженный, но можно выбрать любой из списка и нажать справа клавишу Create. Будет загружен conf-файл на компьютер. Его нужно слегка исправить, добавить в секцию Interface строчки с параметрами обфускации, например, такими:
S1 = 0
S2 = 0
Jc = 120
Jmin = 23
Jmax = 911
H1 = 1
H2 = 2
H3 = 3
H4 = 4
Сохраняем файл. Подгружаем его в клиент AmneziaWG и подключаем. Через несколько секунд получаем туннель в ту страну, сервер которой выбрали. Убеждаемся в этом, зайдя на сайт ip.me или аналогичный.
Вышеописанные вариации с разделением туннелей здесь точно также доступны.
Проверил на роутере - да, работает.
С протоном правда тоже работает, спасибо.
Получается в теории это тогда должно работать в принципе с любым конфигом wireguard, даже если он создан через тот же wg-easy.
У меня с Протоном работать переставало, после тщательных поисков и находок параметров обфускации выяснилось, что заработало с несколько модифицированными параметрами. На РТ Москва Протон начал работать при Jc=5, Jmin=50, Jmax=1000.
Для чистоты эксперимента стоит проверить, имеется ли в списке текущих протоновских серверов тот, для которого вы создавали конфиг, они там исчезают и появляются.
Правильно понимаю, что параметры S1, S2, H1, H2, H3, H4 надо оставить 0, 0, 1, 2, 3, 4 соответственно?
Я пробовал менять эти значения и подключения не устанавливались.
Инструкции от создателей AmneziaWG говорят, что их надо оставить такими, хотя документ на гитхабе (см. ссылку выше) рассказывает о том, какими они могут быть и какими не могут.
Еще обратите внимание, что бесплатный аккаунт на Протоне ограничен одним подключением, то есть с одним и тем же аккаунтом на телефоне и на компьютере подключиться одновременно не удастся
А как все таки эти маршруты работают? Я хочу чтобы у меня амнезия фильтровала только браузер и дискорд, не повышая пинг в играх и не делалая мне вылеты с сервака в REPO
Судя по тому, что Вы просите (браузер и дискорд), маршруты не слишком помогут.
Вам нужен пакетный фильтр, который умеет разделять трафик по приложениям. На Windows для этого отлично подходит Wiresock - программа понимает конфиги от AmneziaWG, включая параметры обфускации и позволяет выбирать, для каких приложений требуется работать через туннель. То есть помимо привычных Allowed IPs появляются и AllowedApps, причем есть и варианты Disallowed, см. документацию
AllowedIPs только для дискорда (ну почти, я сократил список и в него может входить не только дискорд)
AllowedIPs=34.0.48.0/20, 34.0.64.0/18, 34.0.128.0/17, 34.1.0.0/16, 35.207.64.0/18, 35.207.128.0/17, 35.212.0.0/14, 35.216.0.0/16, 35.217.0.0/18, 35.219.225.0/24, 35.219.226.0/23, 35.219.228.0/22, 35.219.232.0/21, 35.219.240.0/20, 66.22.192.0/18, 138.128.140.0/24, 162.159.128.233/32, 162.159.135.232/32, 162.159.136.232/32, 162.159.137.232/32, 162.159.138.232/32
а для ютуба такой список есть?
все розовые надо?
Ну да, это список всех IP Гугла (это и Ютуб тоже, т. к. Гугл сам себе CDN).
но в браузере файрфокс тоже пойдут же?
Освежим тему. Незаметно AmneziaWG обновилась до версии 1.0.2
К сожалению, нет четкого списка обновлений. Приходится обнаруживать их методом тыка и чтением раздела Issues с закрытыми темами на их GitHub.
Важное улучшение - возможность подключиться более чем к одному туннелю, что умеет WireGuard, но не умела AWG. Это позволяет создавать весьма навороченные конфигурации, направляя трафик по разным маршрутам и разным странам. Про туннели стоит сделать отдельную тему, чтобы объяснить подробно. Сейчас хочу только обратить ваше внимание на то, что сайт warp.llimonix.pw позволяет генерировать не только конфиги с направлением всего трафика в туннель, но и выборочно. Можно выбирать, какие именно ресурсы вы хотите посещать через туннель Warp, и будет создан конфиг-файл с правильными диапазонами ip-адресов в AllowedIps, параметры обфускации тоже скорректировали, установив их не слишком большими, чтобы не создавать слишком много мусора. Настоятельно рекомендую посетить сайт генерации конфигов.
Ну или можно зайти на iplist.opencck.org или beta.iplist.opencck.org (откуда автор и берёт значения) и самому составить нужные списки выбрав comma и cidr4. Ну или можно просто использовать НОРМАЛЬНЫЙ клиент с проксированием по доменам, а не долбиться в айпишники, которые:
- Могут меняться
- Их может быть очень много даже у одного сайта
- Их нужно искать каждый раз, когда вы захотите что-то новое добавить
Ничего они не корректировали, как были стандартными, так и остались.
а можно завернуть только весь IPv6 туда?
или 1.1.2 ?
На странице в Гитхабе указана версия 1.0.2. В AppStore с марта тоже версия 1.0.2
Да, можно завернуть только ipv6, достаточно указать в AllowedIPs только такие адреса.
Зимой генератор конфигов делал значения Jc, Jmin, Jmax значительно выше, чем сейчас