public function postSave()
{
+ Files::emptyDir(resource_path('servers/'));
+
$servers = $this->servers;
$blacklist = Text::explodeNewLines($this->blacklist);
$sshports = [22, 22022, 22822, 22222];
- foreach ($servers as $k => $server) {
+ foreach ($servers as $sid => $server) {
$fw = '#!/bin/bash' . "\n\n";
$fw .= 'export DEBIAN_FRONTEND=noninteractive' . "\n";
$hosts = [];
foreach ($servers as $k => $s) {
+ if ($sid === $k) {
+ continue;
+ }
$hosts[] = '$s' . $k;
$fw .= 's' . $k . '=' . self::digOrIP($s['name'] . '.cubedesigners.com') . "\n";
$others = Text::explodeNewLines($s['others']);
$openPorts[] = 993;
$openPorts[] = 4190;
}
+ if ($server['wireguard']) {
+ $openPorts[] = 51820;
+ }
foreach ($openPorts as $openPort) {
$fw .= 'ufw allow ' . $openPort . "\n";
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
';
file_put_contents(Files::mkdir(resource_path('servers/' . $server['name'])) . 'firewall', $fw);
}
$update = '@echo off
-cd /D D:\Works\Scripts
+cd /D D:\Works\FluidbookToolbox\resources
scp -P 58745 -r toolbox@toolbox.fluidbook.com:/application/resources/servers/ ./
-cd /D D:\Works\Scripts\servers' . "\n\n";
+cd /D D:\Works\FluidbookToolbox\resources\servers' . "\n\n";
foreach ($servers as $server) {
$update .= 'scp -P ' . $server['port'] . ' ./' . $server['name'] . '/firewall root@' . $server['name'] . '.cubedesigners.com:/usr/local/bin/fw' . "\n";
- $update .= 'ssh -p ' . $server['port'] . ' root@' . $server['name'] . '.cubedesigners.com \'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw\'' . "\n\n";
+ $update .= 'ssh -p ' . $server['port'] . ' root@' . $server['name'] . '.cubedesigners.com \'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw\'' . "\n\n";
}
file_put_contents(resource_path('servers') . '/' . 'update.bat', str_replace("\n", "\r\n", $update));
$this->addField('dns', Checkbox::class, __('Serveur DNS'));
$this->addField('mail', Checkbox::class, __('Serveur Mail'));
$this->addField('http', Checkbox::class, __('Serveur HTTP'));
+ $this->addField('wireguard', Checkbox::class, __('Serveur Wireguard'));
$this->addField('backup', Checkbox::class, __('Serveur de backup'));
$this->addField('ports', Text::class, __('Autres ports à ouvrir'));
}
b3=195.70.4.231
blacklist=($b0 $b1 $b2 $b3)
-s0=`dig +short alphaville.cubedesigners.com | tail -1`
-s0_0=`dig +short toolbox.fluidbook.com | tail -1`
s1=`dig +short brazil.cubedesigners.com | tail -1`
s2=`dig +short dracula.cubedesigners.com | tail -1`
s2_0=`dig +short devdock.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
ufw allow 80
ufw allow 443
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s0=`dig +short alphaville.cubedesigners.com | tail -1`
s0_0=`dig +short toolbox.fluidbook.com | tail -1`
-s1=`dig +short brazil.cubedesigners.com | tail -1`
s2=`dig +short dracula.cubedesigners.com | tail -1`
s2_0=`dig +short devdock.cubedesigners.com | tail -1`
s3=`dig +short dobermann.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
for ip in "${blacklist[@]}"
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s1=`dig +short brazil.cubedesigners.com | tail -1`
s2=`dig +short dracula.cubedesigners.com | tail -1`
s2_0=`dig +short devdock.cubedesigners.com | tail -1`
-s3=`dig +short dobermann.cubedesigners.com | tail -1`
s4=`dig +short elephantman.cubedesigners.com | tail -1`
s5=`dig +short godzilla.cubedesigners.com | tail -1`
s5_0=`dig +short hostingdev.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
c0=`dig +short s1.adangelis.com | tail -1`
c1=`dig +short www.fondation-sycomore.com | tail -1`
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s0=`dig +short alphaville.cubedesigners.com | tail -1`
s0_0=`dig +short toolbox.fluidbook.com | tail -1`
s1=`dig +short brazil.cubedesigners.com | tail -1`
-s2=`dig +short dracula.cubedesigners.com | tail -1`
-s2_0=`dig +short devdock.cubedesigners.com | tail -1`
s3=`dig +short dobermann.cubedesigners.com | tail -1`
s4=`dig +short elephantman.cubedesigners.com | tail -1`
s5=`dig +short godzilla.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
ufw allow 53
ufw allow 80
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s2=`dig +short dracula.cubedesigners.com | tail -1`
s2_0=`dig +short devdock.cubedesigners.com | tail -1`
s3=`dig +short dobermann.cubedesigners.com | tail -1`
-s4=`dig +short elephantman.cubedesigners.com | tail -1`
s5=`dig +short godzilla.cubedesigners.com | tail -1`
s5_0=`dig +short hostingdev.cubedesigners.com | tail -1`
s5_1=`dig +short hosting.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
for ip in "${blacklist[@]}"
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s6_1=`dig +short mail.cubedesigners.com | tail -1`
s6_2=`dig +short mail2.cubedesigners.com | tail -1`
s7=`dig +short kingkong.cubedesigners.com | tail -1`
-s8=`dig +short fastandfurious.cubedesigners.com | tail -1`
i0=127.0.0.0/8
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $i0 $i1 $i2 $i3 $i4)
ufw allow 51820
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s2_0=`dig +short devdock.cubedesigners.com | tail -1`
s3=`dig +short dobermann.cubedesigners.com | tail -1`
s4=`dig +short elephantman.cubedesigners.com | tail -1`
-s5=`dig +short godzilla.cubedesigners.com | tail -1`
-s5_0=`dig +short hostingdev.cubedesigners.com | tail -1`
-s5_1=`dig +short hosting.cubedesigners.com | tail -1`
-s5_2=`dig +short hosting2.fluidbook.com | tail -1`
-s5_3=`dig +short hosting.fluidbook.com | tail -1`
s6=`dig +short her2.cubedesigners.com | tail -1`
s6_0=`dig +short her.cubedesigners.com | tail -1`
s6_1=`dig +short mail.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
ufw allow 53
ufw allow 80
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s5_1=`dig +short hosting.cubedesigners.com | tail -1`
s5_2=`dig +short hosting2.fluidbook.com | tail -1`
s5_3=`dig +short hosting.fluidbook.com | tail -1`
-s6=`dig +short her2.cubedesigners.com | tail -1`
-s6_0=`dig +short her.cubedesigners.com | tail -1`
-s6_1=`dig +short mail.cubedesigners.com | tail -1`
-s6_2=`dig +short mail2.cubedesigners.com | tail -1`
s7=`dig +short kingkong.cubedesigners.com | tail -1`
s8=`dig +short fastandfurious.cubedesigners.com | tail -1`
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s7 $s8 $i0 $i1 $i2 $i3 $i4)
ufw allow 53
ufw allow 80
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
s6_0=`dig +short her.cubedesigners.com | tail -1`
s6_1=`dig +short mail.cubedesigners.com | tail -1`
s6_2=`dig +short mail2.cubedesigners.com | tail -1`
-s7=`dig +short kingkong.cubedesigners.com | tail -1`
s8=`dig +short fastandfurious.cubedesigners.com | tail -1`
i0=127.0.0.0/8
i1=10.0.0.0/8
i2=172.16.0.0/12
i3=192.168.0.0/16
-i4=`dig +short paris.cubedesigners.com | tail -1`
-i5=`dig +short montpellier.cubedesigners.com | tail -1`
-i6=`dig +short tortuga.enhydra.fr | tail -1`
+i4=`dig +short tortuga.enhydra.fr | tail -1`
-auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s7 $s8 $i0 $i1 $i2 $i3 $i4 $i5 $i6)
+auth=($s0 $s0_0 $s1 $s2 $s2_0 $s3 $s4 $s5 $s5_0 $s5_1 $s5_2 $s5_3 $s6 $s6_0 $s6_1 $s6_2 $s8 $i0 $i1 $i2 $i3 $i4)
ufw allow 80
ufw allow 443
# Display status
ufw status verbose
-rm /etc/ufw/after.rules.*
-rm /etc/ufw/after6.rules.*
-rm /etc/ufw/before.rules.*
-rm /etc/ufw/before6.rules.*
-rm /lib/ufw/user6.rules.*
-rm /lib/ufw/user.rules.*
+rm -f /etc/ufw/after.rules.*
+rm -f /etc/ufw/after6.rules.*
+rm -f /etc/ufw/before.rules.*
+rm -f /etc/ufw/before6.rules.*
+rm -f /lib/ufw/user6.rules.*
+rm -f /lib/ufw/user.rules.*
@echo off
-cd /D D:\Works\Scripts
+cd /D D:\Works\FluidbookToolbox\resources
scp -P 58745 -r toolbox@toolbox.fluidbook.com:/application/resources/servers/ ./
-cd /D D:\Works\Scripts\servers
+cd /D D:\Works\FluidbookToolbox\resources\servers
scp -P 22 ./alphaville/firewall root@alphaville.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@alphaville.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@alphaville.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./brazil/firewall root@brazil.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@brazil.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@brazil.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./dracula/firewall root@dracula.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@dracula.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@dracula.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./dobermann/firewall root@dobermann.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@dobermann.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@dobermann.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22822 ./elephantman/firewall root@elephantman.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22822 root@elephantman.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22822 root@elephantman.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./godzilla/firewall root@godzilla.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@godzilla.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@godzilla.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./her2/firewall root@her2.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@her2.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@her2.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22 ./kingkong/firewall root@kingkong.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22 root@kingkong.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22 root@kingkong.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'
scp -P 22822 ./fastandfurious/firewall root@fastandfurious.cubedesigners.com:/usr/local/bin/fw
-ssh -p 22822 root@fastandfurious.cubedesigners.com 'chmod 755 /usr/local/bin/fw;/usr/local/bin/fw'
+ssh -p 22822 root@fastandfurious.cubedesigners.com 'chmod 755 /usr/local/bin/fw;rm -f /usr/local/bin/firewall;/usr/local/bin/fw'