#!/bin/bash # OrangeAsGreen for Ipcop 1.3.0 # OrangeAsGreen install script for Addon Server # 19 October 2003 By Runar Skraastad # Packaged for Addon Server 2.1 # 03 May 2004 by Pat Benner # Test for library.addons if [ -f /var/ipcop/addons/library.addons ] then . /var/ipcop/addons/library.addons else /bin/echo "" /bin/echo "This is OrangeAsGreen installing." /bin/echo "This MOD is written for Addons-Server 2.1 or greater" /bin/echo "Please download and install Addons-Server 2.1 or greater" /bin/echo "" /bin/echo "" exit 0 fi # If library.addons exists continue /bin/echo "" /bin/echo "This is OrangeAsGreen installing." /bin/echo "" # creating work directory and changing to it /bin/mkdir /OrangeAsGreen cd /OrangeAsGreen # Appending Files # rc.local echo "# Added for OrangeAsGreen mod" >> /etc/rc.d/rc.local echo "/sbin/iptables -I CUSTOMFORWARD 1 -i \$ORANGE_DEV -o \$GREEN_DEV -j DROP" >> /etc/rc.d/rc.local echo "/sbin/iptables -I CUSTOMFORWARD 2 -i \$GREEN_DEV -o \$ORANGE_DEV -j DROP" >> /etc/rc.d/rc.local echo "/sbin/iptables -A CUSTOMINPUT -i \$ORANGE_DEV -j ACCEPT" >> /etc/rc.d/rc.local echo "/sbin/iptables -A CUSTOMFORWARD -i \$ORANGE_DEV -j ACCEPT" >> /etc/rc.d/rc.local echo "# End OrangeAsGreen mod" >> /etc/rc.d/rc.local # proxy.cgi echo "http_port \$netsettings{'ORANGE_ADDRESS'}:800" > OrangeAsGreen /bin/cat /home/httpd/cgi-bin/proxy.cgi | sed -e '/http_port / r OrangeAsGreen' > proxy.cgi /bin/cp proxy.cgi /home/httpd/cgi-bin/proxy.cgi /bin/rm proxy.cgi echo "/acl localnet src/ c\\" > OrangeAsGreen echo "acl localnet src \$netsettings{'GREEN_NETADDRESS'}/\$netsettings{'GREEN_NETMASK'} \$netsettings{'ORANGE_NETADDRESS'}/\$netsettings{'ORANGE_NETMASK'}" >> OrangeAsGreen /bin/cat /home/httpd/cgi-bin/proxy.cgi | sed -f OrangeAsGreen > proxy.cgi /bin/cp proxy.cgi /home/httpd/cgi-bin/proxy.cgi /bin/rm proxy.cgi echo "/GREEN_IP/ c\\" > OrangeAsGreen echo "while () { \$_ =~ s/GREEN_IP/\$netsettings{'GREEN_ADDRESS'} \$netsettings{'ORANGE_ADDRESS'}/g; print FILE \$_; }" >> OrangeAsGreen /bin/cat /home/httpd/cgi-bin/proxy.cgi | sed -f OrangeAsGreen > proxy.cgi /bin/cp proxy.cgi /home/httpd/cgi-bin/proxy.cgi /bin/rm proxy.cgi . /var/ipcop/ethernet/settings # squid.conf - checking if the proxy is enabled and if so, makes the changes to squid.conf and restarts squid if [ -e "/var/ipcop/proxy/enable" ]; then echo "/http_port / a\\" > OrangeAsGreen echo "http_port $ORANGE_ADDRESS:800" >> OrangeAsGreen /bin/cat /var/ipcop/proxy/squid.conf | sed -f OrangeAsGreen > squid.conf /bin/cp squid.conf /var/ipcop/proxy/squid.conf /bin/rm squid.conf echo "/acl localnet src / c\\" > OrangeAsGreen echo "acl localnet src $GREEN_NETADDRESS/$GREEN_NETMASK $ORANGE_NETADDRESS/$ORANGE_NETMASK" >> OrangeAsGreen /bin/cat /var/ipcop/proxy/squid.conf | sed -f OrangeAsGreen > squid.conf /bin/cp squid.conf /var/ipcop/proxy/squid.conf /bin/rm squid.conf echo "/acl IPCop_ip dst / c\\" > OrangeAsGreen echo "acl IPCop_ip dst $GREEN_ADDRESS $ORANGE_ADDRESS" >> OrangeAsGreen /bin/cat /var/ipcop/proxy/squid.conf | sed -f OrangeAsGreen > squid.conf /bin/cp squid.conf /var/ipcop/proxy/squid.conf /bin/rm squid.conf # Restart squid /bin/sleep 5 /usr/bin/killall -9 squid /usr/local/bin/restartsquid fi #adding firewall rules so you dont have to restart /sbin/iptables -I CUSTOMFORWARD 1 -i $ORANGE_DEV -o $GREEN_DEV -j DROP /sbin/iptables -I CUSTOMFORWARD 2 -i $GREEN_DEV -o $ORANGE_DEV -j DROP /sbin/iptables -A CUSTOMINPUT -i $ORANGE_DEV -j ACCEPT /sbin/iptables -A CUSTOMFORWARD -i $ORANGE_DEV -j ACCEPT # Cleaning up /bin/rm -rf /OrangeAsGreen