1 Star 0 Fork 0

skymysky / ddns-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

ddns-go

GitHub release

自动获得你的公网 IPV4 或 IPV6 地址,并解析到对应的域名服务。

特性

  • 支持Mac、Windows、Linux系统,支持ARM、x86架构
  • 支持的域名服务商 Alidns(阿里云) Dnspod(腾讯云) Cloudflare 华为云
  • 支持接口/网卡获取IP
  • 间隔5分钟同步一次
  • 支持多个域名同时解析,公司必备
  • 支持多级域名
  • 网页中配置,简单又方便,可设置登录用户名和密码
  • 网页中方便快速查看最近50条日志,不需要跑docker中查看
  • 支持webhook

直接使用

Docker中使用

  • 挂载主机目录, 删除容器后配置不会丢失。可替换 /opt/ddns-go 为主机上的任意目录, 配置文件为隐藏文件

    docker run -d --name ddns-go --restart=always -p 9876:9876 -v /opt/ddns-go:/root jeessy/ddns-go
  • 不挂载主机目录, 删除容器同时会删除配置

    docker run -d --name ddns-go --restart=always -p 9876:9876 jeessy/ddns-go
  • 在浏览器中打开http://主机IP:9876,修改你的配置,成功

  • [可选] docker中默认不支持ipv6,参考 使用IPV6

使用IPV6

  • 前提:你的电脑或终端能正常获取IPV6,并能正常访问IPV6

  • Windows/Mac:推荐 直接执行,Windows/Mac桌面版的docker不支持--net=host

  • 群晖:

    • 套件中心下载docker并打开
    • 注册表中搜索ddns-go并下载
    • 映像 -> 选择jeessy/ddns-go -> 启动 -> 高级设置 -> 网络中勾选使用与 Docker Host 相同的网络,高级设置中勾选启动自动重新启动
    • 在浏览器中打开http://群晖IP:9876,修改你的配置,成功
  • Linux的x86或arm架构,如服务器、xx盒子等等,推荐使用--net=host模式,简单点

    docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
  • 虚拟机中使用有可能正常获取IPV6,但不能正常访问IPV6, 如: VMware Workstation VirtualBox ...

  • [可选] 使用IPV6后,建议设置登录用户名和密码

Webhook

  • 支持webhook, 域名更新成功或不成功时, 会回调填写的URL

  • 支持的变量

    变量名 说明
    #{ipv4Addr} 新的IPV4地址
    #{ipv4Result} IPV4地址更新结果: 未改变 失败 成功
    #{ipv4Domains} IPV4的域名,多个以,分割
    #{ipv6Addr} 新的IPV6地址
    #{ipv6Result} IPV6地址更新结果: 未改变 失败 成功
    #{ipv6Domains} IPV6的域名,多个以,分割
  • RequestBody为空GET请求,不为空POST请求

  • Server酱: https://sc.ftqq.com/[SCKEY].send?text=主人IPv4变了#{ipv4Addr},域名更新结果:#{ipv4Result}

  • 钉钉:

    • 钉钉电脑端 -> 群设置 -> 智能群助手 -> 添加机器人 -> 自定义
    • 只勾选 自定义关键词, 输入的关键字必须包含在RequestBody的content中, 如:你的公网IP变了
    • URL中输入钉钉给你的 Webhook地址
    • RequestBody中输入 {"msgtype": "text","text": {"content": "你的公网IP变了:#{ipv4Addr},域名更新结果:#{ipv4Result}"}}

界面

screenshots

开发&自行编译

  • 如果喜欢从源代码编译自己的版本,可以使用本项目提供的 Makefile 构建
  • 开发:
    • 首先使用 make init 安装 bindata
    • 使用 make dev 动态加载修改后的 writing.html
  • 编译:
    • 如修改了html, 务必使用 make bindata 生成编译需要的静态文件
    • 使用 make build 生成本地编译后的 ddns-go 可执行文件
    • 使用 make build_docker_image 自行编译 Docker 镜像
MIT License Copyright (c) 2020 jeessy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/skymysky/ddns-go.git
git@gitee.com:skymysky/ddns-go.git
skymysky
ddns-go
ddns-go
master

搜索帮助

14c37bed 8189591 565d56ea 8189591