Скрипт от ITDog позволяет настроить на роутере с OpenWRT не только протокол AmneziaWG, но и использовать конфиг XRay из приложения Амнезии при настройке через Sing-box. Процесс чуточку сложнее, так как после окончания работы скрипта требуется открыть в консоли конфиг sing-box и дописать свои параметры.
- Подключиться к роутеру по ssh (если вы прошили роутер на OpenWRT, думаю, знаете, как это сделать, а если нет - это легко гуглится) и запустить скрипт командой:
- Code: Select all
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwrt/master/getdomains-install.sh)
- Выбрать при запуске скрипта Sing-box. Скрипт автоматически скачает нужные пакеты и настроит фаерволл.
- Если ваш провайдер подменяет DNS запросы, то согласитесь на установку DNSCrypt-proxy2 или stubby. Второй занимает намного меньше места, давая тот же результат. Если не знаете, нужно ли оно вам, можете пропустить. Потом можно будет установить, заново запустив скрипт и пропустив другие шаги.
- Выбрать необходимый список доменов (там всё понятно, в зависимости от локации).
- Скрипт завершает свою работу, но пока не закрывайте ssh соединение. Сейчас нам понадобится конфиг XRay из приложения Amnezia VPN. Для этого нужно перейти во вкладку Поделиться VPN => выбрать свой сервер, протокол XRay и формат - оригинальный формат XRay => нажать Поделиться => скопировать и отправить себе туда, где удобно будет копировать эти параметры.
- Далее возвращаетесь в терминал, где подключены к роутеру по ssh, открываете конфиг sing-box командой:
- Code: Select all
nano /etc/sing-box/config.json
- Удаляете содержимое и заменяете на:
- Code: Select all
{
"log": {
"level": "debug"
},
"inbounds": [
{
"type": "tun",
"interface_name": "tun0",
"domain_strategy": "ipv4_only",
"inet4_address": "172.16.250.1/30",
"auto_route": false,
"strict_route": false,
"sniff": true
}
],
"outbounds": [
{
"type": "vless",
"server": "$HOST",
"server_port": $PORT,
"uuid": "$UUID",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"insecure": false,
"server_name": "$FAKE_SERVER",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "$PUBLIC_KEY",
"short_id": "$SHORT_ID"
}
}
}
],
"route": {
"auto_detect_interface": true
}
}
- Осталось вместо заглушек
$HOST,$PORT,$UUID,$FAKE_SERVER,$PUBLIC_KEYи$SHORT_IDподставить значения из конфига, полученного в пункте 5:- Code: Select all
$HOST = "address" ("44.123.85.34")
$PORT = "port" (443)
$UUID = "id" ("1521567e-ce05-49c6-97c0-71f1b8547334")
$FAKE_SERVER = "serverName" ("www.googletagmanager.com")
$PUBLIC_KEY = "publicKey" ("iEEl7rxOMPYMQ7Kt9fuOLFp2j2PsstjZUlACwczMfWM")
$SHORT_ID = "shortId" ("42321f3aea44bd7c")
- Сохраните изменения (нажмите ctrl+X, затем Y, затем enter)
- Осталось запустить sing-box:
- Code: Select all
service sing-box start
- И перезапустить сеть:
- Code: Select all
service network restart
