Compare commits

..

6 Commits

Author SHA1 Message Date
bol-van
238ee06da6 init.d: openwrt-minimal update disk reqs 2024-10-21 18:33:07 +03:00
bol-van
7b36760ab5 init.d: openwrt-minimal iptables 2024-10-21 18:29:51 +03:00
bol-van
ad0d65e492 init.d: openwrt min disk space startup 2024-10-21 17:53:55 +03:00
bol-van
2692735c61 init.d: openwrt min disk space startup 2024-10-21 17:53:25 +03:00
bol-van
3cfadd1717 init.d: openwrt min disk space startup 2024-10-21 17:51:02 +03:00
bol-van
386164f1f7 init.d: openwrt min disk space startup 2024-10-21 17:44:32 +03:00
8 changed files with 192 additions and 1 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
config /config
ip2net/ip2net ip2net/ip2net
mdig/mdig mdig/mdig
nfq/nfqws nfq/nfqws

View File

@ -1716,6 +1716,62 @@ install_easy.sh автоматизирует ручные варианты пр
Система простой инсталяции заточена на любое умышленное или неумышленное изменение прав доступа на файлы. Система простой инсталяции заточена на любое умышленное или неумышленное изменение прав доступа на файлы.
Устойчива к репаку под windows. После копирования в /opt права будут принудительно восстановлены. Устойчива к репаку под windows. После копирования в /opt права будут принудительно восстановлены.
Установка на openwrt в режиме острой нехватки места на диске
------------------------------------------------------------
Требуется около 120-200 кб на диске. Придется отказаться от всего, кроме tpws.
* Инструкция для openwrt 22 и выше с nftables.
Никаких зависимостей устанавливать не нужно.
Установка :
Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt.
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
Отредактируйте /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw4 reload
Полное удаление :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws /usr/bin/tpws
fw4 restart
* Инструкция для openwrt 21 и ниже с iptables.
Установите зависимости :
opkg update
opkg install iptables-mod-extra
только для IPV6 : opkg install ip6tables-mod-nat
Убедитесь, что в /etc/firewall.user нет ничего значимого.
Если есть - не следуйте слепо инструкции. Обьедините код или создайте свой firewall include в /etc/config/firewall.
Установка :
Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt.
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
Отредактируйте /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw3 restart
Полное удаление :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
touch /etc/firewall.user
fw3 restart
Android Android
------- -------

View File

@ -0,0 +1,52 @@
Minimal tpws startup script for low storage openwrt.
--- openwrt with NFTABLES (22+)
Make sure you are running openwrt with nftables, not iptables.
No opkg dependencies required !
* install :
Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
EDIT /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw4 reload
* full uninstall :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
fw4 restart
--- openwrt with IPTABLES (21-)
Make sure you are running openwrt with iptables, not nftables.
Make sure you do not have anything valuable in /etc/firewall.user.
If you have - do not blindly follow instruction in firewall.user part.
Merge the code instead or setup your own firewall include in /etc/config/firewall.
opkg update
opkg install iptables-mod-extra
IPV6 ONLY : opkg install ip6tables-mod-nat
* install :
Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
EDIT /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw3 restart
* full uninstall :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
touch /etc/firewall.user
fw3 restart

View File

@ -0,0 +1,12 @@
config global defaults
option user daemon
option tpws /usr/bin/tpws
config tpws
option port 900
option opt '--split-pos=2 --oob'
option enabled 1
config tpws
option port 901
option opt '--split-tls=sni --disorder'
option enabled 0

View File

@ -0,0 +1,28 @@
TP_PORT=900
TP_USER=daemon
exists()
{
which "$1" >/dev/null 2>/dev/null
}
ipt()
{
$IPTABLES $FW_EXTRA_PRE -C "$@" $FW_EXTRA_POST >/dev/null 2>/dev/null || $IPTABLES $FW_EXTRA_PRE -I "$@" $FW_EXTRA_POST
}
redirect_port()
{
ipt PREROUTING -t nat -p tcp --dport $1 -j REDIRECT --to-port $2
ipt OUTPUT -t nat -p tcp --dport $1 -m owner ! --uid-owner $TP_USER -j REDIRECT --to-port $2
}
redirect()
{
redirect_port 80 $TP_PORT
redirect_port 443 $TP_PORT
}
for IPTABLES in iptables ip6tables; do
exists $IPTABLES && redirect
done

View File

@ -0,0 +1,34 @@
#!/bin/sh /etc/rc.common
TPWS_DEFAULT=/usr/bin/tpws
TPWS_USER_DEFAULT=daemon
START=99
STOP=01
USE_PROCD=1
tpws_instance()
{
config_get "$@"
local enabled port opt
config_get_bool enabled "$1" enabled 0
[ "$enabled" -eq 1 ] || return 1
config_get port "$1" port
config_get opt "$1" opt
local COMMAND="$TPWS --user=$TPWS_USER --port=$port $opt"
procd_open_instance
procd_set_param command $COMMAND
procd_close_instance
}
start_service()
{
config_load tpws
config_get TPWS_USER defaults user $TPWS_USER_DEFAULT
config_get TPWS defaults tpws $TPWS_DEFAULT
config_foreach tpws_instance tpws
}

View File

@ -0,0 +1,8 @@
chain tpws_re {
type nat hook prerouting priority dstnat; policy accept;
tcp dport {80,443} redirect to :900
}
chain tpws_out {
type nat hook output priority -100; policy accept;
tcp dport {80,443} skuid != daemon redirect to :900
}

View File

@ -486,6 +486,7 @@ init.d/runit/zapret/finish \
init.d/openrc/zapret \ init.d/openrc/zapret \
init.d/sysv/zapret \ init.d/sysv/zapret \
init.d/openwrt/zapret \ init.d/openwrt/zapret \
init.d/openwrt-minimal/tpws/etc/init.d/tpws \
uninstall_easy.sh \ uninstall_easy.sh \
; do chmod 755 "$1/$f" 2>/dev/null ; done ; do chmod 755 "$1/$f" 2>/dev/null ; done
} }