เชเชพเชฒเซ เชฐเชพเชเชตเซเช
เชชเชฐเชฟเชเชฏ
เช
เชเชพเชเชจเซ เชชเซเชธเซเชเชจเซ เชเชฟเชชเซเชชเชฃเซเช เชตเชพเชเชเซเชฏเชพ เชชเชเซ, เชฎเชจเซ เชธเชฎเชเชพเชฏเซเช เชเซ เช
เชฎเชฒเซเชเชฐเชฃเชจเซ เชฎเซเชเซเชฏ เชเชพเชฎเซ เช เชฎเชงเซเชฏเชธเซเชฅเซเชจเซ เชเชชเชฏเซเช เชนเชคเซ - เชคเซเชคเซเชฏ เชชเชเซเชท (เชตเซเชชเซเชเชธ) เชเซ เชจเซเชกเชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชชเชฐเชฟเชฎเชพเชฃเซ, เชเซเชฏเชพเช เช
เชจเซ เชเซเชตเซ เชฐเซเชคเซ เชเชจเซเชเซเช เชเชฐเชตเซเช เชคเซ เชธเซเชเชตเซ เชเซ. เช STUN เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชญเชฒเชพเชฎเชฃเซเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ (
เชฅเชฟเชฏเชฐเซ
เชคเชพเชเซเชคเชฐเชฎเชพเช เชฎเชพเชฐเซ เชชเซเชเซเชเชฎเชพเชเชฅเซ เชกเซเชฌเชฟเชฏเชจ เชชเชฐ STUN เชธเชฐเซเชตเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชชเชกเซเชฏเซเช
# apt install stun-server
เช เชจเซ เชจเชฟเชฐเซเชญเชฐเชคเชพเชฎเชพเช เชฎเซเช เชธเซเชเชจ-เชเซเชฒเชพเชฏเชจเซเช เชชเซเชเซเช เชเซเชฏเซเช, เชชเชฐเชเชคเซ เชเซเชเช เชฐเซเชคเซ เชฎเซเช เชคเซเชจเชพ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซเชฏเซเช เชจเชนเซเช. เชชเชฐเชเชคเซ เชชเชเซเชฅเซ เชฎเชจเซ เชธเซเชเชจ-เชเซเชฒเชพเชฏเชจเซเช เชชเซเชเซเช เชตเชฟเชถเซ เชฏเชพเชฆ เชเชตเซเชฏเซเช เช เชจเซ เชคเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ เชคเซ เชถเซเชงเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชเซเชเชฒเชฟเชเช เช เชจเซ เชฏเชพเชจเซเชกเซเชเซเชธเชฎเชพเช เชถเซเชง เชเชฐเซเชฏเชพ เชชเชเซ เชฎเชจเซ เชฎเชณเซเชฏเซเช:
# apt install stun-client
# stun stun.ekiga.net -p 21234 -v
เชเชตเชพเชฌเชฎเชพเช เชฎเชจเซ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเช:
STUN เชเซเชฒเชพเชฏเชเช เชตเชฐเซเชเชจ 0.97
fd 21234 เชธเชพเชฅเซ 3 เชชเซเชฐเซเช เชเซเชฒเซเชฏเซเช
fd 21235 เชธเชพเชฅเซ 4 เชชเซเชฐเซเช เชเซเชฒเซเชฏเซเช
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 0เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชธเซเชเชจ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ: 92 เชฌเชพเชเชเซเชธ
เชฎเซเชช เชเชฐเซเชฒ เชธเชฐเชจเชพเชฎเซเช = <My IP>:2885
เชธเซเชคเซเชฐเซเชค เชธเชฐเชจเชพเชฎเซเช = 216.93.246.18:3478
เชฌเชฆเชฒเชพเชฏเซเชฒ เชธเชฐเชจเชพเชฎเซเช = 216.93.246.17:3479
เช เชเซเชเชพเชค เชฒเชเซเชทเชฃ: 32800
เชธเชฐเซเชตเชฐเชจเซเช เชจเชพเชฎ = Vovida.org 0.98-CPC
257 id=1 เชชเซเชฐเชเชพเชฐเชจเซ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 0เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.17:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 0เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช <My IP>:2885 เชชเชฐ เชฎเซเชเชฒเชตเชพเชจเซ เชเซ
เชธเซเชเชจ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ: 28 เชฌเชพเชเชเซเชธ
เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช = 0
1 id=11 เชชเซเชฐเชเชพเชฐเชจเซ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 0เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.17:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชธเซเชเชจ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ: 92 เชฌเชพเชเชเซเชธ
เชฎเซเชช เชเชฐเซเชฒ เชธเชฐเชจเชพเชฎเซเช = <My IP>:2885
เชธเซเชคเซเชฐเซเชค เชธเชฐเชจเชพเชฎเซเช = 216.93.246.17:3479
เชฌเชฆเชฒเชพเชฏเซเชฒ เชธเชฐเชจเชพเชฎเซเช = 216.93.246.18:3478
เช เชเซเชเชพเชค เชฒเชเซเชทเชฃ: 32800
เชธเชฐเซเชตเชฐเชจเซเช เชจเชพเชฎ = Vovida.org 0.98-CPC
257 id=10 เชชเซเชฐเชเชพเชฐเชจเซ เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 4เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเชจเซเชเซเชกเชฟเชเช เชธเซเชเชจ เชธเชเชฆเซเชถ:
เชเชจเซเชเซเชกเชฟเชเช เชเซเชจเซเช เชฐเชฟเชเซเชตเซเชธเซเช: 2เชฒเซเชจ 28 เชจเซ เชฎเซเชธเซเช 216.93.246.18:3478 เชชเชฐ เชฎเซเชเชฒเชตเชพ เชตเชฟเชถเซ
เชเซเชธเซเช I = 1
เชเซเชธเซเช II = 0
เชเซเชธเซเช III = 0
เชเซเชธเซเช I(2) = 1
nat = 1 เชเซ
เชฎเซเชช เชเชฐเซเชฒ IP เชธเชฎเชพเชจ = 1
hairpin = 1
เชธเชพเชเชตเชจเชพเชฐ เชชเซเชฐเซเช = 0
เชชเซเชฐเชพเชฅเชฎเชฟเช: เชธเซเชตเชคเชเชคเซเชฐ เชฎเซเชชเชฟเชเช, เชชเซเชฐเซเช เชกเชฟเชชเซเชจเซเชกเชจเซเช เชซเชฟเชฒเซเชเชฐ, เชฐเซเชจเซเชกเชฎ เชชเซเชฐเซเช, เชนเซเชฐเชชเชฟเชจ เชเชฐเชถเซ
เชตเชณเชคเชฐ เชฎเซเชฒเซเชฏ 0x000006 เชเซ
เชฎเซเชฒเซเชฏ เชธเชพเชฅเซ เชธเซเชเซเชฐเชฟเชเช
เชฎเซเชช เชเชฐเซเชฒ เชธเชฐเชจเชพเชฎเซเช = <My IP>:2885
เชคเชฎเชจเซ เชเซ เชเซเชเช เชเซ เชคเซ เช! เชคเซ เชธเซเชฅเชพเชจเชฟเช UDP เชชเซเชฐเซเช 21234 เชชเชฐ เชเชจเซเชเซเชถเชจ เชฎเชพเชเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชฆเชฐเซเชถเชพเชตเซ เชเซ. เชชเชฐเชเชคเซ เช เชฎเชพเชคเซเชฐ เช
เชกเชงเซ เชฒเชกเชพเช เชเซ; เช เชกเซเชเชพเชจเซ เชฐเชฟเชฎเซเช เชนเซเชธเซเช เชชเชฐ เชเซเชตเซ เชฐเซเชคเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเซ เช
เชจเซ VPN เชเชจเซเชเซเชถเชจ เชเซเช เชตเชตเซเช เชคเซ เชชเซเชฐเชถเซเชจ เชเชญเซ เชฅเชฏเซ. เชฎเซเชเชฒ เชชเซเชฐเซเชเซเชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช
เชฅเชตเชพ เชเชฆเชพเช เชเซเชฒเชฟเชเซเชฐเชพเชฎ?! เชคเซเชฏเชพเช เชเชฃเชพ เชฌเชงเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ เช
เชจเซ เชฎเซเช เชฏเชพเชจเซเชกเซเชเซเชธ.เชกเชฟเชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชเชพเชฐเชฃ เชเซ เชนเซเช เชเชตเซเชฏเซ เชเซเช
- เชธเชฟเชเซเชจเชฒ เชเซ เชเชพเชเช เซ Yandex.disk เชชเชฐ เชเชพเชเชฎเชธเซเชเซเชฎเซเชช เชธเชพเชฅเซ เชเซเชเซเชเชธ เชซเชพเชเชฒเชจเซ เชนเชพเชเชฐเซ เชฆเซเชตเชพเชฐเชพ เชเชจเซเชเซเชถเชจ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ;
- เชเซ เชเชพเชเช เซ เชคเซเชฏเชพเชฐ เชนเซเชฏ, เชคเซ STUN เชธเชฐเซเชตเชฐเชฎเชพเชเชฅเซ เชตเชฐเซเชคเชฎเชพเชจ เชชเชฐเชฟเชฎเชพเชฃเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ;
- Yandex.disk เชชเชฐ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชเชฟเชเชเซเชธ เช เชชเชฒเซเชก เชเชฐเซ;
- Yandex.disk เชชเชฐเชจเซ เชซเชพเชเชฒเชฎเชพเชเชฅเซ เชฐเชฟเชฎเซเช เชจเซเชกเชจเซ เชนเชพเชเชฐเซ เช เชจเซ เชตเชพเชเชเชจ เชชเชฐเชฟเชฎเชพเชฃเซ เชคเชชเชพเชธเซ;
- 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 เชธเชฐเชจเชพเชฎเซเช เชธเซเชชเชทเซเช เชเชฐเซ
- เชฌเชจเชพเชตเซ เชเซเชชเซเชค เชเซ เชเชฆเซเชถ:
# openvpn --genkey --secret secret.key
- เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชฌเชจเชพเชตเซ:
# chmod +x vpn8.sh
- เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเซ:
# ./vpn8.sh nZbVGBuX5dtturD
เชเซเชฏเชพเช nZbVGBuX5dtturD เช เชเชจเชฐเซเช เชฅเชฏเซเชฒ เชเชจเซเชเซเชถเชจ ID เชเซ
เช เชนเซเช
เชฐเชฟเชฎเซเช เชจเซเชก เชชเชฐ, 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 (2เชเซ เชฒเชพเชเชจ) เชฎเชพเชเซ เชฒเซเชเชฟเชจ (3เชเซ เชฒเชพเชเชจ) เช เชจเซ เชชเชพเชธเชตเชฐเซเชก เชธเซเชเชตเซ.
- เชเชจเชฒเชจเซเช เชเชเชคเชฐเชฟเช IP เชธเชฐเชจเชพเชฎเซเช เชธเซเชชเชทเซเช เชเชฐเซ (4เชฅเซ เชฒเชพเชเชจ).
- เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชฌเชจเชพเชตเซ:
# chmod +x vpn10.sh
- เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเซ:
# ./vpn10.sh nZbVGBuX5dtturD
เชเซเชฏเชพเช nZbVGBuX5dtturD เช เชเชจเชฐเซเช เชฅเชฏเซเชฒ เชเชจเซเชเซเชถเชจ ID เชเซ
เช เชนเซเช
เชฐเชฟเชฎเซเช เชจเซเชก เชชเชฐ, เชคเซ เช เชเชฐเซ, เชเชจเชฒ เช เชจเซ เชเชจเซเชเซเชถเชจ ID เชจเชพ เช เชจเซเชฐเซเชช เชเชเชคเชฐเชฟเช IP เชธเชฐเชจเชพเชฎเชพเชเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ.
เชเซเชฏเชพเชฐเซ เชเชพเชฒเซ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชเซเชฐเชจ เชเชฐเชตเชพ เชฎเชพเชเซ, เชนเซเช /etc/ เชซเชพเชเชฒเชฎเชพเช เชธเชฎเชพเชตเชฟเชทเซเช "nohup /<script to the path>/vpn10.sh nZbVGBuX5dtturD > /var/log/vpn10.log 2>/dev/null &" เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช. rc.local
เชจเชฟเชทเซเชเชฐเซเชท
เชธเซเชเซเชฐเชฟเชชเซเช เชเชพเชฎ เชเชฐเซ เชเซ, เชเชฌเซเชจเซเชเซ (18.04, 19.10, 20.04) เช
เชจเซ เชกเซเชฌเชฟเชฏเชจ 9 เชชเชฐ เชเชเชพเชธเชพเชฏเซเชฒ เชเซ. เชคเชฎเซ เชเซเชฐเชพเชจเซเชธเชฎเซเชเชฐ เชคเชฐเซเชเซ เช
เชจเซเชฏ เชเซเชเชชเชฃ เชธเซเชตเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เช
เชจเซเชญเชต เชฎเชพเชเซ เชฎเซเช Yandex.disk เชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ.
เชชเซเชฐเชฏเซเชเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชเชตเซเช เชเชพเชฃเชตเชพ เชฎเชณเซเชฏเซเช เชนเชคเซเช เชเซ เชเซเชเชฒเชพเช เชชเซเชฐเชเชพเชฐเชจเชพ NAT เชชเซเชฐเชฆเชพเชคเชพเช เชเซเชกเชพเชฃ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชคเชพ เชจเชฅเซ. เชฎเซเชเซเชฏเชคเซเชตเซ เชฎเซเชฌเชพเชเชฒ เชเชชเชฐเซเชเชฐเซ เชคเชฐเชซเชฅเซ เชเซเชฏเชพเช เชเซเชฐเซเชจเซเชเซเชธ เช
เชตเชฐเซเชงเชฟเชค เชเซ.
เชนเซเช เชเชจเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชธเซเชงเชพเชฐเซ เชเชฐเชตเชพเชจเซ เชฏเซเชเชจเชพ เชเชกเซ เชฐเชนเซเชฏเซ เชเซเช:
- เชเซเชฏเชพเชฐเซ เชชเชฃ เชคเชฎเซ เชฐเซเชฎเซเช เชจเซเชก เชชเชฐ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ secret.key เชจเซ เชเชชเซเชเชช เชเชจเชฐเซเชถเชจ เชถเชฐเซ เชเชฐเซ, เชเชจเซเชเซเชฐเชฟเชชเซเช เชเชฐเซ เช เชจเซ Yandex.disk เชชเชฐ เชเซเชชเชฟ เชเชฐเซ (เช เชชเชกเซเชเซเชก เชตเชฐเซเชเชจเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ)
- เชเชจเซเชเชฐเชซเซเชธเชจเชพ IP เชธเชฐเชจเชพเชฎเชพเชเชจเซ เชเชชเซเชเชช เชธเซเชเชชเชฃเซ
- Yandex.disk เชชเชฐ เช เชชเชฒเซเชก เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชกเซเชเชพเชจเซ เชเชจเซเชเซเชฐเชฟเชชเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
- เชเซเชก เชเชชเซเชเชฟเชฎเชพเชเชเซเชถเชจ
เชฆเชฐเซเช เชเชฐเชฎเชพเช IPv6 เชฐเชนเซเชตเชพ เชฆเซ!
เช
เชชเชกเซเช! เชจเชตเซเชจเชคเชฎ เชซเชพเชเชฒเซ เช
เชจเซ DEB เชชเซเชเซเช เช
เชนเซเช -
เชธเซเชฐเซเชธ: www.habr.com