Ник | Пост | Дата |
---|---|---|
AmneziaVPN | Всем привет! Во время недавних блокировок OpenVPN и WireGuard команда Amnezia VPN задумалась над созданием собственного протокола, который сможет помочь пользователям обходить блокировки при этом сильно не снижая скорость (так как OpenVPN over Cloak, который мы рекомендовали к установке - скоростью не радовал по понятным причинам). Представляем вам нашу реализацию протокола WireGuard - AmneziaWG. AmneziaWG (AmneziaWireGuard) - это форк обычного WireGuard-Go с добавлением функций для обхода блокировок и снижения вероятности обнаружения протокола. Одной из ключевых особенностей AmneziaWG является обратная совместимость с WireGuard. Это означает, что при использовании AmneziaWG, если в конфигурации не указаны специфические параметры для обфускации протокола, он будет работать как стандартный WireGuard. В чем особенность?
Ещё раз подробно о новых настраиваемых полях:
Как вы можете догадаться, заголовки H1, H2, H3, H4 должны быть разными. Если выставить Jc, S1 и S2 в нули, то и мусора не будет. Протестировать данный протокол можно 2-мя способами:
Просим всех, кому интересно, протестировать данный протокол! Любые отзывы по работающему/не работающему протоколу и производительности приветствуются! Вопросы тоже. EnglishHello everyone! During the recent blocking of OpenVPN and WireGuard the Amnezia VPN team thought about creating their own protocol, which could help users to bypass the blocking without slowing down the speed (since OpenVPN over Cloak, which we recommended to install, was not very fast for obvious reasons). Here is our implementation of the WireGuard protocol - AmneziaWG. AmneziaWG (AmneziaWireGuard) is a fork of the WireGuard-Go with added features to bypass blocking and reduce the probability of protocol detection. One of the key features of AmneziaWG is backward compatibility with WireGuard. This means that when using AmneziaWG, unless specific parameters for protocol obfuscation are specified in the configuration, it will work like standard WireGuard. What is the feature?
More details about new customizable fields:
As you can guess, the H1, H2, H3, H4 headers must be different. If you set Jc, S1 and S2 to zero, there will be no garbage. There are 2 ways to test this protocol:
We ask everyone who is interested to test this protocol! Any feedback on working/not working protocol and performance is welcome! Questions too. | 2023-10-24T14:40:34.381Z |
bolvan | Linux kernel module ожидается ? Кощунство гонять tun на роутерах с openwrt и VPS | 2023-10-24T16:00:21.309Z |
AmneziaVPN | Планируем. | 2023-10-24T17:03:11.829Z |
spirt(andy) | Будет поддержка других дистрибутивов, кроме ubuntu и debian ? На арч не устанавливается, internal error. | 2023-10-24T23:26:16.149Z |
Geracl(blacktemple support) | Что значит обратная совместимость WG, получается для вашей серверной части нужен свой клиент? или клиент WG дефолтный подойдет | 2023-10-25T05:05:15.827Z |
bolvan | Полагаю, что обратная совместимость достигается только в случае полного отключения всех дурилок DPI, что превращает софт в оригинальный WG. В таком виде его использование лишено смысла. | 2023-10-25T06:13:17.752Z |
AmneziaVPN | Спасибо огромное за репорт. | 2023-10-25T11:45:41.856Z |
AmneziaVPN | С обычным WG сервером может работать конфигурация AmneziaWG в которой установлены Jc, Jmin, Jmax, а остальные поля нулевые. Таким образом клиент AWG будет просто посылать мусорные пакеты перед init пакетами, что абсолютно не влияет на работу протокола WG, но может сбить с толку DPI. | 2023-10-25T11:47:00.180Z |
soloway(Solo Way) | Какие молодцы. Очень правильное направление. Часто обсуждаемые сейчас обертки туннелей на основе TLS (Cloak и тп) в настоящий момент сильно избыточны и неизбежно ведут к драматичному снижению скорости, огромным задержкам из-за чего пользоваться ими невыносимо. Огромная благодарность за мобильные клиенты. | 2023-10-25T12:20:31.588Z |
soloway(Solo Way) | Это слегка модифицированный wireguard-go. Легко скомпилировать самостоятельно и закинуть один файл в /usr/bin В первом посте пропущен важный момент. Для того чтобы использовать в конфигах дополнительные параметры так же потребуется собрать модифицированную утилиту wg. | 2023-10-25T12:30:14.945Z |
tlgrmku(tlgrmku) | Эт конечно всё хорошо. Но как быть с мобильными клиентами? | 2023-10-25T16:19:11.479Z |
AmneziaVPN | Новая версия Amnezia VPN (4.0.8), которая как раз и поддерживает новый протокол, доступна для всех платформ - Windows, MacOS, iOS, Android и Linux (в PlayMarket его еще нет, так как он проходит review от Google, поэтому вы можете установить apk с GitHub). | 2023-10-25T16:41:46.936Z |
anon94384997 |
Попробовал, установщик ставится в /usr/local/bin, /opt/AmneziaVPN, /usr/share/applications, служба systemd AmneziaVPN, без деинсталлятора. deb пакет был бы предпочтительней. | 2023-10-25T17:27:58.001Z |
borouhin(Alexander Borouhin) | А можно какими-то плюс-минус рекомендованными параметрами всех этих Jc, S и H поделиться? Сейчас собрал на двух машинках с Ubuntu (сюрприз, для сборки требует Go 1.20+, в Ubuntu 22.04 - 1.18, пришлось ещё Go ставить с офсайта свежайший), в конфиги накидал значений от балды, запустил, погонял iperf - падение скорости в пределах погрешности измерения. Но это просто тестовый сервер, который первый под руку попался, и мой ноут, между ними и так всего 30-35 Мбит/с (latency ~80 ms). Буду пробовать на более толстом канале. Вообще, если это будет стабильно работать и при не блокироваться - это спасение, конечно. У меня по WG сейчас не только пользователи инсту смотрят, но сервера между собой данные перекидывают, иногда терабайтами за раз, так что скорость канала критична. P.S. Ну что могу сказать, впечатлён! На скоростях поприличнее (550-600 Мбит/с без VPN, latency между серверами 40 ms) падение скорости в пределах 5% (ну т.е. опять погрешности измерения), использование CPU по время запуска iperf в пределах единиц процентов (и это на древнем Xeon E5645). | 2023-10-25T20:57:00.652Z |
spirt(andy) | Собрал , установил amnezia-wg, amnezia-wg-tools. Добавил к конфиг интерфейса Jc = 10, интерфейс не поднимается, ругается на неверный параметр. Может как-то поподробнее расскажете , как установить корректно из гитхаба ? | 2023-10-26T02:12:02.585Z |
Geracl(blacktemple support) | будет ли клиент чистый без установщика? даже в новой бета версии он очень тяжелый для обычного юзера. Какая нибудь lite версия как outline ждущая конфига или ключа | 2023-10-26T03:08:47.027Z |
soloway(Solo Way) | 2023-10-26T05:36:42.196Z | |
spirt(andy) | спасибо, добрый человек ! | 2023-10-26T06:24:28.324Z |
borouhin(Alexander Borouhin) | К ссылке, которую выше скинули, добавлю, что адрес собственно интерфейса, который обычный WG берёт из конфига (Interface → Address), тут надо добавлять через ip address add X.X.X.X/XX dev wgX, и у меня после всего этого потребовалось ещё пнуть ip link set dev wgX up, чтобы запустился. Ну а я пошёл собирать под Alpine на arm32, чтобы запихнуть на Микротик | 2023-10-26T09:48:09.094Z |
AmneziaVPN | Предполагаем что при текущих условиях Jc лучше брать в интервале [3,10], Jmin = 100, Jmax = 1000, S1,S2 в [50,500], и рандомные H1-H4 < uint_max | 2023-10-26T12:06:41.950Z |
0ka(0ka) |
в официальном WG все именно так, и на офф сайте в гайде по настройке это есть | 2023-10-26T19:00:42.475Z |
borouhin(Alexander Borouhin) | С официальным в большинстве случаев используется и в большинстве гайдов описан wg-quick, который берёт адрес (и ещё несколько параметров, перечисленных в его мане, неизвестных wg) из конфига. Для тех, кто не пользовался чистым wg - тот момент, что wg setconf ругается на тот самый конфиг, который wg-quick принимал на ура, может быть неочевиден, как и показал пост @spirt выше. Поэтому и пояснил. | 2023-10-26T19:11:34.758Z |
spirt(andy) | Завелся на арче , скорость на первый взгляд как на родном вайргуарде. Только почему-то виндовс клиент(амнезия) не работает. Wireshark вообще не показывает пакетов в строну сервера во время подключения. Проверял на вин10 и вин11. На андроиде всё ок. | 2023-10-26T23:38:42.898Z |
borouhin(Alexander Borouhin) | Завёлся на Mikrotik RB3011 (arm32, в контейнере на базе Alpine). Где-то я только накосячил с кросс-компиляцией wg, не запускается, но обошёлся без него, берём nc и пишем настройки в сокет, от wg не сильно много облегчения в этом вопросе. Можно сделать контейнер, которые все настройки будет брать из переменных окружения, настроенных в Микротике (и сделаю). Производительность разочаровала. 2 ядра по 1,4 ГГц, при трафике всего 30 Мбит/с загрузка CPU 75-85%. С родым Wireguard микротика держится в пределах 30%. Сейчас с того роутера, на котором поднял для теста amnezia-wg, больше скорость и без VPN не получается, следующий раз попробую на более шустром канале, но что-то мне подсказывает, что в потолок по CPU упрусь очень скоро P.S. Кто ещё будет заморачиваться с применением wireguard-go в чистом виде без wg - чтобы получить из ключа, который генерит wg и который в обычном конфиге для wg-quick указывается, ключ, который можно напрямую скормить в сокет с командой set, надо исполнить следующее: “echo your_key_from_wg_conf | base64 -d | xxd -p -c 256” Может, это я один такой недогадливый, но я на этот момент час потратил, пока исходники wg не почитал. А ведь должен мне был знак “=” в конце ключа сразу намекнуть, что это base64, и прежде чем его кодировать в hex, надо его раскодировать… | 2023-10-27T01:50:26.764Z |
spirt(andy) | вы не разбирались с wg-quick? у меня собранный из гитхаба amnezia-wg-tools почему-то всё равно ругается на неверный параметр. без него очень грустно ) | 2023-10-27T04:39:14.480Z |
borouhin(Alexander Borouhin) | Нет, я решил обойтись одним wireguard-go. По ходу, я даже wg под какую-то не ту разновидность arm32 собрал, а с учётом моего сценария использования (все параметры надо брать из переменных окружения, а не из файла) никакого смысла в wg особого нет, чем десять раз вызывать wg set, проще echo -e “set=1\n\private_key=…\n…\n\n” | nc local:/var/run/wireguard/wgXX.sock" вызвать один раз и ip два раза. Ну а если wg есть - то wg-quick заменяется ровно на три команды - wg setconf, ip address add и ip link set. Ну ещё если у Вас там в PostUp что-то было - то вызвать его вручную. Особых проблем не вижу. | 2023-10-27T09:11:52.535Z |
invu(invu) | @spirt, берешь свой conf, комментируешь строку с Address, ниже добавляешь нужные параметры: после: PS: У меня wireguard-wg (amnezia-wg) собранная статически занимает меньше места: | 2023-10-27T09:41:29.542Z |
spirt(andy) | Спасибо всем за развернутые ответы. С сервером разобрались более менее ) теперь возникает проблема на линукс-клиенте c дефолтным маршрутом. клиент-сервер друг друга пингуют, но стоит добавить на клиенте ip r add 0.0.0.0/0 metric 1 dev wg0 , всё глохнет. что не так опять ?) разобрался ждём модуль ядра ) и amnezia-wg-quick ) я конечно понимаю unix-way , все дела, но удобно же ) | 2023-10-27T22:45:20.380Z |
spirt(andy) | win клиент амнезия не работает. трафика нет с него вообще. проверили на много всяких разных виндовс. | 2023-10-28T04:23:52.228Z |
soloway(Solo Way) | Пару слов о том, как сделать конфиг для мобильного приложения AmneziaVPN:
Для работы скрипта требуется PyQt6. Если необходимо установить: | 2023-10-28T20:58:10.890Z |
stupidityIsntCrime | чтобы пынять работает или нет нужно дождаться очередной волны тестирования блокировки протоколов, там видно буит | 2023-10-29T06:18:32.175Z |
AmneziaVPN | Что вы имеете в виду? У вас не подключается приложение или в чем заключается ошибка? | 2023-10-30T12:20:29.409Z |
Praising7137 | Понимаю что проблема не самая важная, но стало интересно. Попробовал выложенным выше скриптом сгенерировать конфиг для своего обычного WG сервера (по вашей рекомендации выставлены Jc, Jmin, Jmax, остальные поля нулевые). Мобильное приложение его приняло и позволило подключаться, никаких проблем. Десктопная версия конфиг тоже приняла, но подключаться отказывается- кнопка просто не реагирует на нажатия. Видимо, в десктопе как-то подругому проверяется конфиг? | 2023-10-30T15:50:00.401Z |
spirt(andy) | да, не подключается. Просто бесконечно крутит - “подключение” . wireshark не показывает пакетов в сторону сервера | 2023-10-30T21:38:34.853Z |
mexxtron(mexxtron) | Интересно, для Entware (Keenetic) реализация этого протокола планируется? Обычный WG на новых arm-кинетиках просто спасение по скорости и удобству… | 2023-10-31T06:01:53.014Z |
bolvan | Это tun-based софт. Если есть шелл, entware и tun, будет работать.
В интерфейс вряд ли проведут. Все-таки что-такое кинетик производитель и что такое этот проект | 2023-10-31T06:44:48.314Z |
soloway(Solo Way) | Обновил шаблон. Похоже параметр PresharedKey обязателен для десктопной версии. | 2023-10-31T06:50:29.973Z |
mexxtron(mexxtron) | Да в веб-интерфейсе и не надо, если есть OPKG | 2023-10-31T07:02:54.944Z |
AmneziaVPN | Отписали вам в ЛС. | 2023-10-31T09:26:31.609Z |
RangerRU | Здравствуйте | 2023-10-31T12:41:05.643Z |
soloway(Solo Way) | Вполне можно обойтись и без сверхмощного роутера дополнив тот, что есть. Если у провайдера нет ipv6 нет или он не нужен, а на полке пылится не нашедший применения Raspberry PI или даже старенький PC с сетевым портом, то сравнительно легко можно настроить вторую подсеть работающую на тех же проводах с доступом и интернет через VPN. Например роутер смотрит в сторону домашней сети с 192.168.1.1/24. Тогда сетевому порту PI назначим сразу два постоянных адреса: 192.168.1.2/24 и 192.168.2.1/24. Настроим маскарадинг и VPN и с теперь любого устройства можно будет ходить как обычно по локальной сети, так и в интернет через VPN вручную поменяв настройки IP с авто на любой незанятый адрес в подсети 192.168.2.0/24 и шлюзом 192.168.2.1. Звучит как что-то сложное, но это довольно легко организовать в моем любимом systemd-networkd
Можно пойти дальше и отключить DHCP-сервер на роутере после чего поднять такой сервер на PI (это еще несколько строк в том же файле настроек). Получится наоборот - подключенные устройства будут автоматически получать интернет через VPN. | 2023-10-31T14:31:22.750Z |
yury-sannikov(Yuriy Sannikov) | Всем привет! | 2023-11-05T20:33:10.835Z |
Dhohbr | Заменил 3 версию на 4, предварительно удалив все настройки и пакеты. По интерфейсу есть замечания: | 2023-11-06T03:04:30.530Z |
User_96c9e3c964bf | На данный момент у меня блокируется wg на домашнем и мобильном интернете. Попробовал ваш wireguard, все без проблем завелось и подключается. Еще бы это внедрить в официальный клиент от wireguard вообще цены бы небыло. Но я так понимаю что это врядли когда произойдет. Спасибо большое команде Amnezia за ваши труды! | 2024-01-18T16:00:56.794Z |
Aructeb | Подскажите куда копать. Хочу настроить руками. Создал интерфейс Установил amneziawg-tools. Пытаюсь настроить, но выдает ошибку:
| 2024-01-26T10:28:48.838Z |
borouhin(Alexander Borouhin) | Не сам сталкивался, но буквально вчера мне писал человек с такой же проблемой. Замена wg на более раннюю версию помогла, это какой-то баг в amneziawg-tools v1.0.20240120 (может быть и нескольких более ранних, в моём случае помог откат на октябрьскую версию, которая у меня была в собранном виде, промежуточные не пробовали). | 2024-01-26T10:52:28.296Z |
invu(invu) | У вас точно wg от amnezia? Сейчас собрал с github, всё прошло нормально( только сеть не тестил, времени нет). Вот моя версия wg (130,4 КБ) | 2024-01-26T14:47:14.961Z |
Aructeb | У меня немного другой размер файла, все собралось без ошибок отсюда GitHub - amnezia-vpn/amneziawg-tools: Tools for configuring Amnezia-WG. | 2024-01-26T15:52:35.144Z |
Aructeb | Писать напрямую в сокет пробовал, ошибку -22 выдает, не понял что это значит. Я тут сейчас посмотрел в релизе v1.0.20240120 код из другого бранча, собрал, попробовал, другую ошибку выдает. В общем если у кого то получилось завести, то буду благодарен, если поделитесь, что конкретно и в какой последовательности делали. | 2024-01-26T16:36:04.697Z |
borouhin(Alexander Borouhin) |
Это ошибка синтаксиса. Два неочевидных момента при записи в сокет:
У меня вместо wg setconf примерно такой скрипт (его формирует ansible, т.к. туннелей и пиров много, но для примера):
Ну и systemd unit, который этот скрипт (в данном примере /usr/local/bin/wg_conf13) вызывает (засунуть всё в файл юнита не получается, т.к. там нет поддержки ни heredoc, ни даже pipe):
P.S. В последних билдах amnezia-wg путь к сокету изменился - теперь не /var/run/wireguard/wgXX.sock, а /var/run/amneziawg/wgXX.sock. Поправил скрипт выше. | 2024-01-26T17:34:22.766Z |
synclpz(Victor) | Добрые люди (Telegram: Contact @romikb) в чате в телеге сделали билд wireguard для винды с поддержкой amneziawg, GitHub - RomikB/amneziawg-client-windows: Download WireGuard for Windows at https://www.wireguard.com/install . This repo is a mirror only. Official repository is at https://git.zx2c4.com/wireguard-windows У меня собралось за 5 минут и запахало | 2024-04-21T21:39:38.623Z |
0ka(0ka) | не понимаю почему после всей работы заливку релиза пропускают, и разрабы амнезии, и добрые люди выше. Мне лично было сложно с этим протоколом: пакет для установки модуля и утилит на сервер зарыт на гитхабе без упоминаний в теме, хз каким чудом я его нашел, после установки вижу что man без изменений от оригинала, а команда awg-quick выдаёт мне неверный путь
конфиги на самом деле в /etc/amnezia/amneziawg/INTERFACE.conf инфы про параметры S1,S1,Jc,… почему-то нет нигде кроме этой темы официальный GUI клиент не позволяет вручную добавить конфиг (спасибо soloway выше что смог расшифровать строку vpn://, но добавление конфига таким способом это боль) идея супер, работает тоже супер, но реализация просто нет слов, без генератора конфигов от soloway я бы даже не стал пробовать | 2024-04-21T22:08:07.168Z |
0ka(0ka) | на андроид и apple платформы вышло нормальное приложение wireguard, клон оригинала с функциями amneziawg, найдёте в гугл плей и аппстор | 2024-05-26T06:26:13.522Z |
0ka(0ka) | на винде на официальном клиенте и на amneziawg-client-windows вижу потерю исходящих пакетов если передавать быстрее чем 22мбит\сек, на андроид клиенте при этом всё норм iperf3 -c 10.11.1.1 -u -b 22000000
iperf3 -c 10.11.1.1 -u -b 50000000
проверял на win 10 22h2 на реальном железе и ltsc 21h2 в virtualbox, работает одинаково | 2024-05-26T07:04:59.435Z |
Waffenrock | Это вы про приложение от AmneziaWG v.1.1.1? Так его давно уж зарелизили вроде, нет? | 2024-08-04T19:56:57.536Z |
rem |
Да как бы уже давно есть готовенькое: Сегодня перешёл с OpenVPN на AWG | 2024-08-10T14:25:15.100Z |
bropines(Sergey Pinus) | Я новичек в теме. У меня вопрос к разрабам амнезии. А возможно сделать плагины для nekobox? Типо мне удобнее пользоваться прокси сервером локально в телефоне, из-за включённого адгарда на впн. Или можно добавить поддержку запуска как прокси сервера? Было бы очень удобно. | 2024-08-22T23:44:38.280Z |
ani917(ani) | спасибо за хорошую программу, но для warp она не помогает add. | 2024-08-23T20:07:56.251Z |
as9sefrv9jm2(as9sefrv9jm2) | Добрался посмотреть AmneziaVPN клиент. Подключился из него к антизапретовскому впн, и выяснилось, что клиент принудительно всё пихает в тоннель, полностью игнорируя настройки антизапрета. | 2024-08-24T14:23:22.040Z |
gfqwdgecewgcdw | Какие настройки? | 2024-08-25T06:07:16.957Z |
ani917(ani) | они одноразовые и соединение отваливается, я сейчас пользуюсь другой программой
| 2024-08-25T07:13:34.581Z |
0ka(0ka) | Вы же прочитали 1 пост? H параметры изменяют заголовки пакетов, т.е. совместимость с wireguard теряется | 2024-08-25T07:20:28.554Z |
ani917(ani) | читал | 2024-08-25T07:23:24.873Z |
0ka(0ka) | warp это wireguard, соотвественно вам нужна совместимость с wireguard… | 2024-08-25T07:29:52.529Z |
zzr | вот чесн я думал что ета вся амнезия ет прост очередные “бомбилы”, которые прост решили понтзаработать на хомячках которые не в теме, но оказалось реальная тема ето всё - у меня на мелком провайдере который понтключается к ттк (они лютые ваще в плане блокировок) задушили класический виригуард, а ваш софт реально работает СПАСИБО вам за ваш труд!!1 | 2024-08-26T08:46:17.020Z |
zzr | кстати говоря уже не нужно ничего собирать из исходников и страдать, они выкатили репонизиторий где можн из бинарников всё воткнуть инепарица GitHub - amnezia-vpn/amneziawg-linux-kernel-module: AmneziaWG Linux kernel module | 2024-08-26T08:50:31.352Z |
klim123123(Klim123123) |
подскажи пожалуйста как эти пользоваться в OpenWRT?
на странице /cgi-bin/luci/admin/system/opkg пытался добавить этот урл не работает. | 2024-08-28T20:17:09.929Z |
norookie(Norookie) | А как-то можно это завести с конфигом от впн провайдера? или не заведется? | 2024-08-28T21:06:22.394Z |
klim123123(Klim123123) | нашел амнезию под openwrt для всех возможных систем | 2024-08-28T21:16:11.909Z |