webui-new/development/simpleadmin/script/ttl_script.sh

43 lines
1.2 KiB
Bash
Raw Normal View History

2025-03-24 22:39:52 +08:00
#!/bin/sh
# Check if the required parameters are provided
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <enable|disable> <ttl_value>"
exit 1
fi
# Assign the provided parameters to variables
mode="$1"
ttl_value="$2"
# Check if iptables is still set
ttlcheck=$(/opt/bin/sudo /usr/sbin/iptables -w 5 -t mangle -vnL | grep TTL | awk '{print $13}')
# If TTL is still set, manually remove values
if [ ! -z "${ttlcheck}" ]; then
/opt/bin/sudo /usr/sbin/iptables -w 5 -t mangle -D POSTROUTING -o rmnet+ -j TTL --ttl-set "${ttlcheck}" &>/dev/null || true
/opt/bin/sudo /usr/sbin/ip6tables -w 5 -t mangle -D POSTROUTING -o rmnet+ -j HL --hl-set "${ttlcheck}" &>/dev/null || true
fi
# Handle the enable/disable mode
case "${mode}" in
enable)
# Echo TTL to file
echo "${ttl_value}" > /usrdata/simplefirewall/ttlvalue
# Set Start Service
/opt/bin/sudo /usrdata/simplefirewall/ttl-override start
;;
disable)
# Remove TTL value file
rm -f /usrdata/simplefirewall/ttlvalue
# Stop the service
/opt/bin/sudo /usrdata/simplefirewall/ttl-override stop
;;
*)
echo "Invalid mode: ${mode}"
echo "Usage: $0 <enable|disable> <ttl_value>"
exit 1
;;
esac