rendered paste body#!/bin/bash
# OrangeAsGreen for Ipcop 1.3.0
# OrangeAsGreen install script for Addon Server
# 19 October 2003 By Runar Skraastad <rus512@home.no>
# Packaged for Addon Server 2.1
# 03 May 2004 by Pat Benner <amigatec@users.sourceforge.net>
# 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 (<ACL>) { \$_ =~ 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