เจชเฉเจฐเจฆเจพเจคเจพ NATs เจฆเฉเจ†เจฐเจพ เจ•เฉฐเจชเจฟเจŠเจŸเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเจฟเฉฑเจงเฉ€ VPN เจธเฉเจฐเฉฐเจ— (VPS เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚, STUN เจธเจฐเจตเจฐ เจ…เจคเฉ‡ Yandex.disk เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ)

เจœเจพเจฐเฉ€ เจฒเฉ‡เจ– เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เจฟ เจฎเฉˆเจ‚ NAT เจชเฉเจฐเจฆเจพเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจธเจฅเจฟเจค เจฆเฉ‹ เจ•เฉฐเจชเจฟเจŠเจŸเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจธเจฟเฉฑเจงเฉ€ VPN เจธเฉเจฐเฉฐเจ— เจฆเจพ เจชเฉเจฐเจฌเฉฐเจง เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเจพเฅค เจชเจฟเจ›เจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ - เจ‡เฉฑเจ• เจตเจฟเจšเฉ‹เจฒเฉ‡ (เจ‡เฉฑเจ• เจ•เจฟเจฐเจพเจ เจฆเจพ VPS เจ‡เฉฑเจ• STUN เจธเจฐเจตเจฐ เจ…เจคเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจจเฉ‹เจก เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจธเจฎเฉ€เจŸเจฐ เจตเจพเจ‚เจ— เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ)เฅค เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเจš เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจ•เจฟ เจฎเฉˆเจ‚ VPS เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เฉ€เจคเจพ, เจชเจฐ เจตเจฟเจšเฉ‹เจฒเฉ‡ เจฐเจนเฉ‡ เจ…เจคเฉ‡ เจ‰เจน STUN เจธเจฐเจตเจฐ เจ…เจคเฉ‡ Yandex.Disk เจธเจจ...
เจชเฉเจฐเจฆเจพเจคเจพ NATs เจฆเฉเจ†เจฐเจพ เจ•เฉฐเจชเจฟเจŠเจŸเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเจฟเฉฑเจงเฉ€ VPN เจธเฉเจฐเฉฐเจ— (VPS เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚, STUN เจธเจฐเจตเจฐ เจ…เจคเฉ‡ Yandex.disk เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ)

เจœเจพเจฃ เจชเจ›เจพเจฃ

เจชเจฟเจ›เจฒเฉ€ เจชเฉ‹เจธเจŸ เจฆเฉ€เจ†เจ‚ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจนเจฟเจธเจพเจธ เจนเฉ‹เจ‡เจ† เจ•เจฟ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฎเฉเฉฑเจ– เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ‡เฉฑเจ• เจตเจฟเจšเฉ‹เจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเฉ€ - เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€ เจงเจฟเจฐ (VPS) เจœเฉ‹ เจจเฉ‹เจก เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจ•เจฟเฉฑเจฅเฉ‡ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจœเฉเฉœเจจเจพ เจนเฉˆ. เจ‡เจธ STUN (เจœเจฟเจธ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจนเจจ) เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฎเจพเจชเจฆเฉฐเจก เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆเฅค เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉˆเจ‚ เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฒเจˆ TCPDump เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจœเจฆเฉ‹เจ‚ STUN เจธเจฐเจตเจฐ เจ—เจพเจนเจ•เจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจธเฉ€ เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพ-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจธเจฎเฉฑเจ—เจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เฅค เจฎเฉ‡เจฐเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจ—เฉ‚เจ—เจฒ เจ•เจฐเจจเจพ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจตเจพเจฒเจพ เจฒเฉ‡เจ–. เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจนเจฟเจธเจพเจธ เจนเฉ‹เจ‡เจ† เจ•เจฟ เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช 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 เจฌเจพเจˆเจŸเจธ
เจฎเฉˆเจชเจก เจเจกเจฐเฉˆเฉฑเจธ = <เจฎเฉ‡เจฐเจพ 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

len 28 เจฆเจพ msg <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 เจฌเจพเจˆเจŸเจธ
เจฎเฉˆเจชเจก เจเจกเจฐเฉˆเฉฑเจธ = <เจฎเฉ‡เจฐเจพ 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
เจจเจพเจŸ = 1 เจนเฉˆ
เจฎเฉˆเจช เจ•เฉ€เจคเจพ IP เจธเจฎเจพเจจ = 1
เจ•เฉ‡เจ…เจฐเจชเจฟเจจ = 1
เจชเฉเจฐเฉ€เจœเจผเจฐเจตเจฐ เจชเฉ‹เจฐเจŸ = 0
เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€: เจธเฉเจคเฉฐเจคเจฐ เจฎเฉˆเจชเจฟเฉฐเจ—, เจชเฉ‹เจฐเจŸ เจจเจฟเจฐเจญเจฐ เจซเจฟเจฒเจŸเจฐ, เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจชเฉ‹เจฐเจŸ, เจนเฉ‡เจ…เจฐเจชเจฟเจจ
เจตเจพเจชเจธเฉ€ เจฆเจพ เจฎเฉเฉฑเจฒ 0x000006 เจนเฉˆ

เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจจเจพเจฒ เจธเจคเจฐ

เจฎเฉˆเจชเจก เจเจกเจฐเฉˆเฉฑเจธ = <เจฎเฉ‡เจฐเจพ IP>:2885

