This commit is contained in:
itdoginfo
2024-10-26 17:28:04 +03:00
parent 832bab3bca
commit 5fca5840dd
2 changed files with 85 additions and 27 deletions

View File

@@ -15,19 +15,15 @@ sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwr
Нужен dnsmasq-full. В автоматическом режиме ставится сам. Вручную надо поставить [самостоятельно](https://github.com/itdoginfo/podkop/blob/952dd6215a2a83d65937cf9e33534c42809091ed/install.sh#L20).
## Вручную
Сделать `opkg update`, чтоб установились зависимости.
Скачать пакеты `podkop_*.ipk` и `luci-app-podkop_*.ipk` из релиза. `opkg install` сначала первый, потом второй.
```
/etc/init.d/ucitrack restart
```
## Автоматическая
```
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)
```
## Вручную
Сделать `opkg update`, чтоб установились зависимости.
Скачать пакеты `podkop_*.ipk` и `luci-app-podkop_*.ipk` из релиза. `opkg install` сначала первый, потом второй.
# Удаление
```
opkg remove luci-app-podkop podkop
@@ -67,31 +63,45 @@ opkg update && opkg install sing-box
# Известные баги
1. Не работает proxy при режимах main vpn, second proxy
2. Не всегда отрабатывает ucitrack (применение настроек из luci)
2. Не всегда отрабатывает ucitrack (применение настроек из luci). Не удаётся повторить
# ToDo
Сделано
- [x] Скрипт для автоматической установки.
- [x] Подсети дискорда.
- [x] Удаление getdomains через скрипт. Кроме туннеля и sing-box.
- [x] Дополнительная вкладка для ещё одного туннеля. Домены, подсети.
- [ ] Улучшение скрипта автоматической установки. Спрашивать про туннели.
- [ ] Зависимость от dnsmasq-full
- [ ] Wiki
- [ ] IPv6
- [x] Улучшение скрипта автоматической установки. Спрашивать про туннели.
- [x] Зависимость от dnsmasq-full
Приоритет 1
- [ ] В nft разделить правило tproxy на маркировку и tproxy
- [ ] Весь трафик для устойства пускать в туннель\прокси
- [ ] Исключение для IP, не ходить в туннель\прокси совсем 0x0
- [ ] Придумать автонастройку DNS через stubby итд. Как лучше это реализовать.
- [ ] Врубать галочкой yacd в sing-box
- [ ] Свои списки. Просто список доменов с переносом строки
Приоритет 2
- [ ] Кнопка обновления списка доменов и подсетей
- [ ] IPv6
- [ ] Придумать автонастройку DNS через stubby итд. Как лучше это реализовать.
- [ ] Удаление подсетей CF из domain sets раз в N часов
- [ ] Wiki
Низкий приоритет
- [ ] Открытый прокси порт на роутере для браузеров
- [ ] Рефактор dnsmasq restart
- [ ] В скрипт автоустановки добавить установку AWG по примеру getdomains
- [ ] Переменная, раз во сколько часов обновлять списки
- [ ] Галочка, которая режет доступ к doh серверам
Рефактор
- [ ] Формирование json для sing-box на уровне jq, а не шаблонов
- [ ] Unit тесты (BATS)
- [ ] Интеграционые тесты бекенда (OpenWrt rootfs + BATS)
Хз как сделать
- [ ] Добавить label от конфига vless\ss\etc в luci. Хз как
- [ ] Удаление подсетей CF из domain sets раз в N часов
- [ ] Врубать галочкой yacd в sing-box
- [ ] Свои списки. Вопрос форматирования
- [ ] В скрипт автоустановки добавить установку AWG по примеру getdomains
- [ ] Галочка, которая режет доступ к doh серверам
- [ ] Рефактор dnsmasq restart
- [ ] Открытый прокси порт на роутере для браузеров
# Разработка
Есть два варианта:

View File

@@ -24,12 +24,60 @@ else
[ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp
fi
echo "Installed..."
echo "What type of VPN or proxy will be used?"
echo "1) VLESS, Shadowsocks (A sing-box will be installed)"
echo "2) Wireguard"
echo "3) AmneziaWG"
echo "4) OpenVPN"
echo "5) OpenConnect"
echo "6) Skip this step"
while true; do
read -r -p '' TUNNEL
case $TUNNEL in
1)
opkg install sing-box
break
;;
2)
opkg install wireguard-tools luci-proto-wireguard luci-app-wireguard
printf "\e[1;32mUse these instructions to configure https://itdog.info/nastrojka-klienta-wireguard-na-openwrt/\e[0m\n"
break
;;
3)
echo "As long as it's not automated"
printf "\e[1;32mUse script from here https://github.com/Slava-Shchipunov/awg-openwrt\e[0m\n"
break
;;
4)
opkg install opkg install openvpn-openssl luci-app-openvpn
printf "\e[1;32mUse these instructions to configure https://itdog.info/nastrojka-klienta-openvpn-na-openwrt/\e[0m\n"
break
;;
5)
opkg install opkg install openconnect luci-proto-openconnect
printf "\e[1;32mUse these instructions to configure https://itdog.info/nastrojka-klienta-openconnect-na-openwrt/\e[0m\n"
break
;;
6)
echo "Skip"
break
;;
*)
echo "Choose from the following options"
;;
esac
done
echo "Installed podkop..."
opkg install $DOWNLOAD_DIR/podkop*.ipk
opkg install $DOWNLOAD_DIR/luci-app-podkop*.ipk
rm -f $DOWNLOAD_DIR/podkop*.ipk $DOWNLOAD_DIR/luci-app-podkop*.ipk
#/etc/init.d/ucitrack restart
echo "Install sing-box for proxy, or install and configure WG/OpenVPN/AWG/etc for VPN mode"
rm -f $DOWNLOAD_DIR/podkop*.ipk $DOWNLOAD_DIR/luci-app-podkop*.ipk