diff --git a/conn.env b/conn.env new file mode 100644 index 0000000..74c3ba5 --- /dev/null +++ b/conn.env @@ -0,0 +1 @@ +SSHCONN=root@bogaledev.ru diff --git a/data/action.sh b/data/action.sh new file mode 100755 index 0000000..f25ef24 --- /dev/null +++ b/data/action.sh @@ -0,0 +1,20 @@ +#!/usr/bin/bash +set -euo pipefail +if [ ! -e state ]; then + echo 0 > state +fi +case "$(cat state)" in + 0) + ./data/setup.sh + ;; + 1) + ./data/install.sh + ;; + 2) + echo Installed in $(($(date +%s)-$(cat start)))s + rm -r * + exit +esac +echo "$((1+$(cat state)))" > state +reboot +exit 1 diff --git a/data/vps.env b/data/dest.env similarity index 100% rename from data/vps.env rename to data/dest.env diff --git a/data/install.sh b/data/install.sh index f6e7d2a..7fe71c6 100755 --- a/data/install.sh +++ b/data/install.sh @@ -1,10 +1,6 @@ #!/usr/bin/bash set -euo pipefail -. data/vps.env -export DEBIAN_FRONTEND=noninteractive -apt-get install -y software-properties-common python3-launchpadlib gnupg2 linux-headers-$(uname -r) -add-apt-repository -y ppa:amnezia/ppa -apt-get install -y amneziawg amneziawg-tools iptables-persistent +. data/dest.env cat <> /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.all.forwarding = 1 @@ -24,12 +20,10 @@ for route in tcp:25 tcp:80 tcp:443 udp:443; do ip6tables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -p $PROTO --dport $PORT -j DNAT --to-destination [$DEST6]:$PORT ip6tables -A FORWARD -d $DEST6 -p $PROTO --dport $PORT -j ACCEPT done -netfilter-persistent save +export DEBIAN_FRONTEND=noninteractive +add-apt-repository -y ppa:amnezia/ppa +apt-get install -y software-properties-common python3-launchpadlib gnupg2 linux-headers-$(uname -r) amneziawg amneziawg-tools iptables-persistent mv data/awg0.conf /etc/amnezia/amneziawg systemctl enable awg-quick@awg0 apt-get autoremove --purge -y apt-get clean -echo Installed in $(($(date +%s)-$(cat start)))s -rm -r * -reboot -exit diff --git a/data/setup.sh b/data/setup.sh index 8cce1ec..e21de40 100755 --- a/data/setup.sh +++ b/data/setup.sh @@ -11,5 +11,3 @@ echo "/var/swapfile none swap defaults 0 0" >> /etc/fstab export DEBIAN_FRONTEND=noninteractive apt-get update apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" -reboot -exit diff --git a/host.env b/host.env deleted file mode 100644 index fd5e69a..0000000 --- a/host.env +++ /dev/null @@ -1 +0,0 @@ -SERVER=bogaledev.ru diff --git a/pack.sh b/pack.sh index fc6f70f..f3f68f9 100755 --- a/pack.sh +++ b/pack.sh @@ -1,12 +1,9 @@ #!/usr/bin/bash set -euo pipefail -. host.env -ssh-wait() { - until ssh "root@$SERVER" "$1" || [ $? -eq 1 ]; do sleep 1; done -} -ssh-wait "date +%s > start" +. conn.env +ssh $SSHCONN "date +%s > start" tar -czf data.tar.gz data -scp data.tar.gz "root@$SERVER:" +scp data.tar.gz $SSHCONN: rm data.tar.gz -ssh-wait "tar --no-same-owner -xf data.tar.gz; ./data/setup.sh" -ssh-wait "./data/install.sh" +ssh $SSHCONN "tar --no-same-owner -xf data.tar.gz" +until ssh $SSHCONN ./data/action.sh; do sleep 1; done