Foreword
рдШрд░рдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ VSphere рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдВ, рдЬрд╕рдорд╛ рдореИрд▓реЗ рднрд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рд░ Ubuntu рд╕рд░реНрднрд░рд▓рд╛рдИ рдорд┐рдбрд┐рдпрд╛ рд╕рд░реНрднрд░рдХреЛ рд░реВрдкрдорд╛ рд░ рдЕрдиреНрдп рдЧреБрдбреАрд╣рд░реВрдХреЛ рдЧреБрдЪреНрдЫрд╛ рдЪрд▓рд╛рдЙрдБрдЫреБ, рд░ рдпреЛ рд╕рд░реНрднрд░ рдЗрдиреНрдЯрд░рдиреЗрдЯрдмрд╛рдЯ рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд╣реБрдиреБрдкрд░реНрдЫред рддрд░ рд╕рдорд╕реНрдпрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдореЗрд░реЛ рдкреНрд░рджрд╛рдпрдХрд▓реЗ рдкреИрд╕рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛ рджрд┐рдиреНрдЫ, рдЬреБрди рд╕рдзреИрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдЙрджреНрджреЗрд╢реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рдореИрд▓реЗ ddclient + cloudflare рд╕рдВрдпреЛрдЬрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдВред
ddclient рд▓реЗ рдХрд╛рдо рдирдЧрд░реЗрд╕рдореНрдо рд╕рдмреИ рдареАрдХ рдерд┐рдпреЛред рдЕрд▓рд┐рдХрддрд┐ рдШреБрдореЗрдкрдЫрд┐, рдореИрд▓реЗ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рдХрд┐ рдмреИрд╕рд╛рдЦреА рд░ рд╕рд╛рдЗрдХрд▓рдХреЛ рд╕рдордп рдЖрдПрдХреЛ рдЫ, рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдЗрд░рд╣реЗрдХреЛ рдерд┐рдпреЛред рдЕрдиреНрддрдорд╛, рд╕рдмреИ рдХреБрд░рд╛ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдбреЗрдордирдорд╛ рдкрд░рд┐рдгрдд рднрдпреЛ рдЬреБрди рдХреЗрд╡рд▓ рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рдорд▓рд╛рдИ рдЕрд░реВ рдХреЗрд╣рд┐ рдЪрд╛рд╣рд┐рдБрджреИрдиред
рдпрджрд┐ рдХрд╕реИрд▓рд╛рдИ рд░реБрдЪрд┐ рдЫ рднрдиреЗ, рдмрд┐рд░рд╛рд▓реЛрдорд╛ рд╕реНрд╡рд╛рдЧрдд рдЫред
рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рд░ рдХрд╕рд░реА "рдпреЛ" рдХрд╛рдо рдЧрд░реНрджрдЫ
рддреНрдпрд╕реЛрднрдП рдореИрд▓реЗ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рддрдкрд╛рдИрд▓реЗ рдерд╛рд╣рд╛ рдкрд╛рдЙрдиреБ рдкрд░реНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рд╣реЛ
рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд░реНтАНрдпрд╛рдкрд░рд▓рд╛рдИ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдЗрдпреЛ
рдореИрд▓реЗ DNS рдЕрдкрдбреЗрдЯ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдПрдХреЛ рдЫреБ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдХреЛ рдкреНрд░рдпреЛрдЧ рд░ рдПрдХ рдХреНрд╖реЗрддреНрд░ рднрд┐рддреНрд░ рдзреЗрд░реИ A рд░реЗрдХрд░реНрдбрд╣рд░реВ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛, рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛рдорд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рдердкреЗрдХреЛ рдЫреБред
рддрд░реНрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫ:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдмрд╛рдЯ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ рд░ рддрд┐рдиреАрд╣рд░реВ рдорд╛рд░реНрдлрдд рд▓реБрдк рдЧрд░реНрджрдЫ
- рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░рдорд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ A рд╡рд╛ AAAA рдкреНрд░рдХрд╛рд░рдХреЛ рдкреНрд░рддреНрдпреЗрдХ DNS рд░реЗрдХрд░реНрдб рдорд╛рд░реНрдлрдд рд▓реБрдк рд╣реБрдиреНрдЫ рд░ рд░реЗрдХрд░реНрдбрдХреЛ рд╕рд╛рде рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
- рдпрджрд┐ IP рдлрд░рдХ рдЫ рднрдиреЗ, рдпрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрдЫ; рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ, рдпрд╕рд▓реЗ рд▓реВрдк рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЫреЛрдбреНрдЫ рд░ рдЕрд░реНрдХреЛрдорд╛ рдЬрд╛рдиреНрдЫред
- рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рддреЛрдХрд┐рдПрдХреЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрддреНрдЫ
рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди
рдпреЛ рд╕рдореНрднрд╡рддрдГ .deb рдкреНрдпрд╛рдХреЗрдЬ рдмрдирд╛рдЙрди рд╕рдореНрднрд╡ рдЫ, рддрд░ рдо рдпрд╕рдорд╛ рд░рд╛рдореНрд░реЛ рдЫреИрди, рд░ рдпреЛ рд╕рдмреИ рдЧрд╛рд╣реНрд░реЛ рдЫреИрдиред
рдореИрд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ README.md рдорд╛ рд╡рд░реНрдгрди рдЧрд░реЗрдХреЛ рдЫреБ
рддрд░ рдХреЗрд╡рд▓ рдХреЗрд╕рдорд╛, рдо рдпрд╕рд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрддрд╣рд░реВрдорд╛ рд░реВрд╕реАрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреБ:
- рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ python3 рд░ python3-pip рд╕реНрдерд╛рдкрдирд╛ рднрдПрдХреЛ рдЫ, рдпрджрд┐ рдЫреИрди рднрдиреЗ, рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╡рд┐рдиреНрдбреЛрдЬрдорд╛, рдкрд╛рдЗрдерди 3-pip рдкрд╛рдЗрдердирдХреЛ рд╕рд╛рде рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ)ред
- рдХреНрд▓реЛрди рд╡рд╛ рднрдгреНрдбрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН
- рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
python3 -m pip install -r requirements.txt
- рд╕реНрдерд╛рдкрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН
рд▓рд┐рдирдХреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐:chmod +x install.sh sudo ./install.sh
Windows рдХрд╛ рд▓рд╛рдЧрд┐: windows_install.bat
- рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд▓рд┐рдирдХреНрд╕рдХрд╛ рд▓рд╛рдЧрд┐:sudoedit /etc/zen-cf-ddns.conf
рд╡рд┐рдиреНрдбреЛрдЬ рдХреЛ рд▓рд╛рдЧреА:
рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдлреЛрд▓реНрдбрд░рдорд╛ zen-cf-ddns.conf рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред
рдпреЛ рдПрдХ рдирд┐рдпрдорд┐рдд JSON рдлрд╛рдЗрд▓ рд╣реЛ, рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдХреЗрд╣реА рдЬрдЯрд┐рд▓ рдЫреИрдирдиреН - рдореИрд▓реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдпрд╕рдорд╛ 2 рдлрд░рдХ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реЗрдВред
рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдкрдЫрд╛рдбрд┐ рдХреЗ рдЫ?
Linux рдХреЛ рд▓рд╛рдЧрд┐ install.sh:
- рдПрдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдореЛрди рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЧреГрд╣ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕рд┐рд░реНрдЬрдирд╛ рдирдЧрд░реА рд░ рд▓рдЧрдЗрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдмрд┐рдирд╛ред
sudo useradd -r -s /bin/false zen-cf-ddns
- рд▓рдЧ рдлрд╛рдЗрд▓ /var/log/ рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред
- рдирдпрд╛рдБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рд▓рдЧ рдлрд╛рдЗрд▓рдХреЛ рдорд╛рд▓рд┐рдХ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН
- рдлрд╛рдЗрд▓рд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдард╛рдЙрдБрд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН (/etc рдорд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди, /usr/bin рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓, /lib/systemd/system рдорд╛ рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓)
- рд╕реЗрд╡рд╛ рд╕рдХреНрд░рд┐рдп рдЫ
windows_install.bat рд╡рд┐рдиреНрдбреЛрдЬрдХрд╛ рд▓рд╛рдЧрд┐:
- рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлреЛрд▓реНрдбрд░рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрджрдЫ
- рдкреНрд░рдгрд╛рд▓реА рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдорд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрди рдЕрдиреБрд╕реВрдЪрдХрдорд╛ рдХрд╛рд░реНрдп рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ
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
рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ pythonw рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдорд╛рд░реНрдиреБ рдкрд░реНрдЫ рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрди: рдЪрд▓рд╛рдЙрдиреБ рдкрд░реНрдЫ (рдо C# рдорд╛ рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрд╡рд╛ рд▓реЗрдЦреНрди рдзреЗрд░реИ рдЕрд▓реНрдЫреА рдЫреБ):
taskkill /im pythonw.exe
рдпрд╕рд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреВрд░рд╛ рдЧрд░реНрджрдЫ, рдпрд╕рд▓рд╛рдИ рддрдкрд╛рдИрдВрдХреЛ рд╕реНрд╡рд╛рд╕реНрдереНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдирдиреНрдж рд▓рд┐рдиреБрд╣реЛрд╕реНред
рдирджреЗрдЦрд┐рдиреЗ-рд╕реБрдиреНрджрд░ рдкрд╛рдЗрдерди рдХреЛрдб рд╣реЗрд░реНрди рдЪрд╛рд╣рдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдпрд╣рд╛рдБ рдЫ
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