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