1#!/bin/sh 2tmp_file=/tmp/check_emule_firewall 3# port equal to emule config amule.conf 4emule_tcp_port=4662 5emule_udp_port1=4665 6emule_udp_port2=4672 7start() 8{ 9 /usr/sbin/iptables -nvL > $tmp_file 10 [ -f $tmp_file -a `grep -c "tcp spt:$emule_tcp_port" $tmp_file` -eq 0 ] && iptables -I OUTPUT -p tcp --sport $emule_tcp_port -j ACCEPT 11 [ -f $tmp_file -a `grep -c "udp spt:$emule_udp_port1" $tmp_file` -eq 0 ] && iptables -I OUTPUT -p udp --sport $emule_udp_port1 -j ACCEPT 12 [ -f $tmp_file -a `grep -c "udp spt:$emule_udp_port2" $tmp_file` -eq 0 ] && iptables -I OUTPUT -p udp --sport $emule_udp_port2 -j ACCEPT 13 14 [ -f $tmp_file -a `grep -c "tcp dpt:$emule_tcp_port" $tmp_file` -eq 0 ] && iptables -I INPUT -p tcp --dport $emule_tcp_port -j ACCEPT 15 [ -f $tmp_file -a `grep -c "udp dpt:$emule_udp_port1" $tmp_file` -eq 0 ] && iptables -I INPUT -p udp --dport $emule_udp_port1 -j ACCEPT 16 [ -f $tmp_file -a `grep -c "udp dpt:$emule_udp_port2" $tmp_file` -eq 0 ] && iptables -I INPUT -p udp --dport $emule_udp_port2 -j ACCEPT 17 18 /bin/rm $tmp_file 19} 20 21[ $1 = "start" ] && start 22[ $1 = "restart" ] && start 23 24 25