Pêşniyar
Ji bo hewcedariyên kesane yên li malê, min VSphere saz kir, ku ez li ser wê rêgezek virtual û serverek Ubuntu wekî serverek medyayê û komek xweşiyên din dimeşînim, û divê ev server ji Înternetê bigihîje. Lê pirsgirêk ev e ku pêşkêşvanê min ji bo drav daneya statîk dide, ku her gav dikare ji bo armancên bikêrtir were bikar anîn. Ji ber vê yekê, min berhevoka ddclient + cloudflare bikar anî.
Her tişt baş bû heya ku ddclient xebitî. Piştî ku piçekî li dora xwe geriyam, min fêm kir ku wextê qirç û bisîkletan hatiye, ji ber ku ji bo dîtina pirsgirêkê pir wext dikişîne. Di dawiyê de, her tişt veguherî daemonek piçûk a ku tenê dixebite, û ez ne hewceyê tiştek din.
Ger kesek eleqedar be, bi xêr hatî pisîkê.
Amûrên ku têne bikar anîn û "ew" çawa dixebite
Ji ber vê yekê yekem tiştê ku min li ser malpera cloudflare fêr kir her tiştê ku hûn hewce ne ku li ser zanibin e
Bi gelemperî, pêçan wekî bingehek hate girtin
Min yek ji mînakan ji bo nûvekirina DNS hilda û karanîna pelê vesazkirinê û şiyana nûvekirina çend tomar A di nav herêmek de û, bê guman, hejmareke bêsînor a herêman zêde kir.
Mantiq wiha ye:
- Skrîpt ji pelê veavakirinê navnîşek deveran distîne û di nav wan de diherike
- Li her deverê, skrîpt di nav her tomarek DNS-ê ya celeb A an AAAA de vedigere û bi tomarê IP-ya Giştî kontrol dike.
- Ger IP-yê cûda be, ew wê diguhezîne; heke ne wusa be, ew dubarekirina lûkê derbas dike û diçe ya din.
- Ji bo dema ku di mîhengê de hatî destnîşan kirin xew dikeve
Sazkirin û veavakirina
Dibe ku meriv pakêtek .deb çêbike, lê ez di vê yekê de ne baş im, û ew ne ew qas dijwar e.
Min di README.md de pêvajo bi berfirehî diyar kir
Lê tenê di rewşê de, ez ê bi rûsî bi gelemperî vebêjim:
- Piştrast bikin ku we python3 û python3-pip saz kiriye, heke na, wê saz bikin (li ser Windows, python3-pip ligel Python tê saz kirin)
- Depoyê klon bikin an dakêşînin
- Girêdanên pêwîst saz bikin.
python3 -m pip install -r requirements.txt
- Skrîpta sazkirinê bimeşînin
Ji bo Linux:chmod +x install.sh sudo ./install.sh
Ji bo Windows: windows_install.bat
- Pelê veavakirinê biguherîne
Ji bo Linux:sudoedit /etc/zen-cf-ddns.conf
Ji bo Windows:
Pelê zen-cf-ddns.conf li peldanka ku we skrîptê lê saz kiriye vekin.
Ev pelek JSON-ya birêkûpêk e, mîhengan ne tiştek tevlihev e - min bi taybetî 2 deverên cihêreng di wê de wekî mînakek diyar kir.
Li pişt sazkeran çi heye?
install.sh ji bo Linux:
- Bikarhênerek tê afirandin ku daemon bimeşîne, bêyî afirandina pelrêçek malê û bêyî şiyana têketinê.
sudo useradd -r -s /bin/false zen-cf-ddns
- Pelek têketinê di /var/log/ de tê çêkirin
- Bikarhênerê ku nû hatî afirandin bike xwediyê pelê têketinê
- Pelên li cîhên xwe têne kopî kirin (veavakirina li /etc, pelê îcrakar li /usr/bin, pelê karûbarê li /lib/systemd/system)
- Xizmet tê aktîfkirin
windows_install.bat ji bo Windows:
- Pelê îcrakar û mîhengê li peldankek bikarhêner-ê diyarkirî kopî dike
- Di nexşerê de peywirek diafirîne ku di destpêka pergalê de skrîptê bimeşîne
schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart
Piştî guheztina mîhengê, pêdivî ye ku skrîpt ji nû ve were destpêkirin; di Linux de her tişt hêsan û nas e:
sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status
ji bo Windows-ê hûn neçar in ku pêvajoya pythonw bikujin û skrîptê ji nû ve bimeşînin (ez pir tembel im ku ji bo Windows-ê di C# de karûbarek binivîsim):
taskkill /im pythonw.exe
Ev sazkirin û vesazkirinê temam dike, ji tenduristiya xwe xweş bikin.
Ji bo kesên ku dixwazin koda Python-a ne pir xweşik bibînin, li vir e
lîsansa MIT-ê heye, ji ber vê yekê hûn ê bi van tiştan bikin.
PS: Ez fêm dikim ku ew piçek qirşikek derket, lê ew karê xwe bi dengek dike.
UPD: 11.10.2019/17/37 XNUMX:XNUMX
Min 1 pirsgirêkek din dît, û heke kesek ji min re bêje ka meriv wê çawa çareser bike, ez ê pir spasdar bim.
Pirsgirêk ev e ku heke hûn girêdanên bêyî sudo python -m pip install -r ... saz bikin, wê hingê dê modul ji bikarhênerê karûbarê xuya nebin, û ez naxwazim ku bikarhêneran neçar bikim ku modulan di bin sudo de saz bikin, û ev e ne rast.
Meriv çawa xweşik xuya dike?
UPD: 11.10.2019/19/16 XNUMX:XNUMX Pirsgirêk bi karanîna venv hate çareser kirin.
Gelek guhertin çêbûne. Weşana din dê di çend rojên pêş de be.
Source: www.habr.com