init.d: openwrt min disk space startup

This commit is contained in:
bol-van 2024-10-21 17:43:29 +03:00
parent a54d6c1437
commit 386164f1f7
5 changed files with 86 additions and 0 deletions

View File

@ -1716,6 +1716,29 @@ install_easy.sh автоматизирует ручные варианты пр
Система простой инсталяции заточена на любое умышленное или неумышленное изменение прав доступа на файлы. Система простой инсталяции заточена на любое умышленное или неумышленное изменение прав доступа на файлы.
Устойчива к репаку под windows. После копирования в /opt права будут принудительно восстановлены. Устойчива к репаку под windows. После копирования в /opt права будут принудительно восстановлены.
Установка на openwrt в режиме острой нехватки места на диске
------------------------------------------------------------
Инструкция только для openwrt 22 и выше с nftables. Требуется около 120 кб на диске.
Придется отказаться от всего, кроме tpws.
Никаких зависимостей устанавливать не нужно.
Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt.
Установите права на файлы : 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/init.d/tpws
fw4 restart
Android Android
------- -------

View File

@ -0,0 +1,20 @@
Minimal tpws startup script for low storage openwrt with nftables.
No opkg dependencies required !
* install :
Make sure you are running openwrt with nftables, not iptables.
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/init.d/tpws
fw4 restart

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
} }