เจฌเฉฑเจธ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ! เจ‡เจน เจธเจฅเจพเจจเจ• UDP เจชเฉ‹เจฐเจŸ 21234 'เจคเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจธเจฟเจฐเจซ เจ…เฉฑเจงเฉ€ เจฒเฉœเจพเจˆ เจนเฉˆ; เจธเจตเจพเจฒ เจ‡เจน เจชเฉˆเจฆเจพ เจนเฉ‹เจ‡เจ† เจ•เจฟ เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฐเจฟเจฎเฉ‹เจŸ เจนเฉ‹เจธเจŸ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• VPN เจ•เจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจฎเฉ‡เจฒ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ, เจœเจพเจ‚ เจธเจผเจพเจ‡เจฆ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ?! เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจตเจฟเจ•เจฒเจช เจนเจจ เจ…เจคเฉ‡ เจฎเฉˆเจ‚ Yandex.disk เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ†เจ‡เจ† เจธเฉ€ Yandex.disk เจจเจพเจฒ WebDav เจฐเจพเจนเฉ€เจ‚ เจ•เจฐเจฒ เจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจฒเฉ‡เจ–. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจธเจ•เฉ€เจฎ เจฒเฉˆ เจ•เฉ‡ เจ†เจ‡เจ† เจนเจพเจ‚:

  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 เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ 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

เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจนเฉˆ:

  1. เจ•เจฒเจฟเฉฑเจชเจฌเฉ‹เจฐเจก เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเฉฐเจชเจพเจฆเจ• เจตเจฟเฉฑเจš เจชเฉ‡เจธเจŸ เจ•เจฐเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ:
    # nano vpn10.sh 
  2. Yandex.disk (เจคเฉ€เจœเฉ€ เจฒเจพเจˆเจจ) เจฒเจˆ เจฒเจพเจ—เจ‡เจจ (เจฆเฉ‚เจœเฉ€ เจฒเจพเจˆเจจ) เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจธเจพเจ“เฅค
  3. เจธเฉเจฐเฉฐเจ— (4เจตเฉ€เจ‚ เจฒเจพเจˆเจจ) เจฆเจพ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ IP เจชเจคเจพ เจฆเจฟเจ“เฅค
  4. เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจšเฉฑเจฒเจฃเจฏเฉ‹เจ— เจฌเจฃเจพเจ“:
    # chmod +x vpn10.sh
  5. เจธเจ•เฉเจฐเจฟเจชเจŸ เจšเจฒเจพเจ“:
    # ./vpn10.sh nZbVGBuX5dtturD

    เจœเจฟเฉฑเจฅเฉ‡ nZbVGBuX5dtturD เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ ID เจนเฉˆ เจ‡เฉฑเจฅเฉ‡

เจฐเจฟเจฎเฉ‹เจŸ เจจเฉ‹เจก 'เจคเฉ‡, เจ‰เจนเฉ€ เจ•เจฐเฉ‹, เจธเฉเจฐเฉฐเจ— เจ…เจคเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจ ID เจฆเจพ เจ…เจจเฉเจธเจพเจฐเฉ€ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ IP เจชเจคเจพ เจฆเจฟเจ“เฅค

เจšเจพเจฒเฉ‚ เจนเฉ‹เจฃ 'เจคเฉ‡ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ†เจŸเฉ‹เจฐเจจ เจ•เจฐเจจ เจฒเจˆ, เจฎเฉˆเจ‚ /etc/ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ "nohup /<path to the script>/vpn10.sh nZbVGBuX5dtturD > /var/log/vpn10.log 2>/dev/null &" เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค rc.local

เจธเจฟเฉฑเจŸเจพ

เจธเจ•เฉเจฐเจฟเจชเจŸ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ‰เจฌเฉฐเจŸเฉ‚ (18.04, 19.10, 20.04) เจ…เจคเฉ‡ เจกเฉ‡เจฌเฉ€เจ…เจจ 9 'เจคเฉ‡ เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจฎเฉ€เจŸเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจ…เจจเฉเจญเจต เจฒเจˆ เจฎเฉˆเจ‚ Yandex.disk เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค
เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, เจ‡เจน เจชเจคเจพ เจฒเฉฑเจ—เจพ เจ•เจฟ เจ•เฉเจ เจ•เจฟเจธเจฎ เจฆเฉ‡ NAT เจชเฉเจฐเจฆเจพเจคเจพ เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉ‹เจฌเจพเจˆเจฒ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจŸเฉ‹เจฐเฉˆเจ‚เจŸ เจฌเจฒเฉŒเจ• เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจฎเฉˆเจ‚ เจ‡เจนเจจเจพเจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจฟเจนเจพ เจนเจพเจ‚:

  • เจนเจฐ เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจฐเจฟเจฎเฉ‹เจŸ เจจเฉ‹เจก เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจจ เจฒเจˆ Yandex.disk เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ…เจคเฉ‡ เจ•เจพเจชเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ secret.key เจฆเฉ€ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจชเฉ€เฉœเฉเจนเฉ€ (เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ)
  • เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ‡ IP เจชเจคเจฟเจ†เจ‚ เจฆเฉ€ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ
  • Yandex.disk 'เจคเฉ‡ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเจจเจพ
  • เจ•เฉ‹เจก เจ…เจจเฉเจ•เฉ‚เจฒเจจ

เจนเจฐ เจ˜เจฐ เจตเจฟเฉฑเจš IPv6 เจนเฉ‹เจฃ เจฆเจฟเจ“!

เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ! เจ‡เฉฑเจฅเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจซเจพเจˆเจฒเจพเจ‚ เจ…เจคเฉ‡ DEB เจชเฉˆเจ•เฉ‡เจœ - yandex.disk

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