Compare commits

..

No commits in common. "8b3cac6a9ac034fe60623b9833e170ffb6b92adf" and "238ee06da6315eed4f00ca3b5b1ac56503a5120c" have entirely different histories.

4 changed files with 10 additions and 45 deletions

View File

@ -1732,10 +1732,9 @@ install_easy.sh автоматизирует ручные варианты пр
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws. Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
Отредактируйте /etc/config/tpws Отредактируйте /etc/config/tpws
Если не нужен ipv6, отредактируйте /etc/nftables.d/90-tpws.nft и закомментируйте строки с редиректом ipv6.
/etc/init.d/tpws enable /etc/init.d/tpws enable
/etc/init.d/tpws start /etc/init.d/tpws start
fw4 restart fw4 reload
Полное удаление : Полное удаление :
@ -1760,7 +1759,6 @@ opkg install iptables-mod-extra
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws. Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
Отредактируйте /etc/config/tpws Отредактируйте /etc/config/tpws
Если не нужен ipv6, отредактируйте /etc/firewall.user и установите там DISABLE_IPV6=1.
/etc/init.d/tpws enable /etc/init.d/tpws enable
/etc/init.d/tpws start /etc/init.d/tpws start
fw3 restart fw3 restart

View File

@ -11,10 +11,9 @@ Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
EDIT /etc/config/tpws EDIT /etc/config/tpws
If you don't want ipv6 : edit /etc/nftables.d and comment lines with ipv6 redirect
/etc/init.d/tpws enable /etc/init.d/tpws enable
/etc/init.d/tpws start /etc/init.d/tpws start
fw4 restart fw4 reload
* full uninstall : * full uninstall :
@ -40,7 +39,6 @@ Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
EDIT /etc/config/tpws EDIT /etc/config/tpws
If you don't want ipv6 : edit /etc/firewall.user and set DISABLE_IPV6=1
/etc/init.d/tpws enable /etc/init.d/tpws enable
/etc/init.d/tpws start /etc/init.d/tpws start
fw3 restart fw3 restart

View File

@ -1,12 +1,6 @@
DISABLE_IPV6=0
TP_PORT=900 TP_PORT=900
TP_USER=daemon TP_USER=daemon
EXCLUDE4="10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 169.254.0.0/16 127.0.0.0/8"
EXCLUDE6="fc00::/7 fe80::/10 ::1"
IPTS="iptables ip6tables"
[ "$DISABLE_IPV6" = 1 ] && IPTS=iptables
exists() exists()
{ {
which "$1" >/dev/null 2>/dev/null which "$1" >/dev/null 2>/dev/null
@ -14,12 +8,13 @@ exists()
ipt() ipt()
{ {
$IPTABLES -C "$@" >/dev/null 2>/dev/null || $IPTABLES -I "$@" $IPTABLES $FW_EXTRA_PRE -C "$@" $FW_EXTRA_POST >/dev/null 2>/dev/null || $IPTABLES $FW_EXTRA_PRE -I "$@" $FW_EXTRA_POST
} }
redirect_port() redirect_port()
{ {
ipt tpws -t nat -p tcp --dport $1 -j REDIRECT --to-port $2 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()
@ -28,22 +23,6 @@ redirect()
redirect_port 443 $TP_PORT redirect_port 443 $TP_PORT
} }
for IPTABLES in $IPTS; do for IPTABLES in iptables ip6tables; do
$IPTABLES -t nat -N tpws 2>/dev/null exists $IPTABLES && redirect
$IPTABLES -t nat -F tpws
redirect
done
for net in $EXCLUDE4; do
iptables -t nat -I tpws -d $net -j RETURN
done
[ "$DISABLE_IPV6" = 1 ] || {
for net in $EXCLUDE6; do
ip6tables -t nat -I tpws -d $net -j RETURN
done
}
for IPTABLES in $IPTS; do
ipt PREROUTING -t nat -j tpws
ipt OUTPUT -t nat -m owner ! --uid-owner $TP_USER -j tpws
done done

View File

@ -1,18 +1,8 @@
set tpws_exclude4 { chain tpws_re {
type ipv4_addr; flags interval; auto-merge;
elements = { 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,127.0.0.0/8 }
}
set tpws_exclude6 {
type ipv6_addr; flags interval; auto-merge;
elements = { fc00::/7, fe80::/10, ::1 }
}
chain tpws_pre {
type nat hook prerouting priority dstnat; policy accept; type nat hook prerouting priority dstnat; policy accept;
tcp dport {80,443} ip daddr != @tpws_exclude4 redirect to :900 tcp dport {80,443} redirect to :900
tcp dport {80,443} ip6 daddr != @tpws_exclude6 redirect to :900
} }
chain tpws_out { chain tpws_out {
type nat hook output priority -100; policy accept; type nat hook output priority -100; policy accept;
tcp dport {80,443} skuid != daemon ip daddr != @tpws_exclude4 redirect to :900 tcp dport {80,443} skuid != daemon redirect to :900
tcp dport {80,443} skuid != daemon ip6 daddr != @tpws_exclude6 redirect to :900
} }