αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ VPN αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžšαžœαžΆαž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžαžΆαž˜αžšαž™αŸˆ NAT αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ (αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ VPS αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž“αž·αž„ Yandex.disk)

αž”αž“αŸ’αž αž’αžαŸ’αžαž”αž‘ αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ VPN αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžšαžœαžΆαž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž–αžΈαžšαžŠαŸ‚αž›αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ NAT αŸ” αž’αžαŸ’αžαž”αž‘αž˜αž»αž“αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αž–αžΈαž—αžΆαž‚αžΈαž‘αžΈαž”αžΈ - αž’αž“αŸ’αžαžšαž€αžΆαžšαžΈ ( VPS αž‡αž½αž›αžŠαžΎαžšαžαž½αž‡αžΆαž’αŸ’αžœαžΈαž˜αž½αž™αžŠαžΌαž…αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž“αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹) αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ VPS αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αž“αŸ’αžαžšαž€αžΆαžšαžΈαž“αŸ…αžαŸ‚αž˜αžΆαž“αž αžΎαž™αž–αž½αž€αž‚αŸαž‚αžΊαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž“αž·αž„ Yandex.Disk...
αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ VPN αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžšαžœαžΆαž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžαžΆαž˜αžšαž™αŸˆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ NATs (αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ VPS αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž“αž·αž„ Yandex.disk)

αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αžΆαž“αž’αžΆαž“αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž˜αž»αž“ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·αž…αž˜αŸ’αž”αž„αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‚αžΊαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αŸ’αžαžšαž€αžΆαžšαžΈ - αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈ (VPS) αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαžαŸ’αž“αžΆαŸ†αž„ αž€αž“αŸ’αž›αŸ‚αž„ αž“αž·αž„αžšαž”αŸ€αž”αž—αŸ’αž‡αžΆαž”αŸ‹αŸ” αž–αž·αž…αžΆαžšαžŽαžΆαž›αžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ STUN αž“αŸαŸ‡ (αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αŸ”) αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ’αžšαžΎ TCPDump αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž’αžαž·αžαž·αž‡αž“ αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαžŠαŸ‚αž›αž˜αž·αž“αž’αžΆαž…αž’αžΆαž“αž”αžΆαž“αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” Googling αž–αž·αž’αžΈαž€αžΆαžšαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹ αž’αžαŸ’αžαž”αž‘αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž–αž·αž’αžΈαž€αžΆαžš. αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž’αžΆαž…αž’αž“αž»αžœαžαŸ’αžαžŸαŸ†αžŽαžΎαž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ αž αžΎαž™αžŠαžΆαž€αŸ‹αž‚αŸ†αž“αž·αžαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ "αž”αŸ’αžšαž’αž”αŸ‹αž†αŸ’αž„αžΆαž™" αŸ”

αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ

αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αž“αŸ…αž›αžΎ Debian αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹

# apt install stun-server

αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžƒαžΎαž‰αž€αž‰αŸ’αž…αž”αŸ‹αž’αžαž·αžαž·αž‡αž“αž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž› αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž”αžΆαž“αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αžœαžΆαž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αžšαŸ„αž™αž˜αž€ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αž„αž…αžΆαŸ†αž’αŸ†αž–αžΈαž€αž‰αŸ’αž…αž”αŸ‹αž’αžαž·αžαž·αž‡αž“αžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž› αž αžΎαž™αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž αŸ’αž‚αžΌαž αŸ’αž‚αž› αž“αž·αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž“αŸ…αž€αŸ’αž“αž»αž„ Yandex αžαŸ’αž‰αž»αŸ†αž‘αž‘αž½αž›αž”αžΆαž“αŸ–

# apt install stun-client
# stun stun.ekiga.net -p 21234 -v

