I ngcaciso
Ngeemfuno zomntu ekhaya, ndifake i-VSphere, apho ndiqhuba i-router ebonakalayo kunye ne-Ubuntu iseva njengomncedisi weendaba kunye neqela lezinye izinto ezilungileyo, kwaye le seva kufuneka ifumaneke kwi-Intanethi. Kodwa ingxaki kukuba umboneleli wam unika idatha engatshintshiyo yemali, enokuhlala isetyenziselwa iinjongo eziluncedo. Ke ngoko, ndisebenzise indibaniselwano ye-ddclient + cloudflare.
Yonke into yayihamba kakuhle de u-ddclient wayeka ukusebenza. Emva kokuphonononga indawo encinane, ndaqonda ukuba lalifikile ixesha leentonga neebhayisekile, ekubeni kwakuthabatha ixesha elide ukufumana ingxaki. Ekugqibeleni, yonke into yajika yaba yidaemon encinci esebenzayo nje, kwaye andidingi enye into.
Ukuba nabani na onomdla, wamkelekile kwikati.
Izixhobo ezisetyenzisiweyo kunye nendlela "esebenza ngayo".
Ke into yokuqala endiyifumeneyo kwiwebhusayithi yecloudflare yiyo yonke into ekufuneka uyazi ngayo
Ngokuqhelekileyo, i-wrapper yathathwa njengesiseko
Ndithathe omnye wemizekelo yokuhlaziya i-DNS kwaye ndongeza ukusetyenziswa kwefayile yoqwalaselo kunye nokukwazi ukuhlaziya iirekhodi ezininzi ze-A ngaphakathi kwendawo kwaye, ngokuqinisekileyo, inani elingenamkhawulo lezowuni.
Ingqiqo imi ngolu hlobo lulandelayo:
- Iscript sifumana uluhlu lwezowuni ukusuka kwifayile yoqwalaselo kwaye ijike ngayo
- Kwindawo nganye, iskripthi singena kwirekhodi nganye ye-DNS yohlobo A okanye i-AAAA kwaye ijonga i-IP yoLuntu ngerekhodi.
- Ukuba i-IP yahlukile, iyayitshintsha; ukuba akunjalo, itsiba i-loop iteration kwaye idlulele kwelandelayo.
- Ulala ngexesha elichaziweyo kuqwalaselo
Ukufakwa kunye noqwalaselo
Kunokwenzeka ukuba wenze iphakheji ye-.deb, kodwa andilungile kule nto, kwaye ayisiyiyo yonke into enzima.
Ndiyichaze inkqubo ngokweenkcukacha ezinkulu kwi README.md on
Kodwa ukuba kunokwenzeka, ndiza kuyichaza ngesiRashiya ngokubanzi:
- Qinisekisa ukuba une-python3 kunye ne-python3-pip efakiweyo, ukuba akunjalo, yifake (kwiWindows, i-python3-pip ifakwe kunye nePython)
- Clone okanye ukhuphele indawo yokugcina
- Faka ukuxhomekeka okufunekayo.
python3 -m pip install -r requirements.txt
- Qhuba iscript sokufakela
KwiLinux:chmod +x install.sh sudo ./install.sh
KwiiWindows: windows_install.bat
- Hlela ifayile yoqwalaselo
KwiLinux:sudoedit /etc/zen-cf-ddns.conf
ZeWindows:
Vula i-zen-cf-ddns.conf ifayile kwifolda apho ufake khona umbhalo.
Le yifayile ye-JSON eqhelekileyo, izicwangciso azikho nto inzima - ndichaze ngokukodwa iindawo ezi-2 ezahlukeneyo kuyo njengomzekelo.
Yintoni ngasemva kwezifakeli?
install.sh ye Linux:
- Umsebenzisi uyilelwe ukuqhuba i-daemon, ngaphandle kokwenza ulawulo lwasekhaya kwaye ngaphandle kokungena ngemvume.
sudo useradd -r -s /bin/false zen-cf-ddns
- Ifayile yelog yenziwe kwi/var/log/
- Yenza umsebenzisi omtsha owenziwe umnini wefayile yelog
- Iifayile zikhutshelwa kwiindawo zazo (config in / etc, ifayile ephunyeziweyo kwi / usr / bin, ifayile yenkonzo kwi /lib/systemd/system)
- Inkonzo ivuliwe
windows_install.bat yeeWindows:
- Ikhuphela ifayile ephunyezwayo kunye noqwalaselo kwifolda ekhankanyiwe ngumsebenzisi
- Yenza umsebenzi kumcwangcisi wokuqhutywa kweskripthi kuqalo lwesixokelelwano
schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart
Emva kokutshintsha uqwalaselo, iskripthi sidinga ukuqaliswa kwakhona; kwiLinux yonke into ilula kwaye iqhelekile:
sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status
yeWindows kuya kufuneka ubulale inkqubo yepythonw kwaye uphinde usebenzise iskripthi (ndonqena ukubhala inkonzo yeWindows kwiC #):
taskkill /im pythonw.exe
Oku kugqiba ukufakela kunye noqwalaselo, uyonwabele kwimpilo yakho.
Kwabo bafuna ukubona ikhowudi yePython engentle kangako, nantsi
I-MIT inelayisensi, ke yenza ngale nto into oyithandayo.
P.S.: Ndiyaqonda ukuba yajika yaba yintonga nje, kodwa yenza umsebenzi wayo ngesithonga.
UPD: 11.10.2019/17/37 XNUMX:XNUMX
Ndifumene ingxaki enye, kwaye ukuba umntu undixelela indlela yokuyicombulula, ndiya kubulela kakhulu.
Ingxaki kukuba ukuba ufaka ukuxhomekeka ngaphandle kwe-sudo python -m pip install -r ..., ngoko iimodyuli aziyi kubonakala kumsebenzisi wenkonzo, kwaye andithandi ukunyanzela abasebenzisi ukuba bafake iimodyuli phantsi kwe-sudo, kwaye oku ku ayilunganga.
Indlela yokwenza ibonakale intle?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Ingxaki yasonjululwa kusetyenziswa i-venv.
Kuye kwakho utshintsho oluninzi. Ukukhutshwa okulandelayo kuya kuba kwiintsuku ezimbalwa ezizayo.
umthombo: www.habr.com