Any Tech ARCHITECT modern obfuscation generator for you.
335
stars
178
commits
TypeScript
primary language
Sep 6, 2026
updated
Русский · English
Конфигурации обфускации — и объяснение каждого числа в них. Всё считается в браузере: ни ключи, ни конфиги никуда не отправляются.
Инструмент собирает конфигурацию обфускации и объясняет, из чего она состоит. Не «нажми и надейся», а чертёж: у каждого параметра написано, откуда взята его граница, какая сторона его читает и что будет, если стороны разойдутся.
Клиенты умеют генерировать эти параметры сами, и это нормально ровно до того момента, когда туннель не поднимается. Тогда выясняется, что кнопка не объяснила ни что она выбрала, ни что из этого обязано совпасть на сервере.
Движка два, и задача у них одна и та же с разных сторон.
| Что делает | Параметров | |
|---|---|---|
| AmneziaWG | Прячет тип трафика: junk-пакеты перед хендшейком, паддинг сообщений, подмена байта типа. Снаружи это QUIC, TLS или DNS, а не WireGuard. | 23 |
| XRay | REALITY поверх VLESS. Снаружи — настоящее рукопожатие чужого сайта с его же сертификатом; внутри — ваш туннель. | 74 |
[!IMPORTANT] Проект создан для исследовательских и образовательных целей и никогда не создавался для использования в России или странах СНГ. Применение инструментов обфускации трафика может нарушать законодательство вашей страны — ответственность за использование лежит на вас.
Обычный WireGuard слишком легко опознать: фиксированный байт типа сообщения и предсказуемые размеры пакетов (148 байт на handshake initiation, 92 на response) позволяют DPI определить протокол по первому же пакету и заблокировать его целиком.
AmneziaWG добавляет поверх той же криптографии слой обфускации. Architect подбирает его параметры так, чтобы они были корректными, совместимыми с вашим клиентом и не воссоздавали случайно тот самый отпечаток, от которого вы уходите.
Junk Jc/Jmin/Jmax | S1 S2 | S3 S4 | CPS I1–I5 | Заголовки H1–H4 | Блок 3.x | Флаги 3.1RandomTrailers / DisableCookies | |
|---|---|---|---|---|---|---|---|
| 1.0 | ✅ | ✅ | — | — | фиксированные | — | — |
| 1.5 | ✅ | ✅ | — | только клиент | фиксированные | — | — |
| 2.0 | ✅ | ✅ | ✅ | ✅ | диапазоны | — | — |
| 3.0 | ✅ | ✅ | ✅ | ✅ | диапазоны | ✅ | — |
| 3.1 | ✅ | ✅ | ✅ | ✅ | диапазоны | ✅ | ✅ |
Параметры выверены по исходникам amneziawg-go v3.0.1, ветки feat/awg3
и тегов v3.1.* репозиториев amneziawg-go и amneziawg-tools, а не по
документации — она на момент написания описывает 2.0.
| Параметр | Что делает |
|---|---|
HeaderProtectionKey | Общий 32-байтный ключ ChaCha20. Хендшейк и cookie шифруются целиком, транспортные пакеты — только 16-байтный заголовок. В .conf пишется в base64, как PrivateKey; в UAPI — в hex. |
ContentPaddingAddition | Случайный добавочный паддинг каждого транспортного пакета вместо выравнивания по 16 байт. |
RekeyAfterTimeRekeyTimeoutRejectAfterTimeKeepaliveTimeoutMaxHandshakeAttempts | Диапазоны вместо фиксированных констант WireGuard — ровный ритм хендшейков перестаёт быть отпечатком. |
RandomTrailers 3.1 | Случайный по длине хвост в конце каждого исходящего пакета. Согласования с другой стороной не требует. |
DisableCookies 3.1 | Устройство молчит вместо отправки Cookie Reply. Ломает keepalive за NAT под нагрузкой, поэтому в генераторе выключен по умолчанию. |
[!WARNING] При включённой защите заголовков S1–S4 не могут быть меньше 12. Nonce шифра нигде не передаётся — он берётся из первых 12 байт S-паддинга, и паддингу короче двенадцати байт нечего ему дать. Проверять это на практике не придётся: обе реализации отказываются принимать такой конфиг до подъёма интерфейса —
amneziawg-goвозвращаетS%d must be more then %d to use headerProtection, модуль ядра пишет ту же фразу в лог и возвращает-EINVAL. Интерфейс не поднимется, причина будет названа. Генератор поднимает S до 12 автоматически, а валидатор отклоняет конфиги, где это нарушено.
Теги <d>, <ds> и <dz> в v3.0.1 разбираются парсером, но не подключены к
отправке пакетов — это задел под AWG 4.0, поэтому генератор их не выдаёт.
Плюс 11 профилей мимикрии (QUIC Initial, QUIC 0-RTT, TLS 1.3, DTLS 1.3,
HTTP/3, SIP, DNS, Noise_IK и композитные) и матрица совместимости на 13
клиентов — у каждого свои потолки, и генератор их знает. Для выбравших
mihomo клиентом генератор рядом с .conf отдаёт прокси-блок в его
YAML-диалекте.
REALITY решает ту же задачу иначе: не маскирует трафик под чужой протокол, а берёт чужое рукопожатие целиком. Наблюдатель видит TLS-сессию с настоящим сайтом-донором и его настоящим сертификатом — потому что это и есть сертификат донора, полученный от него же.
Architect закрывает 74 параметра ядра Xray, разложенных по секциям:
| Секция | Что в ней |
|---|---|
| REALITY | dest, serverNames, ключевая пара x25519, shortIds, spiderX, ограничения версий и fallback-лимиты |
| Транспорт | XHTTP со всеми режимами, xmux, sockopt, TCP/WS/gRPC |
| FinalMask | Постобработка потока поверх выбранного транспорта |
| VLESS | flow, encryption, идентификаторы клиентов |
Каждый параметр помечен: сгенерирован — выбран за вас; задаётся — можно задать самому, и подсказка объяснит, из чего исходить; не покрыт — честно сказано, что до него ещё не дошли руки.
[!NOTE] Домен-донор и адрес вашего сервера — разные вещи, и в интерфейсе они лежат в разных местах. Донор — это чей сертификат вы показываете; сервер — куда на самом деле идёт соединение. Если
destуказывает на один сайт, аserverNamesназывает другой, наблюдатель увидит расхождение с одного пассивного взгляда: Architect на это ругается.
База доменов-доноров — больше 1100 записей с фильтром по регионам, где для каждого указано, что про него известно, а не выдуманный «статус».
Для хостинг-панелей есть отдельная выгрузка: их валидаторы знают только
доядровый словарь (tcp вместо raw), и кнопка «для панели» переименовывает
ровно эти два места — ядро принимает оба написания.
MergeKeysРедактор и объединение ключейvpn://. Обновляйте обфускацию
существующего ключа или собирайте контейнеры из нескольких ключей в один
мастер-ключ. Всё локально.
|
Packet SimulatorПоказывает, как выглядит старт сессии: CPS-цепочка, junk-train, хендшейк и данные. Работает для обоих движков — AmneziaWG и XRay, — учитывает версию и клиента: 1.0 и 1.5 рисуются без того, чего у них нет, а WireSock без цепочки, которую он не отправляет. |
FAQРазбор параметров, различий версий и типичных проблем. Поиск сразу по двум языкам, категории и прямые ссылки на конкретные ответы. |
VAIEXIAВеб-панель и бот для Telegram, Discord и Matrix: управление сервером или кластером откуда угодно. Скоро. |
Оба генератора умеют batch-генерацию в Web Worker, историю с экспортом в файл и проверку конфигов до передачи в клиент.
Заявлять и проверять — разные вещи, поэтому:
Так нашлись три ошибки, которые тесты пропустили бы: VLESS Encryption, предложенный для v25.8.29, где его нет; ML-DSA-65 как необязательный на v25.7.23, где он обязателен; и режим XHTTP, которого нет в v24.11.11.
Бэкенда нет — принимать данные попросту нечему. Ни аналитики, ни трекеров, ни
cookies, ни сторонних скриптов; шрифты отдаются со своего домена, а не из Google
Fonts. Вся случайность берётся из crypto.getRandomValues() с отбраковкой,
исключающей смещение по модулю — Math.random() в генераторах нет нигде.
Страницу можно сохранить через Ctrl+S и пользоваться офлайн.
Онлайн: architect.vai-rice.space
git clone https://github.com/Vadim-Khristenko/Any-Tech-ARCHITECT.git
cd Any-Tech-ARCHITECT
bun install
bun run dev
| Команда | Что делает |
|---|---|
bun run dev | Dev-сервер с HMR |
bun run build | Продакшн-сборка: заглушки для ботов, sitemap.xml, robots.txt |
bun run preview | Просмотр собранного проекта |
bun run test:run | Прогон тестов |
bun run typecheck | Проверка типов |
bun run og | Пересборка OG-изображений и превью для GitHub |
В релизных архивах лежит awg-serve — статический сервер на Rust без единой
зависимости, собранный под Linux, macOS и Windows. Ничего ставить не нужно:
bin/awg-serve-linux # Linux
bin/awg-serve-macos # macOS
bin\awg-serve-windows.exe # Windows
Порт по умолчанию 8080 (awg-serve 3000 — свой), --no-open не открывать
браузер. Исходник — в tools/awg-serve.
Скрипты scripts/serve.* остаются как альтернатива: они найдут bun, npx или
python, а --check покажет, что нашлось, ничего не запуская.
Если браузер недоступен — те же правила в виде обычного shell-скрипта, без зависимостей и без сети. Скрипт умеет только AmneziaWG; XRay пока живёт в браузере:
./scripts/awg-gen.sh -v 3.0 -p quic # один конфиг в stdout
./scripts/awg-gen.sh -v 3.0 -n 5 -d out/ # пять конфигов в каталог
./scripts/awg-gen.sh --help # все параметры
Конфигурация — половина дела; вторая половина — сервер, который её примет. Для
этого есть отдельный проект:
awg-containers-and-tools
— контейнеры AmneziaWG под все четыре версии протокола (1.0, 1.5, 2.0, 3.0) и
утилита awg-tool для развёртывания.
awg-tool gen --version 3.0 --profile quic --client amneziavpn
awg-tool install --host 203.0.113.9 --user root --key ~/.ssh/id_ed25519
Особенно он нужен для 3.0: официальный пайплайн настройки конфигурации этой
версии не разбирает, поэтому awg-tool обходит парсер .conf и говорит с
демоном напрямую через UAPI-сокет. Параметры рандомизируются на каждое
развёртывание — чтобы разные инстансы не выглядели для DPI одинаково.
Проект неофициальный и поддерживается сообществом, как и Architect.
Ссылка на GitHub в разделе про заблокированный GitHub — так себе помощь, поэтому вот зеркала на своём Forgejo. Ими можно делиться:
| Что | Зеркало |
|---|---|
| Architect (этот репозиторий) | git.vai-rice.space/vai_prog/Any-Tech-ARCHITECT |
| Установщик для сервера | git.vai-rice.space/vai_prog/awg-containers-and-tools |
| Приложения Amnezia | git.vai-rice.space/amnezia-vpn |
git clone https://git.vai-rice.space/vai_prog/Any-Tech-ARCHITECT.git
Первые два — зеркала моих репозиториев. Третье, с приложениями Amnezia, независимое, а не официальный сайт Amnezia: сверяйте контрольные суммы и подписи релизов перед установкой.
Пишите — это лучший способ починить то, о чём мы не знаем. Заводите
issue,
присоединяйтесь к обсуждению в чате, а вскоре и на git.vai-rice.space.
Если проблема в конкретном конфиге, приложите версию AmneziaWG или Xray, клиент и его версию, а также сами параметры — без приватных ключей. Этого почти всегда достаточно, чтобы воспроизвести.
Разбор кода со ссылкой на исходники upstream — самый полезный вид issue, какой тут бывает: так были найдены и исправлены три ошибки в правилах и в тексте, о которых иначе никто бы не узнал.
Как устроена разработка — в CONTRIBUTING.md.
Проект живёт на энтузиазме: ни рекламы, ни спонсоров, ни монетизации.
[!CAUTION] Проверяйте сеть перед отправкой: перевод в неверной сети означает безвозвратную потерю средств.
| Монета | Сеть | Адрес |
|---|---|---|
Bitcoin BTC | Bitcoin · Native SegWit | bc1qwvfpdhjuzelw8s9vxcfjj6fatnq3cltf0d48jy |
Ethereum ETH | Ethereum · ERC-20 | 0x277195Ff068756F09683FAB523b2cdDf8Ef35B44 |
Toncoin TON | The Open Network | UQBVdcwKqy8lx_2plsf2YPbcBJdYbPtnKbddmFWZntqiAEME |
Tether USDT | JETTON · TON | UQCaNScHxNbJsCi5Wc47rJqNpJPiDASUlMJ1nRwxq-hXSGoQ |
Tron TRX | Tron · TRC-20 | TC8dYqkDYQkuCKe7A6PWXUgDRB8Rr2Xd9f |
Solana SOL | Solana | 4i2uWx82jhgVorPQyM2y47X2YvRgCVNNWPfNmVrGcCaE |
Другие мои проекты — на vai-rice.space
Основано на идеях Special Junk Packet List от @VoidWaifu
MIT · Сделано для сообщества AmneziaVPN
178 commits
TypeScript
76.9%
Vue
16.0%
CSS
4.5%
Any Tech ARCHITECT modern obfuscation generator for you.
335
stars
178
commits
TypeScript
primary language
Sep 6, 2026
updated
Русский · English
Конфигурации обфускации — и объяснение каждого числа в них. Всё считается в браузере: ни ключи, ни конфиги никуда не отправляются.
Инструмент собирает конфигурацию обфускации и объясняет, из чего она состоит. Не «нажми и надейся», а чертёж: у каждого параметра написано, откуда взята его граница, какая сторона его читает и что будет, если стороны разойдутся.
Клиенты умеют генерировать эти параметры сами, и это нормально ровно до того момента, когда туннель не поднимается. Тогда выясняется, что кнопка не объяснила ни что она выбрала, ни что из этого обязано совпасть на сервере.
Движка два, и задача у них одна и та же с разных сторон.
| Что делает | Параметров | |
|---|---|---|
| AmneziaWG | Прячет тип трафика: junk-пакеты перед хендшейком, паддинг сообщений, подмена байта типа. Снаружи это QUIC, TLS или DNS, а не WireGuard. | 23 |
| XRay | REALITY поверх VLESS. Снаружи — настоящее рукопожатие чужого сайта с его же сертификатом; внутри — ваш туннель. | 74 |
[!IMPORTANT] Проект создан для исследовательских и образовательных целей и никогда не создавался для использования в России или странах СНГ. Применение инструментов обфускации трафика может нарушать законодательство вашей страны — ответственность за использование лежит на вас.
Обычный WireGuard слишком легко опознать: фиксированный байт типа сообщения и предсказуемые размеры пакетов (148 байт на handshake initiation, 92 на response) позволяют DPI определить протокол по первому же пакету и заблокировать его целиком.
AmneziaWG добавляет поверх той же криптографии слой обфускации. Architect подбирает его параметры так, чтобы они были корректными, совместимыми с вашим клиентом и не воссоздавали случайно тот самый отпечаток, от которого вы уходите.
Junk Jc/Jmin/Jmax | S1 S2 | S3 S4 | CPS I1–I5 | Заголовки H1–H4 | Блок 3.x | Флаги 3.1RandomTrailers / DisableCookies | |
|---|---|---|---|---|---|---|---|
| 1.0 | ✅ | ✅ | — | — | фиксированные | — | — |
| 1.5 | ✅ | ✅ | — | только клиент | фиксированные | — | — |
| 2.0 | ✅ | ✅ | ✅ | ✅ | диапазоны | — | — |
| 3.0 | ✅ | ✅ | ✅ | ✅ | диапазоны | ✅ | — |
| 3.1 | ✅ | ✅ | ✅ | ✅ | диапазоны | ✅ | ✅ |
Параметры выверены по исходникам amneziawg-go v3.0.1, ветки feat/awg3
и тегов v3.1.* репозиториев amneziawg-go и amneziawg-tools, а не по
документации — она на момент написания описывает 2.0.
| Параметр | Что делает |
|---|---|
HeaderProtectionKey | Общий 32-байтный ключ ChaCha20. Хендшейк и cookie шифруются целиком, транспортные пакеты — только 16-байтный заголовок. В .conf пишется в base64, как PrivateKey; в UAPI — в hex. |
ContentPaddingAddition | Случайный добавочный паддинг каждого транспортного пакета вместо выравнивания по 16 байт. |
RekeyAfterTimeRekeyTimeoutRejectAfterTimeKeepaliveTimeoutMaxHandshakeAttempts | Диапазоны вместо фиксированных констант WireGuard — ровный ритм хендшейков перестаёт быть отпечатком. |
RandomTrailers 3.1 | Случайный по длине хвост в конце каждого исходящего пакета. Согласования с другой стороной не требует. |
DisableCookies 3.1 | Устройство молчит вместо отправки Cookie Reply. Ломает keepalive за NAT под нагрузкой, поэтому в генераторе выключен по умолчанию. |
[!WARNING] При включённой защите заголовков S1–S4 не могут быть меньше 12. Nonce шифра нигде не передаётся — он берётся из первых 12 байт S-паддинга, и паддингу короче двенадцати байт нечего ему дать. Проверять это на практике не придётся: обе реализации отказываются принимать такой конфиг до подъёма интерфейса —
amneziawg-goвозвращаетS%d must be more then %d to use headerProtection, модуль ядра пишет ту же фразу в лог и возвращает-EINVAL. Интерфейс не поднимется, причина будет названа. Генератор поднимает S до 12 автоматически, а валидатор отклоняет конфиги, где это нарушено.
Теги <d>, <ds> и <dz> в v3.0.1 разбираются парсером, но не подключены к
отправке пакетов — это задел под AWG 4.0, поэтому генератор их не выдаёт.
Плюс 11 профилей мимикрии (QUIC Initial, QUIC 0-RTT, TLS 1.3, DTLS 1.3,
HTTP/3, SIP, DNS, Noise_IK и композитные) и матрица совместимости на 13
клиентов — у каждого свои потолки, и генератор их знает. Для выбравших
mihomo клиентом генератор рядом с .conf отдаёт прокси-блок в его
YAML-диалекте.
REALITY решает ту же задачу иначе: не маскирует трафик под чужой протокол, а берёт чужое рукопожатие целиком. Наблюдатель видит TLS-сессию с настоящим сайтом-донором и его настоящим сертификатом — потому что это и есть сертификат донора, полученный от него же.
Architect закрывает 74 параметра ядра Xray, разложенных по секциям:
| Секция | Что в ней |
|---|---|
| REALITY | dest, serverNames, ключевая пара x25519, shortIds, spiderX, ограничения версий и fallback-лимиты |
| Транспорт | XHTTP со всеми режимами, xmux, sockopt, TCP/WS/gRPC |
| FinalMask | Постобработка потока поверх выбранного транспорта |
| VLESS | flow, encryption, идентификаторы клиентов |
Каждый параметр помечен: сгенерирован — выбран за вас; задаётся — можно задать самому, и подсказка объяснит, из чего исходить; не покрыт — честно сказано, что до него ещё не дошли руки.
[!NOTE] Домен-донор и адрес вашего сервера — разные вещи, и в интерфейсе они лежат в разных местах. Донор — это чей сертификат вы показываете; сервер — куда на самом деле идёт соединение. Если
destуказывает на один сайт, аserverNamesназывает другой, наблюдатель увидит расхождение с одного пассивного взгляда: Architect на это ругается.
База доменов-доноров — больше 1100 записей с фильтром по регионам, где для каждого указано, что про него известно, а не выдуманный «статус».
Для хостинг-панелей есть отдельная выгрузка: их валидаторы знают только
доядровый словарь (tcp вместо raw), и кнопка «для панели» переименовывает
ровно эти два места — ядро принимает оба написания.
MergeKeysРедактор и объединение ключейvpn://. Обновляйте обфускацию
существующего ключа или собирайте контейнеры из нескольких ключей в один
мастер-ключ. Всё локально.
|
Packet SimulatorПоказывает, как выглядит старт сессии: CPS-цепочка, junk-train, хендшейк и данные. Работает для обоих движков — AmneziaWG и XRay, — учитывает версию и клиента: 1.0 и 1.5 рисуются без того, чего у них нет, а WireSock без цепочки, которую он не отправляет. |
FAQРазбор параметров, различий версий и типичных проблем. Поиск сразу по двум языкам, категории и прямые ссылки на конкретные ответы. |
VAIEXIAВеб-панель и бот для Telegram, Discord и Matrix: управление сервером или кластером откуда угодно. Скоро. |
Оба генератора умеют batch-генерацию в Web Worker, историю с экспортом в файл и проверку конфигов до передачи в клиент.
Заявлять и проверять — разные вещи, поэтому:
Так нашлись три ошибки, которые тесты пропустили бы: VLESS Encryption, предложенный для v25.8.29, где его нет; ML-DSA-65 как необязательный на v25.7.23, где он обязателен; и режим XHTTP, которого нет в v24.11.11.
Бэкенда нет — принимать данные попросту нечему. Ни аналитики, ни трекеров, ни
cookies, ни сторонних скриптов; шрифты отдаются со своего домена, а не из Google
Fonts. Вся случайность берётся из crypto.getRandomValues() с отбраковкой,
исключающей смещение по модулю — Math.random() в генераторах нет нигде.
Страницу можно сохранить через Ctrl+S и пользоваться офлайн.
Онлайн: architect.vai-rice.space
git clone https://github.com/Vadim-Khristenko/Any-Tech-ARCHITECT.git
cd Any-Tech-ARCHITECT
bun install
bun run dev
| Команда | Что делает |
|---|---|
bun run dev | Dev-сервер с HMR |
bun run build | Продакшн-сборка: заглушки для ботов, sitemap.xml, robots.txt |
bun run preview | Просмотр собранного проекта |
bun run test:run | Прогон тестов |
bun run typecheck | Проверка типов |
bun run og | Пересборка OG-изображений и превью для GitHub |
В релизных архивах лежит awg-serve — статический сервер на Rust без единой
зависимости, собранный под Linux, macOS и Windows. Ничего ставить не нужно:
bin/awg-serve-linux # Linux
bin/awg-serve-macos # macOS
bin\awg-serve-windows.exe # Windows
Порт по умолчанию 8080 (awg-serve 3000 — свой), --no-open не открывать
браузер. Исходник — в tools/awg-serve.
Скрипты scripts/serve.* остаются как альтернатива: они найдут bun, npx или
python, а --check покажет, что нашлось, ничего не запуская.
Если браузер недоступен — те же правила в виде обычного shell-скрипта, без зависимостей и без сети. Скрипт умеет только AmneziaWG; XRay пока живёт в браузере:
./scripts/awg-gen.sh -v 3.0 -p quic # один конфиг в stdout
./scripts/awg-gen.sh -v 3.0 -n 5 -d out/ # пять конфигов в каталог
./scripts/awg-gen.sh --help # все параметры
Конфигурация — половина дела; вторая половина — сервер, который её примет. Для
этого есть отдельный проект:
awg-containers-and-tools
— контейнеры AmneziaWG под все четыре версии протокола (1.0, 1.5, 2.0, 3.0) и
утилита awg-tool для развёртывания.
awg-tool gen --version 3.0 --profile quic --client amneziavpn
awg-tool install --host 203.0.113.9 --user root --key ~/.ssh/id_ed25519
Особенно он нужен для 3.0: официальный пайплайн настройки конфигурации этой
версии не разбирает, поэтому awg-tool обходит парсер .conf и говорит с
демоном напрямую через UAPI-сокет. Параметры рандомизируются на каждое
развёртывание — чтобы разные инстансы не выглядели для DPI одинаково.
Проект неофициальный и поддерживается сообществом, как и Architect.
Ссылка на GitHub в разделе про заблокированный GitHub — так себе помощь, поэтому вот зеркала на своём Forgejo. Ими можно делиться:
| Что | Зеркало |
|---|---|
| Architect (этот репозиторий) | git.vai-rice.space/vai_prog/Any-Tech-ARCHITECT |
| Установщик для сервера | git.vai-rice.space/vai_prog/awg-containers-and-tools |
| Приложения Amnezia | git.vai-rice.space/amnezia-vpn |
git clone https://git.vai-rice.space/vai_prog/Any-Tech-ARCHITECT.git
Первые два — зеркала моих репозиториев. Третье, с приложениями Amnezia, независимое, а не официальный сайт Amnezia: сверяйте контрольные суммы и подписи релизов перед установкой.
Пишите — это лучший способ починить то, о чём мы не знаем. Заводите
issue,
присоединяйтесь к обсуждению в чате, а вскоре и на git.vai-rice.space.
Если проблема в конкретном конфиге, приложите версию AmneziaWG или Xray, клиент и его версию, а также сами параметры — без приватных ключей. Этого почти всегда достаточно, чтобы воспроизвести.
Разбор кода со ссылкой на исходники upstream — самый полезный вид issue, какой тут бывает: так были найдены и исправлены три ошибки в правилах и в тексте, о которых иначе никто бы не узнал.
Как устроена разработка — в CONTRIBUTING.md.
Проект живёт на энтузиазме: ни рекламы, ни спонсоров, ни монетизации.
[!CAUTION] Проверяйте сеть перед отправкой: перевод в неверной сети означает безвозвратную потерю средств.
| Монета | Сеть | Адрес |
|---|---|---|
Bitcoin BTC | Bitcoin · Native SegWit | bc1qwvfpdhjuzelw8s9vxcfjj6fatnq3cltf0d48jy |
Ethereum ETH | Ethereum · ERC-20 | 0x277195Ff068756F09683FAB523b2cdDf8Ef35B44 |
Toncoin TON | The Open Network | UQBVdcwKqy8lx_2plsf2YPbcBJdYbPtnKbddmFWZntqiAEME |
Tether USDT | JETTON · TON | UQCaNScHxNbJsCi5Wc47rJqNpJPiDASUlMJ1nRwxq-hXSGoQ |
Tron TRX | Tron · TRC-20 | TC8dYqkDYQkuCKe7A6PWXUgDRB8Rr2Xd9f |
Solana SOL | Solana | 4i2uWx82jhgVorPQyM2y47X2YvRgCVNNWPfNmVrGcCaE |
Другие мои проекты — на vai-rice.space
Основано на идеях Special Junk Packet List от @VoidWaifu
MIT · Сделано для сообщества AmneziaVPN
178 commits
TypeScript
76.9%
Vue
16.0%
CSS
4.5%