αž‡αžΆαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‘αž‘αž½αž›αŸ–

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ STUN αž€αŸ†αžŽαŸ‚ 0.97
αž”αžΆαž“αž”αžΎαž€αž…αŸ’αžšαž€ 21234 αž‡αžΆαž˜αž½αž™ fd 3
αž”αžΆαž“αž”αžΎαž€αž…αŸ’αžšαž€ 21235 αž‡αžΆαž˜αž½αž™ fd 4
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžš stun: 92 bytes
MappedAddress = <My IP>:2885
αž”αŸ’αžšαž—αž–αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ = 216.93.246.18:3478
ChangeedAddress = 216.93.246.17:3479
αž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαŸ– 32800
ServerName = Vovida.org 0.98-CPC
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžšαž”αŸ’αžšαž—αŸαž‘ 257 id=1
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.17:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… <My IP>:2885
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžš stun: 28 bytes
αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ†αžŽαžΎ = 0
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžšαž”αŸ’αžšαž—αŸαž‘ 1 id=11
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.17:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžš stun: 92 bytes
MappedAddress = <My IP>:2885
αž”αŸ’αžšαž—αž–αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ = 216.93.246.17:3479
ChangeedAddress = 216.93.246.18:3478
αž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαŸ– 32800
ServerName = Vovida.org 0.98-CPC
αž”αžΆαž“αž‘αž‘αž½αž›αžŸαžΆαžšαž”αŸ’αžšαž—αŸαž‘ 257 id=10
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαžΆαžšαžšαŸ†αžαžΆαž“αŸ–
αž€αžΆαžšβ€‹αž”αŸ†αž”αŸ’αž›αŸ‚αž„β€‹αž€αžΆαžšβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠαŸ– ០

αž’αŸ†αž–αžΈβ€‹αž€αžΆαžšβ€‹αž•αŸ’αž‰αžΎβ€‹αžŸαžΆαžšβ€‹αžšαž”αžŸαŸ‹ len 28 αž‘αŸ… 216.93.246.18:3478
αžαŸαžŸαŸ’αž I = 1
αžαŸαžŸαŸ’αž II = 0
αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž III = 0
αžαŸαžŸαŸ’αž I(2) = 1
αž‚αžΊ nat = 1
αž•αŸ‚αž“αž‘αžΈ IP αžŠαžΌαž…αž‚αŸ’αž“αžΆ = 1
αž˜αŸ’αž‡αž»αž›αžŸαž€αŸ‹ = ៑
αž…αŸ’αžšαž€αž€αžΆαžšαž–αžΆαžš = 0
αž”αž‹αž˜αŸ– αž€αžΆαžšαž‚αžΌαžŸαž•αŸ‚αž“αž‘αžΈαž―αž€αžšαžΆαž‡αŸ’αž™ αžαž˜αŸ’αžšαž„αž’αžΆαžŸαŸ’αžšαŸαž™αž€αŸ†αž–αž„αŸ‹αž•αŸ‚ αž…αŸ’αžšαž€αž…αŸƒαžŠαž“αŸ’αž™ αž“αžΉαž„αž€αžΆαžαŸ‹αžŸαž€αŸ‹
αžαž˜αŸ’αž›αŸƒαžαŸ’αžšαž‘αž”αŸ‹αž‚αžΊ 0x000006

αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž˜αŸ’αž›αŸƒ

MappedAddress = <My IP>:2885

αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžš! αžœαžΆαž”αž„αŸ’αž αžΆαž‰αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž“αŸ…αž›αžΎαž…αŸ’αžšαž€ UDP αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ 21234αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαž”αŸ’αžšαž™αž»αž‘αŸ’αž’αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αžŸαŸ†αžŽαž½αžšαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ αž“αž·αž„αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ VPN αŸ” αž”αŸ’αžšαžΎαž–αž·αž’αžΈαž€αžΆαžšαžŸαŸ†αž”αž»αžαŸ’αžš αž¬αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆ Telegram?! αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ’αžšαžΎ Yandex.disk αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹ αž’αžαŸ’αžαž”αž‘αž’αŸ†αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžš Curl αžαžΆαž˜αžšαž™αŸˆ WebDav αž‡αžΆαž˜αž½αž™ Yandex.disk. αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž‚αž·αžαž–αžΈαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžšαž½αž…αž˜αž€ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‚αž˜αŸ’αžšαŸ„αž„αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  1. αžŸαž‰αŸ’αž‰αžΆαžαžΆαžαŸ’αž“αžΆαŸ†αž„αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αž‡αžΆαžŸαŸ’αžšαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αžœαžαŸ’αžαž˜αžΆαž“αž“αŸƒαž―αž€αžŸαžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αžαŸ’αžšαžΆαž–αŸαž›αžœαŸαž›αžΆαž“αŸ…αž›αžΎ Yandex.disk;
  2. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž“αžΆαŸ†αž„αžšαž½αž…αžšαžΆαž›αŸ‹ αž“αŸ„αŸ‡αž‘αž‘αž½αž›αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ STUN αŸ”
  3. αž•αŸ’αž‘αž»αž€αž‘αžΎαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž‘αŸ… Yandex.disk;
  4. αž–αž·αž“αž·αžαŸ’αž™αžœαžαŸ’αžαž˜αžΆαž“ αž“αž·αž„αž’αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž“αŸƒαžαŸ’αž“αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž–αžΈαž―αž€αžŸαžΆαžšαž“αŸ…αž›αžΎ Yandex.disk;
  5. αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ 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

αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ–

  1. αž…αž˜αŸ’αž›αž„αž‘αŸ…αž€αŸ’αžŠαžΆαžšαžαž˜αŸ’αž”αŸ€αžαžαŸ’αž‘αžΆαžŸαŸ‹ αž αžΎαž™αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’ αž§αž‘αžΆαž αžšαžŽαŸαŸ–
    # nano vpn8.sh 
  2. αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Yandex.disk αŸ”
  3. αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž› "β€”ifconfig 10.45.54.(1 ឬ 2) 255.255.255.252" αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžαžΆαž„αž€αŸ’αž“αž»αž„αž“αŸƒαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹
  4. αž”αž„αŸ’αž€αžΎαž secret.key αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ–
    # openvpn --genkey --secret secret.key 
  5. αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αŸ–
    # chmod +x vpn8.sh
  6. αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ–
    # ./vpn8.sh nZbVGBuX5dtturD

    αžŠαŸ‚αž› nZbVGBuX5dtturD αž‚αžΊαž‡αžΆαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αŸ…αž‘αžΈαž“αŸαŸ‡

αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž secret.key αž“αž·αž„αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘αŸ”

αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– (αž–αŸαž›αžœαŸαž›αžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ)αŸ–

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

αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ–

  1. αž…αž˜αŸ’αž›αž„αž‘αŸ…αž€αŸ’αžŠαžΆαžšαžαž˜αŸ’αž”αŸ€αžαžαŸ’αž‘αžΆαžŸαŸ‹ αž αžΎαž™αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’ αž§αž‘αžΆαž αžšαžŽαŸαŸ–
    # nano vpn10.sh 
  2. αž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαž…αžΌαž› (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΈ 2) αž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Yandex.disk (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΈ 3) αŸ”
  3. αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžαžΆαž„αž€αŸ’αž“αž»αž„αž“αŸƒαž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ (αž”αž“αŸ’αž‘αžΆαžαŸ‹αž‘αžΈ 4) αŸ”
  4. αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αŸ–
    # chmod +x vpn10.sh
  5. αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ–
    # ./vpn10.sh nZbVGBuX5dtturD

    αžŠαŸ‚αž› nZbVGBuX5dtturD αž‚αžΊαž‡αžΆαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αŸ…αž‘αžΈαž“αŸαŸ‡

αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ αž’αŸ’αžœαžΎαžŠαžΌαž…αž‚αŸ’αž“αžΆ αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžαžΆαž„αž€αŸ’αž“αž»αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸƒαž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ αž“αž·αž„αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž–αŸαž›αž”αžΎαž€ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ β€œnohup /<path to the script>/vpn10.sh nZbVGBuX5dtturD > /var/log/vpn10.log 2>/dev/null &” αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš /etc/ rc.local

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαŸ„αž™αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž›αžΎ Ubuntu (18.04, 19.10, 20.04) αž“αž·αž„ Debian 9αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‡αžΆαž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΌαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎ Yandex.disk αŸ”
αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸƒαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸ αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžšαž€αžƒαžΎαž‰αžαžΆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹ NAT αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αž˜αž·αž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸαŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž˜αž€αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž…αž›αŸαžαžŠαŸ‚αž› torrent αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„αŸ”

αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž€αŸ‚αž›αž˜αŸ’αž’αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αŸ–

  • αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž secret.key αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž” αž“αž·αž„αž…αž˜αŸ’αž›αž„αž‘αŸ… Yandex.disk αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‘αŸαžšαž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™ (αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–)
  • αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž“αŸƒαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹
  • αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž»αž“αž–αŸαž›αž•αŸ’αž‘αž»αž€αž‘αžΎαž„αž‘αŸ…αž€αžΆαž“αŸ‹ Yandex.disk
  • αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αžΌαžŠ

αžŸαžΌαž˜αž±αŸ’αž™αž˜αžΆαž“ IPv6 αž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž•αŸ’αž‘αŸ‡!

αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–! αž―αž€αžŸαžΆαžšαž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž“αž·αž„αž€αž‰αŸ’αž…αž”αŸ‹ DEB αž“αŸ…αž‘αžΈαž“αŸαŸ‡ - yandex.disk

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