Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

 Это приложение для запуска AmneziaWG туннелей через AmneziaWG-go в Entware на роутере для тех, кто не хочет выполнять команды через терминал, не хочет соствлять конфигурационные файлы и скрипт запуска.

AWG-Manager сделает все это за вас. 

Инструкция по установке и использованию AWG-Manager:

(Отказ от ответственности: Все что вы делаете с этим приложением вы делаете на свой страх и риск, возможные поломки, пожары, мор, чума и другие бедствия полностью ответственность пользователя, у автора  поста лапки и он ничего сам не программировал).

Спойлер

Установка AWG Manager на Keenetic

Пошаговая инструкция по установке и настройке AmneziaWG туннелей на роутерах Keenetic.

Требования:

- Роутер Keenetic с установленным Entware
- Доступ к командной строке роутера (SSH)
- Конфигурационный файл `.conf` от вашего второго роутера на даче.

---

Шаг -1. Установка Entware (если ещё не установлен)

Установите Entware следуя официальной инструкции Keenetic

---

Шаг 1. Подключение по SSH

Windows (с помощью PuTTY)

1. Скачайте [PuTTY](https://www.putty.org/)
2. Запустите PuTTY
3. В поле **Host Name** введите IP роутера: `192.168.1.1` 
4. Порт: `222` (или `22` для Entware используется только НЕ УСТАНОВЛЕН КОМПОНЕНТ "Сервер SSH" в Keenetic)
5. Нажмите **Open**
6. Введите логин: `root`
7. Введите пароль (по умолчанию 'keenetic') (КРАЙНЕ ВАЖНО! Смените пароль доступа к Entware!)

---

Шаг 2. Установка AWG Manager

### Способ 1: Через репозиторий (рекомендуется)

3.1. Добавление репозитория

Узнаем какая у нас архитектура:

> **Как узнать архитектуру?**

Выполните `

opkg print-architecture


> - `mipsel` → используйте mipsel-3.4-kn
> - `aarch64` → используйте aarch64-3.10-kn

 

Для Keenetic с процессором MIPSEL:
```
echo "src/gz awg https://hoaxisr.github.io/entware-repo/mipsel-3.4-kn" >> /opt/etc/opkg.conf
```

Для Keenetic с процессором ARM (современные новые модели прекрасных роутеров Кинетик):

echo "src/gz awg https://hoaxisr.github.io/entware-repo/aarch64-3.10-kn" >> /opt/etc/opkg.conf
 

#### 3.2. Установка


opkg update
opkg install awg-manager
 

Если у вас во время установки появляются ошибки скачивания пакета, то установите wget-ssl

opkg install wget-ssl

 

#### 3.3. Запуск сервиса

После установки сервис запуститься автоматически.

И сообщит Вам адрес и порт доступа для WebUI

---

Авторизация в WebUI приложения осуществляется через логин/пароль самого роутера (механизм следующий приложение передает эти данные в роутер и если роутер их подтверждает, то авторизация проходит. Само приложение не хранит эти данные, но если вы переживаете за данные и так далее - можете создать нового пользователя в роутере без прав)

---

## Шаг 4. Открытие веб-интерфейса

1. Откройте браузер
2. Перейдите по адресу: `http://192.168.1.1:8080`

   > Порт подключения вы получили после установки приложения

3. Вы увидите главную страницу AWG Manager

4. Авторизуйтесь - для Авторизации необходимо указать логин и пароль пользователя вашего роутера. (Эта информация не хранится в приложении, можете создать отдельного пользователя в роутере для этих целей без каких-либо прав)

---

Шаг 5. Импорт конфигурации туннеля

5.1. Получение конфигурации

Получите файл `.conf` от вашего роутера на даче. Он выглядит примерно так:

```ini
[Interface]
PrivateKey = ваш_приватный_ключ
Address = 10.0.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = публичный_ключ_сервера
Endpoint = dacha.crazedns.ru:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
```

5.2. Импорт в AWG Manager

1. На главной странице нажмите **Создать**
2. Убедитесь, что выбрана вкладка **Импорт .conf**
3. Введите название туннеля (например: "DachaForever")
4. **Способ 1:** Перетащите файл `.conf` в область загрузки
5. **Способ 2:** Скопируйте содержимое файла и вставьте в текстовое поле
6. Нажмите **Импортировать**

5.3. Проверка и сохранение

После импорта откроется страница редактирования:

1. Проверьте, что все поля заполнены корректно
2. При необходимости измените настройки
3. Нажмите **Сохранить**

---

Шаг 6. Запуск туннеля

6.1. Запуск вручную

1. На главной странице найдите ваш туннель
2. Нажмите кнопку **Запустить** (зелёная кнопка с треугольником)
3. Дождитесь появления статуса **Работает**

6.2. Включение автозапуска

Чтобы туннель запускался автоматически при включении роутера:

1. На карточке туннеля найдите переключатель около его названия.
2. Включите его (он станет зелёным)
3. Появится уведомление "Автозапуск включён"

---

Шаг 7. Тестирование соединения

После запуска туннеля проверьте его работу:

1. На карточке туннеля нажмите **Тест**
2. Или перейдите в редактирование и нажмите **Открыть тесты**

### Доступные тесты:

- **Проверка соединения** — проверяет наличие доступа в интернет через роутер на даче.
- **Проверка IP** — показывает ваш IP дома и IP через роутер на даче.
- **Тест скорости** — измеряет скорость загрузки через роутер на даче.

---

Шаг 8. Настройка маршрутизации (опционально)

По умолчанию туннель просто работает. Если вам нужны какие-то сценарии маршрутизации, то воспользуйтесь прекрасными решениями, представленными на этом форуме (HydraRoute New + HydraRoute WebUI) или (Magitrickle) или (ipset-dns) или что-то другое.

Если у вас установлена версия прошивки >5.0 то можете протестировать работу "Маршрутизация по DNS" - так вы поможете сделать ее лучше.

---

## Решение проблем

### Туннель не запускается

1. Проверьте, что конфигурация корректна
2. Убедитесь, что роутер на даче вообще доступен из сети.
 

### Нет доступа к веб-интерфейсу

1. Проверьте, запущен ли сервис:
   ```
   /opt/etc/init.d/S80awg-manager status
   ```
2. Перезапустите сервис:
   ```
   /opt/etc/init.d/S80awg-manager restart
   ```

### Медленная скорость

Не обращайте внимания! Для повседневных задач достаточно 25-40Mbit. 

1. Попробуйте подсоединится к другой даче, попросите друга, возможно у него тоже есть роутер на даче.
2. Для AmneziaWG: попробуйте разные настройки Jc, Jmin, Jmax

### IP не меняется

1. Проверьте поле **AllowedIPs** — должно быть `0.0.0.0/0, ::/0`
2. Убедитесь, что туннель действительно запущен
3. Проверьте что дача у вас находится за пределами вашего города. 

---

## Обновление

Если вы установили через репозиторий:

```
opkg update
opkg upgrade awg-manager
```

Сервис перезапустится автоматически.

---

Удаление

Для полного удаления AWG Manager:

Удалить пакет

opkg remove awg-manager --force-remove

Удалить конфигурации (опционально)
rm -rf /opt/etc/awg-manager
 

---

## Полезные команды

```
# Статус сервиса
/opt/etc/init.d/S80awg-manager status

# Перезапуск сервиса
/opt/etc/init.d/S80awg-manager restart

# Статус интерфейса
awg show
```

---

---

*AWG Manager — простой способ использовать AmneziaWG на роутерах Keenetic.*
 

  • Стараюсь исправить баги если они появляются. Ничего не обещаю, потому что "лапки". 

  • Переключатель (toggle) в WebUI роутера на интерфейсе OpkgTun не выключает реальный интерфейс это не баг! Он просто выключает связь между прошивкой и entware. Роутер знать не знает что мы там в Entware запустили и не умеет этим управлять! (ТАК ЗАДУМАНО, ИСПРАВИТЬ НЕЛЬЗЯ)


 

История версий:

Спойлер

Версия обновлена до 1.1.0 - выпилен lighttpd и его зависимость. 

Версия обновлена до 1.1.1 - исправлено поведение в ОС >5.0 (сообщил @Nidre и благослонно протестировал кучу итераций исправлений, кстати он же подтвердил работоспособность на архитектуре aarch64 (ARM)

Версия обновлена до 1.1.2 - исправлен баг с файлом port (Теперь если записать в /opt/etc/awg-manager/port значение 9000 — сервер запустится на порту 9000. Диапазон 8080-8090 используется только как fallback, если файл пуст или порт занят)

Версия обновлена до 1.1.3 - исправлен скрипт удаления (программа удаляет только известные и созданные ей туннели) (сообщил @Nidre)

Версия обновлена до 1.2.1 - добавлена авторизация по логину/паролю админки роутера. Изменен способ установки (создан репозиторий на github), исправлено описание установки, исправлен скрипт удаления.

Версия обновлена до 1.2.2 - исправлен путь к sock amenziawg-go  ( сообщил @Nidre)

Версия обновлена до 1.3.0 - добавлен функционал "переподнятия" туннеля по хуку из wan.d, исправлено поведение при перезагрузке роутера

Версия обновлена до 1.3.1 - исправлен парсер конфигураций AWG 2.0 (h1-h4 как диапазоны) (сообщил @Alexey139)

Версия обновлена до 1.3.5 - исправления и улучшения для версии ОС 5.0, поведение при upgrade, монитор трафика.

Версия обновлена до 1.3.7 - исправлено поведение при перезагрузке на ОС 5.0 - туннели поднимаются через минуту после запуска роутера для исключения проблемы неподнятых интерфейсов. (кому мало могут в ручную поправить инит скрипт)

Версия обновлена до 1.3.9 - исправления при изменении конфигурации, исправления по UI

Версия обновлена до 1.3.13 - исправления UI, исправлен парсер IPv6 адресов из конфигурации AWG

Версия обновлена до 1.3.14 - добавлена возможность менять MTU на работающих туннелях.

Версия обновлена до 1.3.18 - через настройку параметров окружения выставляется ограничение по ОЗУ для роутеров с <256Mb ОЗУ, можно отключить авторизацию в UI (применяется "на лету")

Версия обновлена до 1.4.6 - Добавлен "Мониторинг" для передачи информации о статусе туннеля в WebUI

Версия обновлена до 1.5.0 - Добавлена возможность не ограничивать процесс amneziawg-go по памяти при использовании swap, добавлена возможность вести журнал работы приложения. 

Версия обновлена до 1.5.3 - AWG-Manager сообщает какую версию ОС он определил, сообщает куда будет обращаться за авторизацией (решение проблема нестандартных портов (сообщил @SigmaPlus)

Версия обновлена до 1.6.4 - описание в теме

 

 

Изменено пользователем hoaxisr
  • 2 недели спустя...
  • Ответов 126
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано (изменено)

Если вы хотите и умеете пользоватся поиском по форуму, понимаете как поднять интерфейс с помощью CLI инструментов, то можете воспользоваться собранными amneziawg-go 2.0 (решающие проблему конфигураций содержащих тэг <c> в i1-i5 и S4 из конфигураций AmneziaWG 2.0), awg-tools есть в соседней ветке посвященной этому инструменту.

  Включённые фиксы:
  - Counter tag <c> (obf_counter.go)
  - S4 keepalive padding fix

Если вдруг они вам нужны :)

amneziawg-go-linux-mipsle amneziawg-go-linux-arm64 amneziawg-go-linux-amd64

 

Изменено пользователем hoaxisr
версия AWG-Manger 1.5.0
  • hoaxisr изменил название на Amnezia-box (форк sing-box от Amnezia) с AmneziaWG 2.0
Опубликовано (изменено)

Как этот протокол себя показывает по сравнению с hysteria2, tuic? Когда стоял amnezia-wg он работал у меня куда стабильнее вариантов из sing-box

Изменено пользователем megapro17
Опубликовано
8 часов назад, megapro17 сказал:

Как этот протокол себя показывает по сравнению с hysteria2, tuic? Когда стоял amnezia-wg он работал у меня куда стабильнее вариантов из sing-box

Не очень понял о чем идет речь, но попробую ответить исходя из того что понял.

hysteria2, tuic никогда не использвал и как-либо оценить их "стабильность" или другие характеристики не могу.

Мне эта сборка нужна по одной причине - wg (и его реализация от amnezia) мне нравится больше, чем проксирование через vless, но при этом мне нравится возможность достаточно гибко настраивать правила маршрутизации по источникам/направлениям, поэтому я использую этот инструмент, где одновременно есть amneziawg и понятный мне способ настройки конфигурации.

Есть альтернатива в виде mihomo, где awg тоже внедрен, но мне не нравится стабильность работы самого клиента mihomo.

Опубликовано

Заменил бинарник (amd64), сделал изменения конфига по инструкции, но не работает, выдает в логах следующее:

ERROR endpoint/awg[awg-kz]: IPC error -22: failed to set endpoint kz01awg.kcufwfgnkr.net:60136: parse addrport: ParseAddr("kz01awg.kcufwfgnkr.net"): unexpected character (at "kz01awg.kcufwfgnkr.net")

Хотя как видите адрес в конфиге указан корректно.

Опубликовано
5 минут назад, R0cky сказал:

Заменил бинарник (amd64), сделал изменения конфига по инструкции, но не работает, выдает в логах следующее:

ERROR endpoint/awg[awg-kz]: IPC error -22: failed to set endpoint kz01awg.kcufwfgnkr.net:60136: parse addrport: ParseAddr("kz01awg.kcufwfgnkr.net"): unexpected character (at "kz01awg.kcufwfgnkr.net")

Хотя как видите адрес в конфиге указан корректно.

Да. Предполагается, что адрес пира указывается в виде IP

Опубликовано (изменено)
10 минут назад, R0cky сказал:

А если он динамический??

Да, об этом я не подумал. Предполагал, что использование будет с VPS у которых не будет динамического IP.

Попробуйте версию 1.12.15 или 1.13.0-бета1 -- ссылки в первом посте.

Изменения работают.

Изменено пользователем hoaxisr
Опубликовано
янв 08 17:59:53 Debian-Home sing-box[1787439]: panic: runtime error: invalid memory address or nil pointer dereference
янв 08 17:59:53 Debian-Home sing-box[1787439]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x8bb8ac]
янв 08 17:59:53 Debian-Home sing-box[1787439]: goroutine 1 [running]:
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/log.(*observableLogger).Log(0xc00056d500, {0x1aa9810, 0xc0006c8570}, 0x85?, {0xc00004a4a0, 0x1, 0x1})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/log/observable.go:123 +0x22c
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/log.(*observableLogger).ErrorContext(0xc0006bdba8?, {0x1aa9810?, 0xc0006c8570?}, {0xc00004a4a0?, 0x1613>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/log/observable.go:188 +0x30
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/dns.(*Router).Lookup.func1()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/dns/router.go:340 +0x437
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/dns.(*Router).Lookup(0xc000562000, {0x1aa9810, 0xc0006c8570}, {0xc000518300, 0x16}, {{0x1ab06b0, 0xc000>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/dns/router.go:414 +0x683
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.NewEndpoint.func2({0xc000518300, 0x16})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:89 +0x11d
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.genIpcConfig({0x0, {0xc0004fd800, 0x2c}, {0xc0004e2cc0, 0x1, 0x1}, 0x564, 0x0, 0x2b, 0x32,>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:211 +0xa29
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.NewEndpoint({_, _}, {_, _}, {_, _}, {_, _}, {0x0, {0xc0004fd800, ...}, ...})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:104 +0x4d8
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.Register[...].func2({0x1abb758?, 0xc000530000?}, {0x1abea88?, 0xc00056d6b0?}, {0xc0005>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/registry.go:23 +0x13c
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.(*Registry).Create(0x0?, {0x1aa9810, 0xc0006c8420}, {0x1abb758, 0xc000530000}, {0x1abe>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/registry.go:64 +0x255
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.(*Manager).Create(0xc000568d20, {0x1aa9810?, 0xc0006c8420?}, {0x1abb758?, 0xc000530000>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/manager.go:115 +0xbe
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box.New({{{0xc000484000, 0x5c08, 0x7e00}, {0x0, 0x0}, 0xc0004f7680, 0xc0003bcb40, 0x0, 0x0, {0xc0004f76b0, >
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/box.go:242 +0x1f86
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.create()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:137 +0x1f8
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.run()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:174 +0x105
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.init.func26(0xc0001b5b00?, {0x17de414?, 0x4?, 0x17de418?})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:30 +0x17
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).execute(0x2711f20, {0xc000347480, 0x4, 0x4})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1019 +0xae7
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).ExecuteC(0x270d220)
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1148 +0x465
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).Execute(...)
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1071
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.main()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/main.go:8 +0x1e
янв 08 17:59:53 Debian-Home systemd[1]: sing-box.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

Теперь вываливается с ошибкой.....

Опубликовано
6 минут назад, R0cky сказал:
янв 08 17:59:53 Debian-Home sing-box[1787439]: panic: runtime error: invalid memory address or nil pointer dereference
янв 08 17:59:53 Debian-Home sing-box[1787439]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x8bb8ac]
янв 08 17:59:53 Debian-Home sing-box[1787439]: goroutine 1 [running]:
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/log.(*observableLogger).Log(0xc00056d500, {0x1aa9810, 0xc0006c8570}, 0x85?, {0xc00004a4a0, 0x1, 0x1})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/log/observable.go:123 +0x22c
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/log.(*observableLogger).ErrorContext(0xc0006bdba8?, {0x1aa9810?, 0xc0006c8570?}, {0xc00004a4a0?, 0x1613>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/log/observable.go:188 +0x30
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/dns.(*Router).Lookup.func1()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/dns/router.go:340 +0x437
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/dns.(*Router).Lookup(0xc000562000, {0x1aa9810, 0xc0006c8570}, {0xc000518300, 0x16}, {{0x1ab06b0, 0xc000>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/dns/router.go:414 +0x683
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.NewEndpoint.func2({0xc000518300, 0x16})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:89 +0x11d
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.genIpcConfig({0x0, {0xc0004fd800, 0x2c}, {0xc0004e2cc0, 0x1, 0x1}, 0x564, 0x0, 0x2b, 0x32,>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:211 +0xa29
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/protocol/awg.NewEndpoint({_, _}, {_, _}, {_, _}, {_, _}, {0x0, {0xc0004fd800, ...}, ...})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/protocol/awg/endpoint.go:104 +0x4d8
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.Register[...].func2({0x1abb758?, 0xc000530000?}, {0x1abea88?, 0xc00056d6b0?}, {0xc0005>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/registry.go:23 +0x13c
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.(*Registry).Create(0x0?, {0x1aa9810, 0xc0006c8420}, {0x1abb758, 0xc000530000}, {0x1abe>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/registry.go:64 +0x255
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box/adapter/endpoint.(*Manager).Create(0xc000568d20, {0x1aa9810?, 0xc0006c8420?}, {0x1abb758?, 0xc000530000>
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/adapter/endpoint/manager.go:115 +0xbe
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/sagernet/sing-box.New({{{0xc000484000, 0x5c08, 0x7e00}, {0x0, 0x0}, 0xc0004f7680, 0xc0003bcb40, 0x0, 0x0, {0xc0004f76b0, >
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/box.go:242 +0x1f86
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.create()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:137 +0x1f8
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.run()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:174 +0x105
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.init.func26(0xc0001b5b00?, {0x17de414?, 0x4?, 0x17de418?})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/cmd_run.go:30 +0x17
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).execute(0x2711f20, {0xc000347480, 0x4, 0x4})
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1019 +0xae7
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).ExecuteC(0x270d220)
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1148 +0x465
янв 08 17:59:53 Debian-Home sing-box[1787439]: github.com/spf13/cobra.(*Command).Execute(...)
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/spf13/cobra@v1.9.1/command.go:1071
янв 08 17:59:53 Debian-Home sing-box[1787439]: main.main()
янв 08 17:59:53 Debian-Home sing-box[1787439]:         github.com/sagernet/sing-box/cmd/sing-box/main.go:8 +0x1e
янв 08 17:59:53 Debian-Home systemd[1]: sing-box.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

Теперь вываливается с ошибкой.....

Простите, это моя ошибка, я выложил не то. Скачайте еще раз бинарник. Там теперь уже с испралением.

Опубликовано

Тест на запуск с доменом на arch linux у меня проходит. 

    DEBUG[0000] endpoint/awg[awg-warp]: uapi: updating private key
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 6 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 9 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 8 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 1 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 8 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 6 - started
     DEBUG[0000] endpoint/awg[awg-warp]: uapi: updating junk count
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 8 - started
     DEBUG[0000] endpoint/awg[awg-warp]: uapi: updating junk min
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 1 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 7 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 3 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 4 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 7 - started
     DEBUG[0000] endpoint/awg[awg-warp]: uapi: updating junk max
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 12 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 4 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 4 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 10 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 7 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 2 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 9 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 9 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 11 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 11 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 2 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 3 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: event worker - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 5 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: tun reader - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 12 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 2 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 5 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 6 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 12 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 10 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: encryption worker 10 - started
     DEBUG[0000] endpoint/awg[awg-warp]: interface up requested
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 5 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 3 - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: decryption worker 11 - started
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - uapi: created
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - uapi: updating endpoint
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - uapi: Adding allowedip
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - starting
     DEBUG[0000] endpoint/awg[awg-warp]: routine: handshake worker 1 - started
     DEBUG[0000] endpoint/awg[awg-warp]: udp bind has been updated
     DEBUG[0000] endpoint/awg[awg-warp]: interface state was Down, requested Up, now Up
     DEBUG[0000] endpoint/awg[awg-warp]: routine: receive incoming receive - started
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - routine: sequential receiver - started
     DEBUG[0000] endpoint/awg[awg-warp]: routine: receive incoming receive - started
     DEBUG[0000] endpoint/awg[awg-warp]: peer(bmXO…fgyo) - routine: sequential sender - started
     INFO[0000] sing-box started (0.00s)

Опубликовано (изменено)

Спасибо теперь все работает. Только заметил, когда заполняешь параметры i1... i5, то в логе вот такие ошибки:

Спойлер

+0500 2026-01-08 18:17:13 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:23 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:33 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:43 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:54 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>

 

Поэтому пока сделал конфиг без этих плюшек. Прошу по возможности подправить.

PS В нативном клиенте AWG (не sing-box) данные параметры принимаются.

Изменено пользователем R0cky
Опубликовано (изменено)
46 минут назад, R0cky сказал:

Спасибо теперь все работает. Только заметил, когда заполняешь параметры i1... i5, то в логе вот такие ошибки:

  Скрыть контент

+0500 2026-01-08 18:17:13 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:23 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:33 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:43 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>
+0500 2026-01-08 18:17:54 ERROR endpoint/awg[awg-kz]: IPC error -22: failed to parse I2: unknown tag <c>
unknown tag <r114>

 

Поэтому пока сделал конфиг без этих плюшек. Прошу по возможности подправить.

PS В нативном клиенте AWG (не sing-box) данные параметры принимаются.

Да, тэг <c> не реализован в amneziawg-go.  Он был только реализован в kernel module. Теперь эта поддержка перенесена и в этот форк тоже.

тэг <r> просто был неправильно вами записан в конфигурации - должно быть с пробелом: <r 114> 

 

  Теперь поддерживаются теги:

  | Тег     | Описание                              |
  |---------|---------------------------------------|
  | <b HEX> | Статические байты                     |
  | <c>     | Счётчик пакетов (4 байта, big-endian) |
  | <t>     | Unix timestamp (4 байта)              |
  | <r N>   | Случайные байты                       |
  | <rc N>  | Случайные буквы                       |
  | <rd N>  | Случайные цифры                       |

  Пример конфигурации:

  {
    "type": "awg",
    "i1": "<b 0xCAFE><c><r 8>",
    "i2": "<t><c><r 16><d>"
  }

  

Если по результатам тестирования будут какие-то проблемы - напишите.

 

Изменено пользователем hoaxisr
Опубликовано

 После обновления до v1.12.16-awg2.0 вернулась прежняя ошибка:

FATAL[0000] start service: start outbound/awg[awg-kz]: set ipc config: IPC error -22: failed to parse I2: unknown tag <c>

Опубликовано
2 часа назад, R0cky сказал:

 После обновления до v1.12.16-awg2.0 вернулась прежняя ошибка:

FATAL[0000] start service: start outbound/awg[awg-kz]: set ipc config: IPC error -22: failed to parse I2: unknown tag <c>

пачт для с тэга по ошибке не был в workflow build на github. сейчас исправлено и релиз пересобраны.

  • hoaxisr изменил название на Amnezia-box с AmneziaWG 2.0
Опубликовано

Извините, что вклиниваюсь в междусобойчик.

Можно как-то получить инструкцию по установке и настройке этого, а то не очень то и понятно.

интересует установка на кинетик с пиром например на варп.

Опубликовано
1 час назад, mdl сказал:

Извините, что вклиниваюсь в междусобойчик.

Можно как-то получить инструкцию по установке и настройке этого, а то не очень то и понятно.

интересует установка на кинетик с пиром например на варп.

Честно говоря, я не хотел бы описывать пошаговый to-do для использования этого инструмента для конретной обозначенной вами цели по нескольким причинам, основная из которых это юридические вопросы и ограничения, наложеные со стороны властей для пользователей из РФ, где контора солнышек запретила гражданам обсуждать и популяризировать механизмы и способы обхода их прекрасных ограничений и угроз их суверенному интернету. Я бы не хотел, чтобы тема была закрыта или удалена модераторами форума из-за нарушений этих правовых норм.  

Надеюсь на ваше понимание.

 

Опубликовано
5 часов назад, hoaxisr сказал:

Честно говоря, я не хотел бы описывать пошаговый to-do для использования этого инструмента для конретной обозначенной вами цели по нескольким причинам, основная из которых это юридические вопросы и ограничения, наложеные со стороны властей для пользователей из РФ, где контора солнышек запретила гражданам обсуждать и популяризировать механизмы и способы обхода их прекрасных ограничений и угроз их суверенному интернету. Я бы не хотел, чтобы тема была закрыта или удалена модераторами форума из-за нарушений этих правовых норм.  

Надеюсь на ваше понимание.

 

Прям как то безысходно аж 

На гитхабе тоже страшно проблема написать обычную инструкцию или что?

Опубликовано (изменено)

@hoaxisr Спасибо за труды. Вещь однозначно нужная, пока нет прошивочного механизма

Изменено пользователем Sano
Опубликовано
4 часа назад, mdl сказал:

Прям как то безысходно аж 

На гитхабе тоже страшно проблема написать обычную инструкцию или что?

Маленькая подсказка: у sing-box есть своя домашняя страница и там (правда на английском) довольно подробно излагаются все настройки... «ищите и обрящете»

Опубликовано (изменено)
14 минут назад, R0cky сказал:

Маленькая подсказка: у sing-box есть своя домашняя страница и там (правда на английском) довольно подробно излагаются все настройки... «ищите и обрящете»

Дополню, что на том же github вы можете найти просто миллион примеров конфигураций sing-box на все случаи жизни, а также примеры списков условных intel/microsoft/chatgpt которые не хотят с вами общаться, если вы из страны в которой они не отдают свои сервисы.

Единственное отличие этой сборки в том, что есть дополнительные параметры в объекте "endpoint" если ему задать тип "awg". Вся остальная логика ровно такая же.

Изменено пользователем hoaxisr
Опубликовано (изменено)
10 часов назад, FLK сказал:

А веб-интерфейс я мог какой-то видеть у этой штуки или я ошибаюсь?)

Если речь об этом, то предполагалось, что это будет другое приложение, которое создает, мониторит, "запускает" различные типы туннелей через различные инструменты (amneziawg-go, smtp-tunnel-proxy-go, sing-box-go) и обеспечивает маршрутизацию по доменам/cidr/asn, но пока тестирование на роутере, который у меня есть показало, что mipsel устарели и не способны адекватно работать с такими типами туннелей (кроме smtp) при сколько-нибудь серьезной нагрузке. А как оптимизировать нагрузку выше моего понимания, поскольку реализацией занимается железный разум :) 

Просмотр видео на потоковых сервисах приводит имеющийся у меня роутер в состояние 100% нагрузки на процессор и его "отзывчивость" для других задач становится очень низкой. 

Думаю, что ARM роутеры будут справлятся с этим сильно лучше, но поскольку проверить не могу в виду отсутствия такого оборудования и отсутствия желания приобретать новое -- проект пока заморожен. Хотя он полностью функционален и протестирован. 

Возможно, я смогу "вычленить" из него только модуль создания туннелей и их мониторинга без обеспечения маршрутизации силами роутера, но пока я не могу оценить целесообразность этого мероприятия. По сути поднять amneziawg-go дело очень быстрое, хоть и непривычное потому что требует работу в терминале. 

Пока я сосредоточился на другом сценарии - это применение amnezia-box на мини-пк или каком-то одноплатном компьютере в локальной сети, который берет на себя все функции такого рода маршрутизации, а роутер только обеспечивает доступ в Интернет и занимается только NATом. Но, к сожалению, логика там очень сложная, взаимосвязанная и пока удалось добится только базового функционала, а сценариев становится больше и логика становится все сложнее. И начинают возникать логические ошибки, потому что я не предусмотрел одно, второе, третье.  

ui-tunnel.png

Изменено пользователем hoaxisr
  • hoaxisr изменил название на Amnezia-box с AmneziaWG 2.0 / AWG-Manager
Опубликовано

Добрый день!
Попробовал AWG менеджер, чтобы запустить конфигурацию AWG2.0. после установки и добавления конфига 2.0 связь появилась, интерфейс поднялся. Позже он упал, и больше у меня его никак не удается поднятся. Причем тот же конфиг,в WiFi сети с телефона прекрасно работает. Заметил, что в конфиге 2.0 строки H1-H4 это числовой диапазон. А при импорте конфига в AWG менеджер значения становятся 1,2,3,4. подскажите, куда копать?
Причем конфиг AWG1.5 прекрасно работает в AWG Manager

Опубликовано
4 часа назад, Alexey139 сказал:

Добрый день!
Попробовал AWG менеджер, чтобы запустить конфигурацию AWG2.0. после установки и добавления конфига 2.0 связь появилась, интерфейс поднялся. Позже он упал, и больше у меня его никак не удается поднятся. Причем тот же конфиг,в WiFi сети с телефона прекрасно работает. Заметил, что в конфиге 2.0 строки H1-H4 это числовой диапазон. А при импорте конфига в AWG менеджер значения становятся 1,2,3,4. подскажите, куда копать?
Причем конфиг AWG1.5 прекрасно работает в AWG Manager

Исправил парсер. Дефолтные значения больше не подставляются при ошибках.

Версия 1.3.1 доступна в репозитории.

Опубликовано

В репозитории доступно исправление AWG-Manager версии 1.3.5:

- исправлен процесс остановки/запуска туннелей для целей корректной работы системного монитора трафика по opkg туннелю в версии ОС 5.х

- исправлен хук wan.d для автоматического поднятия туннелей при потере и восстанановлении internet соединения.

- изменена логика upgrade: для версии 5.х должно быть сохранен opkgtun и его "привязка" к политикам доступа, данные и конфигурации не удаляются.

- изменена логика определения порта для WebUI: логика  теперь: сохранённый порт → 2222 → 8080-8090. Сохранённый порт проверяется первым, что обеспечивает стабильность при перезапусках — если пользователь однажды получил порт, он сохраняется. При установке с нуля порт будет 2222.

 

Обновление opkg update && opkg upgrade

(при upgrade с предыдущих версий данные к сожалению будут потеряны - туннели и настройки политик доступа необходимо повторить)

 

Опубликовано

Немного потестировал процесс перезагрузки и автоматическое поднятие туннелей. Исправил поведение. Теперь туннели реально поднимаются после ребута роутера. Все ок, все работает. 

Версия AWG-Manager (1.3.7) в репозитории.

 Что было изменено:

 Добавлена задержка в 60 секунд для запуска AWG-Manager после ребута роутера в init скрипт entware. *можете самостоятельно отрегулировать через редактирование скрипта*

   Пакеты:
  - awg-manager_1.3.7_mipsel-3.4-kn.ipk
  - awg-manager_1.3.7_aarch64-3.10-kn.ipk

 Обновление:
  opkg update && opkg upgrade awg-manager

Опубликовано (изменено)

AWG-Manager обновлен до версии 1.3.13:

Исправления:

  •  определение остатков предыдущей жизнедеятельности (cообщил @Nidre)
  • увеличена сессия в WebUI после авторизации
  • исправлено переименование туннеля
  • исправлено изменение параметров jc,jmin,jmax, h1-h4, s1-s4, i1-i5 на запущенном туннеле
  • UI правки
  • исправлен парсер IPv6 адресов туннелей для OS 4.x, OS 5.x 

opkg update && opkg upgrade awg-manager

 

NB! Если вы планируете использовать IPv6 и нативную маршрутизацию по DNS прочтите вот это:

IPv6 и Маршрутизация по DNS

А также учитывайте AllowedIPs в вашем конфигурационном файле

Изменено пользователем hoaxisr

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.