Giter Site home page Giter Site logo

songzhishuo / ddns-py3 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dingguotu/ddns-py3

0.0 0.0 0.0 20 KB

ddns.py 是基于 DNSPod 服务的动态 DNS 脚本,用于检测 IP 变化并更新至 DNSPod,支持多域名解析。支持 Linux 设备,包括树莓派(Raspberry Pi)。不需要手动添加解析,也不需要人工获取 domain_id 和 record_id,只要跟着教程来,小白都可以很快上手(软件都不会安装的除外)。有些朋友的电脑上安装了多个版本的Python,特别是同时有Python2和Python3的朋友,请注意区分版本。

Python 100.00%

ddns-py3's Introduction

ddns.py

@author tinko
@version 0.1.0

ddns.py 是基于 DNSPod 服务的动态 DNS 脚本,用于检测 IP 变化并更新至 DNSPod,支持多域名解析。支持 Linux 设备,包括树莓派(Raspberry Pi)。不需要手动添加解析,也不需要人工获取 domain_id 和 record_id,只要跟着教程来,小白都可以很快上手(软件都不会安装的除外)。有些朋友的电脑上安装了多个版本的Python,特别是同时有Python2和Python3的朋友,请注意区分版本。 如果不想安装Python3的小伙伴请前往ddns


关键词

  1. domain 域名
  2. sub_domain 二级域名,子域名

前置条件

  1. Git
  2. python 3
  3. DNSPod 账号

使用方法

首先,确保已经安装 git 客户端以及 python 3.*,我使用的是python 3.8.0


通过本命令获取 ddns.py

git clone https://github.com/dingguotu/ddns-py3.git

接下来到DNSPod中创建API Token,具体步骤是:登录DNSPod -> 进入控制台 -> 用户中心 -> 安全设置 -> 开启API Token(已开启的点击查看) -> 创建API Token(Token只会显示一次,以后将没办法查看已有的Token,请务必保管好自己的Token,如果不慎丢失,可以删除后重新创建,但是程序里也要及时修改,以免导致程序不能正常运行


如果域名是在阿里云或其他非腾讯云处购买的,还需要进入相对应的服务商控制台,修改域名的DNS地址为:

ns1.alidns.com
ns2.alidns.com

复制 conf.sample.json 文件,并重命名为 conf.json,根据您的DNSPod设置修改 conf.json 文件,填入以下内容:

{
    "access_key": <api_token_id>,
    "access_secret": <api_token>,
    "domains": [
        {
            "name": <first_domain>,
            "sub_domains": [<first_sub_domain_name>, <second_sub_domain_name>,...]
        },
        {
            "name": <second_domain>,
            "sub_domains": [<first_sub_domain_name>, <second_sub_domain_name>,...]
        }
    ]
}

domains部分,想绑定几个就写几个,不需要多写,sub_domains通常写 @* 就够了,二级子域名直接用 * 代替,然后在自己的代理服务器(IIS,nginx,Apache等)上面去进行绑定。domain 和 sub_domain 可以不需要事先手动绑定,本程序会自动识别


最后设置 crontab 定时任务,以便更新DNS记录:

sudo crontab -e
/30 * * * * python /home/pi/ddns/ddns.py

本教程的定时任务是Linux版本,/30 表示每隔30分钟运行一次,可以自行修改,本教程不做限定。/home/pi/ddns/ddns.py 是绝对路径,请根据实际情况进行修改

Windows版请自行学习Windows 任务计划

ddns-py3's People

Contributors

dingguotu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.