Isibikezelo
Ngezidingo zomuntu siqu ekhaya, ngifake i-VSphere, lapho ngisebenzisa khona irutha ebonakalayo kanye neseva ye-Ubuntu njengeseva yemidiya kanye nenqwaba yezinye izinto ezinhle, futhi le seva kufanele itholakale ku-inthanethi. Kodwa inkinga ukuthi umhlinzeki wami unikeza idatha emile yemali, engahlala isetshenziselwe izinjongo eziwusizo kakhulu. Ngakho-ke, ngisebenzise inhlanganisela ye-ddclient + cloudflare.
Konke kwakuhamba kahle kwaze kwaba yilapho u-ddclient eyeka ukusebenza. Ngemva kokuphenya kancane, ngabona ukuthi sase sifikile isikhathi sezinduku namabhayisikili, njengoba kwakuthatha isikhathi esiningi ukuthola inkinga. Ekugcineni, yonke into yaphenduka i-daemon encane esebenza nje, futhi angidingi lutho olunye.
Uma kukhona onentshisekelo, wamukelekile ekatini.
Amathuluzi asetshenzisiwe nokuthi "it" isebenza kanjani
Ngakho-ke into yokuqala engiyitholile kuwebhusayithi ye-cloudflare yikho konke odinga ukukwazi ngakho
Ngokuvamile, i-wrapper yathathwa njengesisekelo
Ngithathe esinye sezibonelo zokubuyekeza i-DNS futhi ngengeza ukusetshenziswa kwefayela lokumisa kanye nekhono lokuvuselela amarekhodi amaningana A ngaphakathi kwendawo futhi, yiqiniso, inombolo engenamkhawulo yezindawo.
I-logic imi kanje:
- Iskripthi sithola uhlu lwamazoni ukusuka kufayela lokumisa futhi lungene kuwo
- Ezoni ngayinye, umbhalo uyangena kurekhodi ngalinye le-DNS lohlobo A noma i-AAAA bese uhlola i-IP Yomphakathi ngerekhodi.
- Uma i-IP ihlukile, iyayishintsha; uma kungenjalo, yeqa i-loop iteration bese idlulela kokulandelayo.
- Ilala ngesikhathi esishiwo kulungiselelo
Ukufakwa nokumiswa
Cishe kungenzeka ukwenza iphakheji ye-.deb, kodwa angilungile kulokhu, futhi akunzima kangako.
Ngichaze inqubo ngokuningiliziwe kokuthi README.md at
Kodwa uma kwenzeka, ngizoyichaza ngesiRashiya ngamagama ajwayelekile:
- Qinisekisa ukuthi ufake i-python3 ne-python3-pip, uma kungenjalo, yifake (ku-Windows, i-python3-pip ifakiwe kanye nePython)
- Clone noma landa inqolobane
- Faka okuncikile okudingekayo.
python3 -m pip install -r requirements.txt
- Qalisa iskripthi sokufaka
Okwe-Linux:chmod +x install.sh sudo ./install.sh
OkweWindows: windows_install.bat
- Hlela ifayela lokumisa
Okwe-Linux:sudoedit /etc/zen-cf-ddns.conf
OkweWindows:
Vula ifayela le-zen-cf-ddns.conf kufolda ofake kuyo umbhalo.
Leli ifayela le-JSON elivamile, izilungiselelo aziyona into eyinkimbinkimbi - ngichaze ngokukhethekile izindawo ezi-2 ezihlukene kulo njengesibonelo.
Yini engemuva kwabafaki?
install.sh ye-Linux:
- Umsebenzisi udalelwa ukusebenzisa i-daemon, ngaphandle kokudala uhla lwemibhalo lwasekhaya futhi ngaphandle kwekhono lokungena ngemvume.
sudo useradd -r -s /bin/false zen-cf-ddns
- Ifayela lokungena lakhiwe ku-/var/log/
- Yenza umsebenzisi osanda kwakhiwa abe umnikazi wefayela lokungena
- Amafayela akopishelwe ezindaweni zawo (hlela ku / njll, ifayela elisebenzisekayo ku /usr/bin, ifayela lensiza ku/lib/systemd/system)
- Isevisi icushiwe
windows_install.bat yeWindows:
- Ikopisha ifayela elisebenzisekayo nelilungiswayo kufolda eshiwo umsebenzisi
- Idala umsebenzi kusihleli ukuze iqalise iskripthi ekuqaleni kwesistimu
schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart
Ngemuva kokushintsha ukucushwa, iskripthi sidinga ukuqaliswa kabusha; ku-Linux yonke into ilula futhi ijwayelekile:
sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status
ku-Windows kuzodingeka ubulale inqubo ye-pythonw futhi uphinde usebenzise iskripthi (ngivilapha kakhulu ukubhala insiza yeWindows ku-C #):
taskkill /im pythonw.exe
Lokhu kuqeda ukufakwa nokumisa, kujabulele empilweni yakho.
Kulabo abafuna ukubona ikhodi yePython engeyinhle kangako, nansi
I-MIT ilayisensi, ngakho yenza lokhu okufunayo.
PS: Ngiyaqonda ukuthi kuvele kwaba wudondolo, kodwa iwenza umsebenzi wayo ngokugqama.
UPD: 11.10.2019/17/37 XNUMX:XNUMX
Ngithole enye inkinga engu-1, futhi uma othile engitshela ukuthi ngiyixazulula kanjani, ngizobonga kakhulu.
Inkinga ukuthi uma ufaka ukuncika ngaphandle kwe-sudo python -m pip install -r ..., khona-ke amamojula ngeke abonakale kumsebenzisi wesevisi, futhi angithandi ukuphoqa abasebenzisi ukuthi bafake amamojula ngaphansi kwe-sudo, futhi lokhu akulungile.
Indlela yokwenza ibukeke inhle?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Inkinga ixazululwe kusetshenziswa i-venv.
Kube nezinguquko ezimbalwa. Ukukhishwa okulandelayo kuzoba ezinsukwini ezimbalwa ezizayo.
Source: www.habr.com