Merge branch 'main' into main

This commit is contained in:
itdoginfo
2024-12-12 22:15:39 +03:00
committed by GitHub
4 changed files with 36 additions and 1 deletions

View File

@@ -84,6 +84,8 @@ opkg update && opkg install sing-box
- [x] awg работает не стабильно
- [x] Сеть рестартится при любом раскладе
- [x] Выкл-вкл wg через luci не отрабатывает поднятие маршрута
- [ ] Проблема скачивания списка из github release. Нужен curl -L
- [ ] Если eof после последней строки в rt_tables, то скрипт не добавляет перенос строки
# ToDo
Сделано
@@ -124,6 +126,7 @@ opkg update && opkg install sing-box
3) включен, версия 1 (старые релизы xray, sing-box на сервере)
Проблема в том, что это нужно только если SS. Выставлять выбор при парсинг из конфига вопрос можно ли. Если совсем тупо - сделать костыль в допонительные настройки
- [ ] Проверка места в скрипте install. Если доступно меньше 20MB - exit 1 c выводом колько надо и сколько доступно. + показ модели роутера
- [ ] Правило запрещающее QUIC
Приоритет 2
- [ ] Списки доменов и подсетей с роутера
@@ -131,6 +134,7 @@ opkg update && opkg install sing-box
- [ ] IPv6
- [ ] Придумать автонастройку DNS через stubby итд. Как лучше это реализовать.
- [ ] Удаление подсетей CF из domain sets раз в N часов
- [ ] Поменять curl на wget, убрать зависимость
Wiki
- [x] Тема

View File

@@ -25,7 +25,16 @@ main() {
[ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp
fi
openwrt_release=$(cat /etc/openwrt_release | grep -Eo [0-9]{2}[.][0-9]{2}[.][0-9]* | cut -d '.' -f 1 | tail -n 1)
if [ $openwrt_release -ge 24 ]; then
if uci get dhcp.@dnsmasq[0].confdir | grep -q /tmp/dnsmasq.d; then
echo "confdir alreadt set"
else
printf "Setting confdir"
uci set dhcp.@dnsmasq[0].confdir='/tmp/dnsmasq.d'
uci commit dhcp
fi
fi
if [ -f "/etc/init.d/podkop" ]; then
printf "\033[32;1mPodkop is already installed. Just upgrade it? (y/n)\033[0m\n"
printf "\033[32;1my - Only upgrade podkop\033[0m\n"

View File

@@ -11,6 +11,8 @@ config main 'main'
option custom_domains_list_type 'disable'
#list custom_domains ''
#option custom_domains_text ''
option custom_local_domains_list_enabled '0'
#list custom_local_domains ''
option custom_download_domains_list_enabled '0'
#list custom_download_domains ''
option custom_domains_list_type 'disable'

View File

@@ -403,6 +403,13 @@ list_update() {
fi
# Main domains delist
config_get_bool custom_local_domains_list_enabled "main" "custom_local_domains_list_enabled" "0"
if [ "$custom_local_domains_list_enabled" -eq 1 ]; then
log "Adding a custom local domain list"
add_set "podkop_domains" "main"
config_list_foreach main custom_local_domains "list_custom_local_domains_create" "podkop"
fi
config_get_bool delist_domains_enabled "main" "delist_domains_enabled" "0"
if [ "$delist_domains_enabled" -eq 1 ] && [ "$domain_list_enabled" -eq 1 ]; then
log "Exclude domains from the common list"
@@ -765,6 +772,19 @@ list_custom_domains_create() {
log "$domain added to the list"
}
list_custom_local_domains_create() {
local local_file="$1"
local name="$2"
local filename=$(basename "$local_file" | cut -d. -f1)
local config="/tmp/dnsmasq.d/${name}-${filename}.lst"
rm -f $config
while IFS= read -r domain; do
echo "nftset=/$domain/4#inet#PodkopTable#${name}_domains" >>$config
done <"$local_file"
dnsmasq_config_check ${name}-${filename}.lst
}
list_custom_download_domains_create() {
local URL="$1"
local name="$2"