DNS αžαžΆαž˜αžœαž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž”αŸ’αžšαžΎ CloudFlare

αž”αž»αž–αŸ’αžœαž€αžαžΆ

DNS αžαžΆαž˜αžœαž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž”αŸ’αžšαžΎ CloudFlare αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž•αŸ’αž‘αŸ‡ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ VSphere αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαŸ‰αŸ„αžαž‘αŸαžšαž“αž·αž˜αŸ’αž˜αž·αž αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌ αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αŸαžŒαŸ€ αž“αž·αž„αžšαž”αžŸαŸ‹αž›αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž αžΎαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸαŸ‡αž‚αž½αžšαžαŸ‚αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αž–αžΈαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž•αŸ’αžαž›αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‹αž·αžαž·αžœαž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹ αžŠαŸ‚αž›αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ„αž›αž”αŸ†αžŽαž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž„αž“αŸαŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎ ddclient + cloudflare αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαŸ”

αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž›αŸ’αž’αžšαž αžΌαžαžŠαž›αŸ‹ ddclient αžˆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αžŠαžΎαžšβ€‹αž›αŸαž„β€‹αž”αž“αŸ’αžαž·αž… αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αžŠαž›αŸ‹β€‹αž–αŸαž›β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžˆαžΎαž…αŸ’αžšαžαŸ‹ αž“αž·αž„β€‹αž€αž„αŸ‹ αžŠαŸ„αž™αžŸαžΆαžšβ€‹αžœαžΆβ€‹αž…αŸ†αžŽαžΆαž™β€‹αž–αŸαž›β€‹αž…αŸ’αžšαžΎαž“β€‹αž–αŸαž€β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαž€β€‹αž”αž‰αŸ’αž αžΆαŸ” αž“αŸ…αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž”αžΆαž“αž”αŸ’αžšαŸ‚αž‘αŸ…αž‡αžΆαžŠαŸαž˜αž·αž“αžαžΌαž…αž˜αž½αž™αžŠαŸ‚αž›αž‘αžΎαž”αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸαŸ”
αž”αžΎαž’αŸ’αž“αž€αžŽαžΆαž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αžŸαžΌαž˜αžŸαŸ’αžœαžΆαž‚αž˜αž“αŸαž˜αž€αž€αžΆαž“αŸ‹αž†αŸ’αž˜αžΆαŸ”

αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž› "វអ" αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžšαžΏαž„αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš cloudflare αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαžΉαž„ αž€αžΆαžš API. αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αž„αŸ’αž‚αž»αž™αž…αž»αŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Python (αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαŸ’αž‚αžΆαž›αŸ‹ Python αžαŸ’αž‰αž»αŸ†αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžΎαžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž¬αž“αŸ…αž–αŸαž›αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ) αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžŸαŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž‡αž½αž”αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαŸ’αž‘αžΎαžšαžαŸ‚αžšαž½αž…αžšαžΆαž›αŸ‹αŸ”
αž‡αžΆαž‘αžΌαž‘αŸ…αž€αžΆαžšαžšαž»αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž™αž€αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ python-cloudflare.

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž€αž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– DNS αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆ A αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž˜αž½αž™ αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž…αŸ†αž“αž½αž“αžαŸ†αž”αž“αŸ‹αž‚αŸ’αž˜αžΆαž“αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αŸ”

αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  1. αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‘αž‘αž½αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΈαžαŸ†αž”αž“αŸ‹αž–αžΈαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αžαžΆαž˜αžšαž™αŸˆαž–αž½αž€αžœαžΆ
  2. αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž“αžΈαž˜αž½αž™αŸ— αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αžαžΆαž˜αžšαž™αŸˆαž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆ DNS αž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαž”αŸ’αžšαž—αŸαž‘ A ឬ AAAA αž αžΎαž™αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž› IP αžŸαžΆαž’αžΆαžšαžŽαŸˆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆ
  3. αž”αŸ’αžšαžŸαž·αž“αž”αžΎ IP αžαž»αžŸαž‚αŸ’αž“αžΆ αžœαžΆαž“αžΉαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αŸ‚αž“αž‘αŸ αžœαžΆαžšαŸ†αž›αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αž˜αŸ’αžαž„αž‘αŸ€αž αž αžΎαž™αž”αž“αŸ’αžαž‘αŸ…αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‘αŸ€αžαŸ”
  4. αžŠαŸαž€αž›αž€αŸ‹αžαžΆαž˜αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

αž€αžΆαžšαžαŸ†αž‘αžΎαž„αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’

αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž€αž‰αŸ’αž…αž”αŸ‹ .deb αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž–αžΌαž€αŸ‚αž€αŸ’αž“αž»αž„αžšαžΏαž„αž“αŸαŸ‡αž‘αŸ αž αžΎαž™αžœαžΆαž˜αž·αž“αž–αž·αž”αžΆαž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ”
αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡αž™αŸ‰αžΆαž„αž›αž˜αŸ’αž’αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ README.md αž“αŸ… αž‘αŸ†αž–αŸαžšαžƒαŸ’αž›αžΆαŸ†αž„.

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αžŽαŸŒαž“αžΆαžœαžΆαž‡αžΆαž—αžΆαžŸαžΆαžšαž»αžŸαŸ’αžŸαžΈαž€αŸ’αž“αž»αž„αž“αŸαž™αž‘αžΌαž‘αŸ…αŸ–

  1. αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ python3 αž“αž·αž„ python3-pip αž”αžΎαž˜αž·αž“αž’αž‰αŸ’αž…αžΉαž„αž‘αŸ αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„αžœαžΆ (αž“αŸ…αž›αžΎ Windows αž“αŸ„αŸ‡ python3-pip αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžšαž½αž˜αž‡αžΆαž˜αž½αž™ Python)
  2. αž€αŸ’αž›αžΌαž“ αž¬αž‘αžΆαž‰αž™αž€αžƒαŸ’αž›αžΆαŸ†αž„
  3. αžŠαŸ†αž‘αžΎαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”
    python3 -m pip install -r requirements.txt

  4. αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ†αž‘αžΎαž„
    αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αŸ–

    chmod +x install.sh
    sudo ./install.sh

    αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΈαž“αžŠαžΌαŸ– windows_install.bat

  5. αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’
    αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αŸ–

    sudoedit /etc/zen-cf-ddns.conf

    αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΈαž“αžŠαžΌαŸ–

    αž”αžΎαž€αž―αž€αžŸαžΆαžš zen-cf-ddns.conf αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ”

    αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž―αž€αžŸαžΆαžš JSON αž’αž˜αŸ’αž˜αžαžΆ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‘αŸ - αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž‡αžΆαž–αž·αžŸαŸαžŸ 2 αžαŸ†αž”αž“αŸ‹αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αŸ”

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„?

install.sh αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αŸ–

  1. αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžŠαŸαž˜αž·αž“ αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž…αžΆαŸ†αž”αžΆαž…αŸ‹β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžαžβ€‹αž•αŸ’αž‘αŸ‡ αž“αž·αž„β€‹αž‚αŸ’αž˜αžΆαž“β€‹αž›αž‘αŸ’αž’αž—αžΆαž–β€‹αž…αžΌαž›αŸ”
    sudo useradd -r -s /bin/false zen-cf-ddns

  2. αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„ /var/log/
  3. αž’αŸ’αžœαžΎαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαŸ’αž˜αžΈαž‡αžΆαž˜αŸ’αž…αžΆαžŸαŸ‹αž“αŸƒαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»
  4. αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ (αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ’αž“αž»αž„ /etc αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αž€αŸ’αž“αž»αž„ /usr/bin αž―αž€αžŸαžΆαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž€αŸ’αž“αž»αž„ /lib/systemd/system)
  5. αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜

windows_install.bat αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ WindowsαŸ–

  1. αž…αž˜αŸ’αž›αž„αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ…αžαžαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹
  2. αž”αž„αŸ’αž€αžΎαžαž—αžΆαžšαž€αž·αž…αŸ’αž…αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’
    schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž… αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž’αŸ’αž›αžΆαž”αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹αŸ–

sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αž›αžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš pythonw αž αžΎαž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‘αžΎαž„αžœαž·αž‰ (αžαŸ’αž‰αž»αŸ†αžαŸ’αž‡αž·αž›αž–αŸαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows αž€αŸ’αž“αž»αž„ C#)αŸ–

taskkill /im pythonw.exe

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

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž…αž„αŸ‹αžƒαžΎαž‰αž€αžΌαžŠ Python αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αž’αžΆαžαž“αŸ„αŸ‡ αž˜αžΆαž“αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αžƒαŸ’αž›αžΆαŸ†αž„αž“αŸ…αž›αžΎ GitHub.

MIT αžŠαŸ‚αž›αž˜αžΆαž“αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžαŸ’αžαž»αž“αŸαŸ‡αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αžΉαž„αŸ”

PS: αžαŸ’αž‰αž»αŸ†β€‹αž™αž›αŸ‹β€‹αžαžΆβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž€αŸ’αž›αžΆαž™β€‹αž‘αŸ…β€‹αž‡αžΆβ€‹αžˆαžΎαž…αŸ’αžšαžαŸ‹β€‹αž”αž“αŸ’αžαž·αž… αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αžšαž”αžŸαŸ‹β€‹αžœαžΆβ€‹αžŠαŸ„αž™β€‹αž”αž“αŸ’αž‘αž»αŸ‡αŸ”

UPDαŸ– 11.10.2019/17/37 αž˜αŸ‰αŸ„αž„ XNUMX:XNUMX
αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αžšαž€β€‹αžƒαžΎαž‰β€‹αž”αž‰αŸ’αž αžΆ 1 αž‘αŸ€αž αž αžΎαž™β€‹αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αž“αžšαžŽαžΆβ€‹αž˜αŸ’αž“αžΆαž€αŸ‹β€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž‰αž»αŸ†β€‹αž–αžΈβ€‹αžœαž·αž’αžΈβ€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αžœαžΆ αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αžŠαžΉαž„β€‹αž‚αž»αžŽβ€‹αž‡αžΆβ€‹αžαŸ’αž›αžΆαŸ†αž„αŸ”
αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ sudo python -m pip install -r ... αž“αŸ„αŸ‡αž˜αŸ‰αžΌαžŒαž»αž›αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž–αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αŸαž αžΎαž™αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž…αž„αŸ‹αž”αž„αŸ’αžαŸ†αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž±αŸ’αž™αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž›αž“αŸ…αž€αŸ’αžšαŸ„αž˜ sudo αž‘αŸ αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆ αž˜αž·αž“β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”
αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž˜αžΎαž›αž‘αŸ…αžŸαŸ’αžšαžŸαŸ‹αžŸαŸ’αž’αžΆαž?
UPD: 11.10.2019/19/16 XNUMX:XNUMX αž”αž‰αŸ’αž αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ venv αŸ”
αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž“αžΉαž„αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αžαŸ’αž„αŸƒαžαžΆαž„αž˜αž»αžαŸ”

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

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