Compare commits

...

2 Commits

Author SHA1 Message Date
itdoginfo
433724f762 v0.3.48 Custom URL CRLF 2025-05-10 18:55:35 +03:00
itdoginfo
6378aa9910 Update 2025-05-10 16:15:53 +03:00
4 changed files with 23 additions and 11 deletions

View File

@@ -2,7 +2,7 @@
- Это альфа версия, которая находится в активной разработке. Из версии в версию что-то может меняться. - Это альфа версия, которая находится в активной разработке. Из версии в версию что-то может меняться.
- Основной функционал работает, но побочные штуки сейчас могут сбоить. - Основной функционал работает, но побочные штуки сейчас могут сбоить.
- При обновлении **обязательно** сбрасывайте кэш LuCI. - При обновлении **обязательно** [сбрасывайте кэш LuCI](https://podkop.net/docs/clearbrowsercache/).
- Также при обновлении всегда заходите в конфигурацию и проверяйте свои настройки. Конфигурация может измениться. - Также при обновлении всегда заходите в конфигурацию и проверяйте свои настройки. Конфигурация может измениться.
- Необходимо минимум 15МБ свободного места на роутере. Роутерами с флешками на 16МБ сразу мимо. - Необходимо минимум 15МБ свободного места на роутере. Роутерами с флешками на 16МБ сразу мимо.
- При старте программы редактируется конфиг Dnsmasq. - При старте программы редактируется конфиг Dnsmasq.

View File

@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-podkop PKG_NAME:=luci-app-podkop
PKG_VERSION:=0.3.47 PKG_VERSION:=0.3.48
PKG_RELEASE:=1 PKG_RELEASE:=1
LUCI_TITLE:=LuCI podkop app LUCI_TITLE:=LuCI podkop app

View File

@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=podkop PKG_NAME:=podkop
PKG_VERSION:=0.3.47 PKG_VERSION:=0.3.48
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_MAINTAINER:=ITDog <podkop@itdog.info> PKG_MAINTAINER:=ITDog <podkop@itdog.info>

View File

@@ -422,11 +422,11 @@ dnsmasq_restore() {
local server=$(uci get dhcp.@dnsmasq[0].server 2>/dev/null) local server=$(uci get dhcp.@dnsmasq[0].server 2>/dev/null)
if [[ "$server" == "127.0.0.42" ]]; then if [[ "$server" == "127.0.0.42" ]]; then
uci -q delete dhcp.@dnsmasq[0].server uci -q delete dhcp.@dnsmasq[0].server 2>/dev/null
for server in $(uci get dhcp.@dnsmasq[0].podkop_server 2>/dev/null); do for server in $(uci get dhcp.@dnsmasq[0].podkop_server 2>/dev/null); do
uci add_list dhcp.@dnsmasq[0].server="$server" uci add_list dhcp.@dnsmasq[0].server="$server"
done done
uci delete dhcp.@dnsmasq[0].podkop_server uci delete dhcp.@dnsmasq[0].podkop_server 2>/dev/null
fi fi
uci delete dhcp.@dnsmasq[0].podkop_cachesize uci delete dhcp.@dnsmasq[0].podkop_cachesize
@@ -1606,18 +1606,24 @@ list_custom_url_domains_create() {
local section="$2" local section="$2"
local URL="$1" local URL="$1"
local filename=$(basename "$URL") local filename=$(basename "$URL")
local filepath="/tmp/podkop/${filename}"
config_get_bool detour "main" "detour" "0" config_get_bool detour "main" "detour" "0"
if [ "$detour" -eq 1 ]; then if [ "$detour" -eq 1 ]; then
http_proxy="http://127.0.0.1:4534" https_proxy="http://127.0.0.1:4534" wget -O "/tmp/podkop/${filename}" "$URL" http_proxy="http://127.0.0.1:4534" https_proxy="http://127.0.0.1:4534" wget -O "$filepath" "$URL"
else else
wget -O "/tmp/podkop/${filename}" "$URL" wget -O "$filepath" "$URL"
fi
if grep -q $'\r' "$filepath"; then
log "$filename has Windows line endings (CRLF). Converting to Unix (LF)"
sed -i 's/\r$//' "$filepath"
fi fi
while IFS= read -r domain; do while IFS= read -r domain; do
log "From downloaded file: $domain" log "From downloaded file: $domain"
sing_box_ruleset_domains_json $domain $section sing_box_ruleset_domains_json $domain $section
done <"/tmp/podkop/$filename" done <"$filepath"
} }
process_domains_list_url() { process_domains_list_url() {
@@ -1651,19 +1657,25 @@ list_custom_url_subnets_create() {
local section="$2" local section="$2"
local URL="$1" local URL="$1"
local filename=$(basename "$URL") local filename=$(basename "$URL")
local filepath="/tmp/podkop/${filename}"
config_get_bool detour "main" "detour" "0" config_get_bool detour "main" "detour" "0"
if [ "$detour" -eq 1 ]; then if [ "$detour" -eq 1 ]; then
http_proxy="http://127.0.0.1:4534" https_proxy="http://127.0.0.1:4534" wget -O "/tmp/podkop/${filename}" "$URL" http_proxy="http://127.0.0.1:4534" https_proxy="http://127.0.0.1:4534" wget -O "$filepath" "$URL"
else else
wget -O "/tmp/podkop/${filename}" "$URL" wget -O "$filepath" "$URL"
fi
if grep -q $'\r' "$filepath"; then
log "$filename has Windows line endings (CRLF). Converting to Unix (LF)"
sed -i 's/\r$//' "$filepath"
fi fi
while IFS= read -r subnet; do while IFS= read -r subnet; do
log "From local file: $subnet" log "From local file: $subnet"
sing_box_ruleset_subnets_json $subnet $section sing_box_ruleset_subnets_json $subnet $section
nft add element inet PodkopTable podkop_subnets { $subnet } nft add element inet PodkopTable podkop_subnets { $subnet }
done <"/tmp/podkop/$filename" done <"$filepath"
} }
process_subnet_for_section_remote() { process_subnet_for_section_remote() {