extension ááá¯
áááá«ááºáž
ááááºááá¯á·á
áºáááŸááºáá»ááºáá»á¬ážááá¯áááºááŒá®ážáá±á¬ááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá¡áááá¡á¬ážáááºážáá»ááºááŸá¬ node ááááºááŸá parameters áá»á¬ážááá¯ááœáŸááºááŒáá±á¬áááááá«áá® (VPS) ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒá
áºáááºááá¯áá¬ážáááºááá±á¬áá±á«ááºáá²á·áááºá ဠSTUN ááᯠá¡áá¯á¶ážááŒá¯ááẠá¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááᯠááá·áºááœááºážá
ááºážá
á¬ážááŒááºáž (
ááá±á¬ááá¬áž
áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááẠá¡áá¯ááºá០Debian ááœáẠSTUN áá¬áá¬ááᯠááá·áºááœááºážáá²á·ááááºá
# apt install stun-server
ááŸá®ááá¯ááŸá¯áá»á¬ážááœáẠá¡á¶á·á¡á¬ážááá·áºááœáẠáá±á¬ááºááẠáááºáá±á·áá»áºááᯠáá«ááœá±á·áá²á·ááá±á¬áºáááºáž áááºážááᯠáá áºáááºážáááºážááŒáá·áº ááá¯áá áá¯ááºáá²á·áá«á áá«áá±ááá·áº áá±á¬ááºááá¯ááºážááŸá¬ áá»áœááºáá±á¬áº stun-client áááºáá±á·áá»áºá¡ááŒá±á¬ááºáž ááááááŒá®áž Yandex ááŸá¬ googling áá¯ááºááŒá®áž ááŸá¬ááœá±ááŒá®ážáá±á¬ááºááŸá¬ áááºááá¯á¡áá¯ááºáá¯ááºáááºááá¯áá¬ááᯠááœá±ážááŒáá·áºááá¯á· áá¯á¶ážááŒááºáá²á·áá«áááºá
# apt install stun-client
# stun stun.ekiga.net -p 21234 -v
áá¯á¶á·ááŒááºááŸá¯ááŒáá·áº áá»áœááºá¯ááºáááŸááá²á·áááºááŸá¬-
STUN client áá¬ážááŸááºáž 0.97
fd 21234 ááŒáá·áº port 3 ááá¯ááœáá·áºáá¬ážáááºá
fd 21235 ááŒáá·áº port 4 ááá¯ááœáá·áºáá¬ážáááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 0len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
áááºáá¶áááŸááá±á¬ stun áááºáá±á·ááºá»: 92 bytes
MappedAddress = <áá»áœááºá¯ááºá IP>:2885
á¡áááºážá¡ááŒá áºááááºá ᬠ= 216.93.246.18:3478
ChangeedAddress = 216.93.246.17:3479
á¡áááºááá áááºááœáŸááºážáá»ááº- 32800
ServerName = Vovida.org 0.98-CPC
257 id=1 á¡áá»áá¯ážá¡á á¬áž áááºáá±á·ááºá»ááᯠáááºáá¶áááŸááá²á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 0len 28 á០216.93.246.17:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 0len 28 á <My IP>:2885 ááá¯á· áááºáá±á·ááºá»ááá¯á·áá±á¬á·áááºá
áááºáá¶áááŸááá±á¬ stun áááºáá±á·ááºá»: 28 bytes
ChangeRequest = 0
1 id=11 á¡áá»áá¯ážá¡á á¬áž áááºáá±á·ááºá»ááᯠáááºáá¶áááŸááá²á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 0len 28 á០216.93.246.17:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
áááºáá¶áááŸááá±á¬ stun áááºáá±á·ááºá»: 92 bytes
MappedAddress = <áá»áœááºá¯ááºá IP>:2885
á¡áááºážá¡ááŒá áºááááºá ᬠ= 216.93.246.17:3479
ChangeedAddress = 216.93.246.18:3478
á¡áááºááá áááºááœáŸááºážáá»ááº- 32800
ServerName = Vovida.org 0.98-CPC
257 id=10 á¡áá»áá¯ážá¡á á¬áž áááºáá±á·ááºá»ááᯠáááºáá¶áááŸááá²á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 4len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
Stun áááºáá±á·áá»áºááᯠáá¯ááºááœááºážááŒááºáž-
áá¯ááºááŒá±á¬ááºážááẠáá±á¬ááºážááá¯áá»ááº- 2len 28 á០216.93.246.18:3478 ááá¯á· áááºáá±á·áá»áºááá¯á·áá«áá±á¬á·áááºá
test I = á
á ááºážáááºááŸá¯ II = 0
á ááºážáááºááŸá¯ III = 0
test I(2) = 1
ááẠ= á
ááŒá±áá¯á¶ááœá²áá¬ážáá±á¬ IP ááẠáá°áá®ááẠ= 1
áá¶ááŸáẠ= á
preserver port = 0
á¡ááá- á¡ááŸá®á¡ááá¯áááºážáá±á¬ááŒá±áá¯á¶ááœá²ááŒááºážá ááááºáááºážááŸá®ááá¯ááá·áº á á áºáá¯ááºááŒááºážá áá»áááºážááá¯á·ááºá áá¶áááºááŸááºáá«áááºá
ááŒááºáááºááá¯ážááẠ0x000006 ááŒá áºáááºá
áááºááá¯ážááŸááá±á¬ á á¬áááºáž
MappedAddress = <áá»áœááºá¯ááºá IP>:2885
áááºááá¯á¡ááºáá±á¬á¡áá¬áá¬á áááºážááẠlocal UDP port 21234 ááœááºáá»áááºáááºááŸá¯á¡ááœááºáááºááŸáá¡ááŒá±á¡áá±ááá¯ááŒááá²á·áááºá ááá¯á·áá±á¬áºáááºážáááºááá¯ááºááœá²áá
áºáááºáá¬ááŸááá±ážáááºá á€áá±áá¬ááá¯á¡áá±ážááŸáááºáá¶áá°áá¶ááá¯á·áááºááá¯á·ááœáŸá²ááŒá±á¬ááºážáááºááŸáá·áº VPN áá»áááºáááºááŸá¯ááá¯á
á¯á
ááºážáááºáá±ážááœááºážáá±á«áºáá¬áááºá áá±ážááºáááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž ááá¯á·ááá¯áẠTelegram ááŒá
áºááá¯ááºáá«ááá¬ážá ááœá±ážáá»ááºá
áá¬áá»á¬ážá
áœá¬ááŸáááŒá®áž Yandex.disk ááá¯á¡áá¯á¶ážááŒá¯áááºáá¯á¶ážááŒááºáá²á·áááºá áá»áœááºá¯ááºááœá±á·áá¬áá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá
- Yandex.disk ááœáẠá¡áá»áááºáá¶ááááºáá¯á¶ážááŒáá·áº áá®ážááŒá¬ážááá¯ááºáá áºáá¯ááŸááá±ááŒááºážááŒáá·áº node áá»á¬ážááẠáá»áááºáááºááŸá¯áá áºáá¯ááᯠáá°áá±á¬ááºááẠá¡áááºááá·áºááŒá áºáá±ááŒá±á¬ááºáž á¡áá»ááºááŒáááºá
- node áá»á¬ážá¡áááºááá·áºááŒá áºáá«áá ááá¯á·áá±á¬áẠSTUN server á០áááºááŸá parameter áá»á¬ážááᯠáááºáá¶ááá°áá«á
- áááºááŸááááºáááºáá»á¬ážááᯠYandex.disk ááá¯á· á¡ááºáá¯ááºáá¯ááºáá«á
- Yandex.disk ááŸá ááá¯ááºáá áºáá¯á០á¡áá±ážááááºáž node áá áºáá¯á áá«áá¬áá®áá¬áá»á¬ážááᯠá á áºáá±ážááŒá®áž áááºáá«á
- OpenVPN ááᯠá¡áá¯á¶ážááŒá¯á á¡áá±ážááááºážáá¬áááŸáá·áº áá»áááºáááºááŸá¯áá áºáᯠáááºáá±á¬ááºááŒááºážá
á¡áá±á·á¡áá»áá·áº
áááºážáááºážá ááºážá á¬ážááŒá®áž áá±á¬ááºáá¯á¶ážáá±á¬ááºážáá«ážáá²á· á¡ááœá±á·á¡ááŒá¯á¶ááᯠááá·áºááœááºážá ááºážá á¬ážááŒá®áž áá¬ááºááœáŸááºážááᯠá¡ááŒááºáá±ážáá²á·áááºá áá»áœááºá¯ááºááá¯á· ááá¯á¡ááºáá«áááº-
# apt install openvpn stun-client curl
áá¬ááºááœáŸááºážááá¯ááºááá¯ááº
áá°áááºážáá¬ážááŸááºáž
# cat vpn8.sh
#!/bin/bash
######################## ÐаЎаеЌ ÑвеÑМПй ÑекÑÑ ###
WARN='33[37;1;41m' #
END='33[0m' #
RED='33[0;31m' # ${RED} #
GREEN='33[0;32m' # ${GREEN} #
#################################################
####################### ÐÑПвеÑÑеЌ МалОÑОе МеПбÑ
ПЎÑЌОÑ
пÑОлПжеМОй #########################################################
al="echo readlink dirname grep awk md5sum shuf nc curl sleep openvpn cat stun"
ch=0
for i in $al; do which $i > /dev/null || echo -e "${WARN}ÐÐ»Ñ ÑабПÑÑ ÐœÐµÐŸÐ±Ñ
ПЎОЌ $i ${END}"; which $i > /dev/null || ch=1; done
if (( $ch > 0 )); then echo -e "${WARN}Ðй, ПÑÑÑÑÑÑвÑÑÑ ÐœÐµÐŸÐ±Ñ
ПЎОЌÑе ÐŽÐ»Ñ ÐºÐŸÑÑекÑМПй ÑабПÑÑ Ð¿ÑОлПжеМОÑ${END}"; exit; fi
#######################################################################################################################
if [[ $1 == '' ]]; then echo -e "${WARN}ÐвеЎОÑе ОЎеМÑОÑОкаÑÐŸÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ (лÑбПе ÑМОкалÑМПе ÑлПвП, ЎПлжМП бÑÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÐŸÐµ Ñ ÐŽÐ²ÑÑ
ÑÑПÑПМ!) ${END} t
${GREEN}ÐÐ»Ñ Ð·Ð°Ð¿ÑÑка в авÑПЌаÑОÑеÑкПЌ ÑежОЌе пÑО вклÑÑеМОО кПЌпÑÑÑеÑа ЌПжМП пÑПпОÑаÑÑ Ð² /etc/rc.local ÑÑÑÐŸÐºÑ nohup /<пÑÑÑ Ðº ÑайлÑ>/vpn8.sh > /var/log/vpn8.log 2>/dev/hull & ${END}"; exit; fi
ABSOLUTE_FILENAME=`readlink -f "$0"` # пПлМÑй пÑÑÑ ÐŽÐŸ ÑкÑОпÑа
DIR=`dirname "$ABSOLUTE_FILENAME"` # каÑалПг в кПÑПÑПЌ Ð»ÐµÐ¶ÐžÑ ÑкÑОпÑ
############################### ÐÑПвеÑка МалОÑÐžÑ ÑекÑеÑМПгП клÑÑа ##################################
key="$DIR/secret.key"
if [ ! -f "$key" ]; then
echo -e "${WARN}СекÑеÑÐœÑй клÑÑ VPN-ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÐœÐµ МайЎеМ, ÐŽÐ»Ñ Ð³ÐµÐœÐµÑаÑОО клÑÑа вÑпПлМОÑе:
openvpn --genkey --secret secret.key ÐМОЌаМОе: клÑÑ ÐžÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ Ð°Ð²ÑПÑОзаÑОО О ЎПлжеМ
бÑÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÐŒ Ñ ÐŽÐ²ÑÑ
ÑÑПÑПМ!!!${END}
# ls -l secret.key
-rw------- 1 root root 637 ÐœÐŸÑ 27 11:12 secret.key
# chmod 600 secret.key";
exit;
fi
########################################################################################################################
ABSOLUTE_FILENAME=`readlink -f "$0"` # пПлМÑй пÑÑÑ ÐŽÐŸ ÑкÑОпÑа
DIR=`dirname "$ABSOLUTE_FILENAME"` # каÑалПг в кПÑПÑПЌ Ð»ÐµÐ¶ÐžÑ ÑкÑОпÑ
name=$(uname -n | md5sum | awk '{print $1}')
vpn=$(echo $1 | md5sum | awk '{print $1}')
stun="stun.ekiga.net" # STUN ÑеÑвеÑ
username="Yandex" # ÐПгОМ ÐŸÑ Ð¯ÐœÐŽÐµÐºÑ.ЎОÑка
password="Password" # ÐаÑÐŸÐ»Ñ ÐŸÑ Ð¯ÐœÐŽÐµÐºÑ.ЎОÑка
localport=`shuf -i 20000-65000 -n 1` # геМеÑаÑÐžÑ Ð»ÐŸÐºÐ°Ð»ÑМПгП пПÑÑа
echo "$(date) Ð¡ÐŸÐ·ÐŽÐ°Ñ Ð¿Ð°Ð¿ÐºÑ ÐœÐ° ЯМЎекÑ.ЎОÑке"
curl -X MKCOL --user "${username}:${password}" https://webdav.yandex.ru/vpn-$vpn
echo "$(date) ÐÑОÑÐ°Ñ Ð¿Ð°Ð¿ÐºÑ ÐŸÑ Ð²ÑÑкПгП ÐŒÑÑПÑа"
for i in `curl --silent --user "$username:$password" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></n/g' | grep "d:displayname" | sed 's/d:displayname//g' | sed 's/>//g' | sed 's/<//' | sed 's////g' | grep -v $(date +%Y-%m-%d-%H-%M)`; do
echo "$(date) Delete: $i"
curl -X DELETE --user "${username}:${password}" https://webdav.yandex.ru/vpn-$vpn/$i
done
until [ $c ];do
until [[ $b ]]; do
echo "$(date) ÐÑПвеÑÑÑ Ð¿Ð°Ð¿ÐºÑ"
date=`date +%Y-%m-%d-%H-%M`
mydata=`curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></>n</g' | grep $name | grep $date | grep "d:displayname"`
if [[ -z $mydata ]]; then
echo "$(date) Ѐайл гПÑПвМПÑÑО ÑПзЎаМ"
echo "$date" > "/tmp/$date-$name-ready.txt"
curl -T "/tmp/$date-$name-ready.txt" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$date-$name-ready.txt
else
echo "$(date) Ѐайл гПÑПвМПÑÑО Ñже ÑÑÑеÑÑвÑÐµÑ - $date"
fi
remote=`curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></>n</g' | grep -v $name | grep $date | grep "d:displayname"`
if [[ -z $remote ]]; then
echo -e "$(date) ${RED} УЎалеММÑй Ñзел Ме гПÑПв ${END}"
echo "$(date) ÐÐŽÑ"
sleep 20
else
echo -e "$(date) ${GREEN} УЎалеММÑй Ñзел гПÑПв ${END}"
b=1
a=''
fi
done
until [ $a ]; do
echo "$(date) ÐПЎклÑÑеМОе О пПлÑÑеМОе ЎаММÑÑ
ÐŸÑ STUN ÑеÑвеÑа: $stun"
mydata=`stun $stun -p $localport -v 2>&1 | grep MappedAddress | sort | uniq`
echo -e "$(date) ${GREEN}ÐПО ЎаММÑе ÑПеЎОМеМОÑ: $mydata${END}"
echo "$mydata" > "$DIR/mydata"
echo "$(date) ÐагÑÑзка ЎаММÑÑ
Ма ЯМЎекÑ.ЎОÑк"
curl -T "$DIR/mydata" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$name.txt
echo "$(date) ÐПлÑÑеМОе Ñайла ЎаММÑÑ
ÑЎалеММПгП Ñзла"
filename=$(curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></n/g' | grep "d:displayname>" | grep "txt" | grep -v "$name" | grep -v "ready" | sed 's|.*d:displayname>||' | sed 's/</ /g' | awk '{print $1}')
echo "$(date) ЧÑеМОе Ñайла ЎаММÑÑ
ÑЎалеММПгП Ñзла: $filename"
address=$(curl --silent --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$filename | sort | uniq | head -n1 | sed 's/:/ /g')
echo "$(date) ÐпÑеЎелеМОе IP-аЎÑеÑа О пПÑÑа"
ip=$(echo "$address" | awk '{print $3}')
port=$(echo "$address" | awk '{print $4}')
if [[ -n "$ip" && -n "$port" ]]; then
echo -e "$(date) ${GREEN} СПеЎОМеМОе $ip $port ${END}"
openvpn --remote $ip --rport $port --lport $localport
--proto udp --dev tap --float --auth-nocache --verb 3 --mute 20
--ifconfig 10.45.54.2 255.255.255.252
--secret "$DIR/secret.key"
--auth SHA256 --cipher AES-256-CBC
--ncp-disable --ping 10 --ping-exit 30
--comp-lzo yes
echo -e "$(date) ${WARN} СПеЎОМеМОе ÑазПÑваМП${END}"
a=1
b=''
else
a=1
b=''
fi
done
done
áá¬ááºááœáŸááºážá¡áá¯ááºáá¯ááºáááºá¡ááœáẠáááºááá¯á¡ááºáááº-
- ááá
áºáá¯ááºááá¯á· áá°ážáá°ááŒá®áž áááºážááŒááºáá°ááá¯á· áá°ážááá·áºáá«á á¥ááá¬-
# nano vpn8.sh
- Yandex.disk á¡ááœáẠá¡áá¯á¶ážááŒá¯áá°á¡áááºááŸáá·áº á áá¬ážááŸááºááᯠáááºááŸááºáá«á
- á¡ááœáẠ"âifconfig 10.45.54.(1 ááá¯á·ááá¯áẠ2) 255.255.255.252" ááœáẠá¡ááºáá¬áá±á·á áºáá¡ááœááºážááá¯ááºáž IP ááááºá á¬ááᯠáááºááŸááºáá«á
- áááºáá®ážáá«á secret.key á¡áááá·áº-
# openvpn --genkey --secret secret.key
- script ááᯠexecutable áá¯ááºáá«
# chmod +x vpn8.sh
- áá¬ááºááœáŸááºážááá¯ááœáá·áºáá«
# ./vpn8.sh nZbVGBuX5dtturD
nZbVGBuX5dtturD ááẠáá¯ááºáá¯ááºáá¬ážáá±á¬ áá»áááºáááºááŸá¯ ID ááŒá áºáááºá
áá®ááŸá¬
á¡áá±ážááááºáž Node ááœááºá secret.key ááŸáá·áº áá»áááºáááºááŸá¯ ID áá¯ááºáá±ážááŒááºážááŸááœá²á áááºážááá¯á·á¡á¬ážáá¯á¶áž áá°áá®ááá«áááºá
á¡ááºááááºáá¬ážááŸááºáž (ááŸááºáááºáá±á¬áá¯ááºáá±á¬ááºáá»ááºá¡ááœáẠá¡áá»áááºááᯠáááºáá°ááŒá¯ááá«áááºá)
cat vpn10.sh
#!/bin/bash
stuns="stun.sipnet.ru stun.ekiga.net" # СпОÑПк STUN ÑеÑвеÑПв ÑеÑез пÑПбел
username=" Login " # ÐПгОМ ÐŸÑ Ð¯ÐœÐŽÐµÐºÑ.ЎОÑка
password=" Password " # ÐаÑÐŸÐ»Ñ ÐŸÑ Ð¯ÐœÐŽÐµÐºÑ.ЎОÑка
intip="10.23.22.1" # IP-аЎÑÐµÑ Ð²ÐœÑÑÑеММегП ОМÑеÑÑейÑа
WARN='33[37;1;41m'
END='33[0m'
RED='33[0;31m'
GREEN='33[0;32m'
al="ip echo readlink dirname grep awk md5sum openssl sha256sum shuf curl sleep openvpn cat stun"
ch=0
for i in $al; do which $i > /dev/null || echo -e "${WARN}ÐÐ»Ñ ÑабПÑÑ ÐœÐµÐŸÐ±Ñ
ПЎОЌ $i ${END}"; which $i > /dev/null || ch=1; done
if (( $ch > 0 )); then echo -e "${WARN}Ðй, ПÑÑÑÑÑÑвÑÑÑ ÐœÐµÐŸÐ±Ñ
ПЎОЌÑе ÐŽÐ»Ñ ÐºÐŸÑÑекÑМПй ÑабПÑÑ Ð¿ÑОлПжеМОÑ${END}"; exit; fi
if [[ $1 == '' ]];
then
echo -e "${WARN}ÐвеЎОÑе ОЎеМÑОÑОкаÑÐŸÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ (лÑбПе ÑМОкалÑМПе ÑлПвП, ЎПлжМП бÑÑÑ ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÐŸÐµ Ñ ÐŽÐ²ÑÑ
ÑÑПÑПМ!) ${END} t
${GREEN}ÐÐ»Ñ Ð·Ð°Ð¿ÑÑка в авÑПЌаÑОÑеÑкПЌ ÑежОЌе пÑО вклÑÑеМОО кПЌпÑÑÑеÑа ЌПжМП пÑПпОÑаÑÑ Ð² /etc/rc.local ÑÑÑÐŸÐºÑ nohup /<пÑÑÑ Ðº ÑайлÑ>/vpn10.sh > /var/log/vpn10.log 2>/dev/hull & ${END}"
exit
fi
ABSOLUTE_FILENAME=`readlink -f "$0"` # пПлМÑй пÑÑÑ ÐŽÐŸ ÑкÑОпÑа
DIR=`dirname "$ABSOLUTE_FILENAME"` # каÑалПг в кПÑПÑПЌ Ð»ÐµÐ¶ÐžÑ ÑкÑОпÑ
key="$DIR/secret.key"
until [[ -n "$iftosrv" ]]
do
echo "$(date) ÐпÑеЎелÑÑ ÑеÑевПй ОМÑеÑÑейÑ"; iftosrv=`ip route get 8.8.8.8 | head -n 1 | sed 's|.*dev ||' | awk '{print $1}'`
sleep 5
done
timedatectl
name=$(uname -n | md5sum | awk '{print $1}')
vpn=$(echo $1 | md5sum | awk '{print $1}')
echo "$(date) Ð¡ÐŸÐ·ÐŽÐ°Ñ Ð¿Ð°Ð¿ÐºÑ ÐœÐ° ЯМЎекÑ.ЎОÑке"
curl -X MKCOL --user "${username}:${password}" https://webdav.yandex.ru/vpn-$vpn
echo "$(date) ID Ма ЎОÑке: $vpn"
until [ $c ];do
echo "$(date) ÐÑОÑÐ°Ñ Ð¿Ð°Ð¿ÐºÑ ÐŸÑ Ð²ÑÑкПгП ÐŒÑÑПÑа"
for i in `curl --silent --user "$username:$password" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></n/g' | grep "d:displayname" | sed 's/d:displayname//g' | sed 's/>//g' | sed 's/<//' | sed 's////g' | grep -v $(date +%Y-%m-%d-%H-%M)`
do
echo -e "$(date)${RED} УЎалÑÑ ÑÑаÑÑй Ñайл: $i${END}"
curl -X DELETE --user "${username}:${password}" https://webdav.yandex.ru/vpn-$vpn/$i
done
echo "$(date) ID Ма ЎОÑке: $vpn"
openvpn --genkey --secret "$key"
passwd=`echo "$vpn-tt" | sha256sum | awk '{print $1}'`
openssl AES-256-CBC -e -in "$key" -out "$DIR/file.enc" -k "$passwd" -base64
curl -T "$DIR/file.enc" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/key.enc
rm "$DIR"/file.enc
echo -e "$(date) ${GREEN}Ѐаза 1 - ÐПлÑÑеМОе гПÑПвМПÑÑО ÑЎалеММПгП Ñзла${END}"
go=3
localport=`shuf -i 20000-65000 -n 1` # геМеÑаÑÐžÑ Ð»ÐŸÐºÐ°Ð»ÑМПгП пПÑÑа
start=''
remote=''
timeout1=''
nextcheck=''
timestart=''
until [[ $b ]]
do
echo "$(date) ÐÑПвеÑÑÑ Ð¿Ð°Ð¿ÐºÑ"
date=`date +%s`
timeout1=60
echo "$(date) СПзЎаМОе Ñайла гПÑПвМПÑÑО $date"
echo "$date" > "/tmp/ready-$date-$name.txt"
curl -T "/tmp/ready-$date-$name.txt" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/ready-$name.txt
readyfile=`curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></>n</g' | grep -v $name | grep "ready" | grep "d:displayname" | sed 's/<d:displayname>//g' | sed 's/</d:displayname>//g'`
if [[ -z $readyfile ]]
then
echo -e "$(date) ${RED} УЎалеММÑй Ñзел Ме гПÑПв ${END}"
echo "$(date) ÐÐŽÑ 60 ÑекÑМЎ"
sleep $timeout1
else
remote=$(curl --silent --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$readyfile)
echo -e "$(date) ${GREEN} УЎалеММÑй Ñзел гПÑПв ${END}"
start=`curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></>n</g' | grep "start" | grep "d:displayname" | sed 's/-/ /g' | awk '{print $2}'`
if [[ -z $start ]]
then
let nextcheck=$timeout1-$date+$remote
let timestart=$date+$timeout1-$nextcheck
go=$nextcheck
echo "$timestart" > "/tmp/start-$date-$name.txt"
curl -T "/tmp/start-$date-$name.txt" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/start-$date-$name.txt
else
echo "$(date) Ð¶ÐŽÑ $go ÑекÑМЎ"
sleep $go
b=1
a=''
fi
fi
done
echo -e "$(date) ${GREEN}Ѐаза 2 - ÐбЌеМ ЎаММÑЌО О ÑÑÑаМПвка ÑПеЎОМеМОÑ${END}"
mydata=''
filename=''
address=''
myip=''
ip=''
port=''
ex=0
until [ $a ]; do
until [[ -n "$mydata" ]]; do
k=`echo "$stuns" | wc -w`
x=1
z=`shuf -i 1-$k -n 1`
for st in $stuns; do
if [[ $x == $z ]]; then
stun=$st;
fi;
(( x++ ));
done
echo "$(date) ÐПЎклÑÑеМОе О пПлÑÑеМОе ЎаММÑÑ
ÐŸÑ STUN ÑеÑвеÑа: $stun"
sleep 5 && for pid in $(ps xa | grep "stun "$stun" 1 -p "$localport" -v" | grep -v grep | awk '{print $1}'); do kill $pid; done &
mydata=`stun "$stun" 1 -p "$localport" -v 2>&1 | grep "MappedAddress" | sort | uniq`
done
echo -e "$(date) ${GREEN}ÐПО ЎаММÑе ÑПеЎОМеМОÑ: $mydata${END}"
echo "$(date) ÐагÑÑзка ЎаММÑÑ
Ма ЯМЎекÑ.ЎОÑк"
echo "$mydata" > "$DIR/mydata"
echo "IntIP $intip" >> "$DIR/mydata"
curl -T "$DIR/mydata" --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$name-ipport.txt
rm "$DIR/mydata"
sleep 5
echo "$(date) ÐПлÑÑеМОе Ñайла ЎаММÑÑ
ÑЎалеММПгП Ñзла"
filename=$(curl --silent --user "${username}:${password}" -X PROPFIND -H "Depth: 1" https://webdav.yandex.ru/vpn-$vpn/ | sed 's/></n/g' | grep "d:displayname>" | grep "ipport" | grep -v "$name" | sed 's|.*d:displayname>||' | sed 's/</ /g' | awk '{print $1}')
if [[ -n "$filename" ]]
then
echo "$(date) ЧÑеМОе Ñайла ЎаММÑÑ
ÑЎалеММПгП Ñзла: $filename"
address=$(curl --silent --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$filename | grep "MappedAddress" | head -n1 | sed 's/:/ /g')
intip2=$(curl --silent --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/$filename | grep "IntIP" | head -n1 | awk '{print $2}')
echo "$(date) ÐпÑеЎелеМОе IP-аЎÑеÑа О пПÑÑа: $address $sesid2 $tunid2"
ip=$(echo "$address" | awk '{print $3}')
port=$(echo "$address" | awk '{print $4}')
myip=`ip route get "$ip" | head -n 1 | sed 's|.*src ||' | awk '{print $1}'`
if [[ -n "$ip" && -n "$port" && -n "$myip" && -n "$localport" ]];
then
echo -e "$(date) ${GREEN} СПеЎОМеМОе $ip $port ${END}"
echo -e "`date` ${GREEN} $myip:$localport -> $ip:$port ${END}"
curl --silent --user "$username:$password" https://webdav.yandex.ru/vpn-$vpn/key.enc > "$DIR/secret.enc"
openssl AES-256-CBC -d -in "$DIR/secret.enc" -out "$key" -k "$passwd" -base64
chmod 600 "$key"
rm "$DIR/secret.enc"
openvpn --remote $ip --rport $port --lport $localport
--proto udp --dev tun --float --auth-nocache --verb 3 --mute 20
--ifconfig "$intip" "$intip2"
--secret "$key"
--auth SHA256 --cipher AES-256-CBC
--ncp-disable --ping 10 --ping-exit 20
--comp-lzo yes
a=1
b=''
fi
else
if (( $ex >= 5 ))
then
echo "$(date) СбÑПÑ"
a=1
b=''
fi
(( ex++ ))
sleep 5
fi
done
done
áá¬ááºááœáŸááºážá¡áá¯ááºáá¯ááºáááºá¡ááœáẠáááºááá¯á¡ááºáááº-
- ááá
áºáá¯ááºááá¯á· áá°ážáá°ááŒá®áž áááºážááŒááºáá°ááá¯á· áá°ážááá·áºáá«á á¥ááá¬-
# nano vpn10.sh
- Yandex.disk (2rd line) á¡ááœáẠá¡áá±á¬áá·áºáááºááŒááºáž (áá¯áááá á¬ááŒá±á¬ááºáž) ááŸáá·áº á áá¬ážááŸááºááᯠááœáŸááºááŒáá«á
- á¥áááºááá¯ááºáá±á«ááºáž (4th line) áá¡ááœááºážááá¯ááºáž IP ááááºá á¬ááᯠáááºááŸááºáá«á
- script ááᯠexecutable áá¯ááºáá«
# chmod +x vpn10.sh
- áá¬ááºááœáŸááºážááá¯ááœáá·áºáá«
# ./vpn10.sh nZbVGBuX5dtturD
nZbVGBuX5dtturD ááẠáá¯ááºáá¯ááºáá¬ážáá±á¬ áá»áááºáááºááŸá¯ ID ááŒá áºáááºá
áá®ááŸá¬
áá±ážáá¶áá±á«ááºáá®áá±á¬ node ááœááºá á¡áá¬ážáá°áá¯ááºáá«á á¥áááºááá¯ááºáá±á«ááºážááŸáá·áº áá»áááºáááºááŸá¯ ID á áááºááá¯ááºáá¬á¡ááœááºážááá¯ááºáž IP ááááºá á¬ááᯠáááºááŸááºáá«á
ááœáá·áºáá¬ážááá·áºá¡áá« áá¬ááºááœáŸááºážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºáááºáááºá áá»áœááºá¯ááºááẠááá¯ááºááœááºáá«ááŸááá±á¬ ânohup /<path to the script>/vpn10.sh nZbVGBuX5dtturD > /var/log/vpn10.log 2>/dev/null &â ááá¯ááºááœááºáá«ááŸááá±á¬ /etc/ rc.local
áá±á¬ááºáá»ááº
script ááᯠUbuntu (18.04á 19.10á 20.04) ááŸáá·áº Debian 9 ááœáẠá
ááºážáááºááŒá®áž á¡áá¯ááºáá¯ááºáá«áááºá áááºááẠá¡ááŒá¬ážáááºááá·áºáááºáá±á¬ááºááŸá¯ááá¯áááᯠtransmitter á¡ááŒá
áºáá¯á¶ážááá¯ááºáá±á¬áºáááºáž á¡ááœá±á·á¡ááŒá¯á¶á¡ááœáẠYandex.disk ááᯠáá¯á¶ážáá«áááºá
á
ááºážáááºááŸá¯áá»á¬ážá¡ááœááºáž NAT áááºáá±á¬ááºááŸá¯áá±ážáá° á¡áá»áá¯ážá¡á
á¬ážá¡áá»áá¯á·ááẠáá»áááºáááºááŸá¯ááᯠáááºáá±á¬ááºááœáá·áºáááŒá¯ááŒá±á¬ááºáž ááœá±á·ááŸááá²á·áááºá á¡áááá¡á¬ážááŒáá·áº torrent áá»á¬ážááᯠááááºááá¯á·áá¬ážááá·áº ááá¯ááá¯ááºážá¡á±á¬áºááá±áá¬áá»á¬ážá០ááŒá
áºáááºá
á ááºážáááºážáá»ááºáá»á¬ážá¡á ááá¯ážáááºá á±ááẠáá«á á®á ááºáááº-
- áááºá áááºááá·áºá¡áá»áááºááá¯ááºáž secret.key á á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá¯ááºááŒááºážá á á¬ááŸááºááŒááºážááŸáá·áº áááá¹áá°ááᯠá¡áá±ážá០node ááá¯á·ááœáŸá²ááŒá±á¬ááºážáááºá¡ááœáẠYandex.disk ááá¯á· áá°ážáá°ááŒááºáž (ááœááºážáá¶áá¬ážáá±á¬áá¬ážááŸááºážááœáẠááá·áºááœááºážá ááºážá á¬ážááŒááºáž)
- á¡ááºáá¬áá±á·á áºáá»á¬ážá IP ááááºá á¬áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºááŸááºáá±ážááŒááºáž
- Yandex.disk ááá¯á· ááááºáá® áá±áá¬ááᯠáá¯ááºááŸááºááŒááºáž
- Code optimization
á¡áááºááá¯ááºážááœáẠIPv6 ááŸááá«á á±á
á¡ááºááááºáá¯ááºáá¬ážáááºá áá±á¬ááºáá¯á¶ážááœááºááá¯ááºáá»á¬ážááŸáá·áº DEB áááºáá±á·áá»áº áá®ááŸá¬ -
source: www.habr.com