8000 GitHub - Ruk1ng001/cf-ddns: cf-ddns · GitHub
[go: up one dir, main page]

Skip to content
Ruk1ng001Public

About

cf-ddns

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

动态 DNS 更新工具

一个使用 Go 编写的自动化动态 DNS 更新工具,支持多平台编译和发布。

项目简介

这个项目是一个动态 DNS 更新工具,旨在通过定期检查公网 IP 的变化,并自动更新 DNS 记录。该工具特别适合使用动态 IP 的用户,帮助他们保持域名与当前 IP 的同步。

功能特性

  • 自动检测公网 IP 变化
  • 自动更新 DNS 记录(支持 Cloudflare API)
  • 支持多平台编译(Linux, macOS, Windows)

安装与使用

1. 获取可执行文件

你可以从 GitHub Releases 页面下载适用于你平台的可执行文件。

2. 配置文件

在使用前,你需要创建一个配置文件 config.json,示例如下:

{
"api_token": "your_cloudflare_api_token",
"zone_id": "your_cloudflare_zone_id",
"record_id": "your_dns_record_id",
"domain": "yourdomain.com",
"check_interval": 10
}

3. 运行工具

将配置文件放置在与可执行文件相同的目录下,然后运行:

./cf-ddns -config config.json

配合 Cron 运行

你可以使用 Cron 来定期运行该工具,以实现自动化的动态 DNS 更新。以下是一个每 10 分钟运行一次的示例:

  1. 编辑 Crontab 文件:
crontab -e
  1. 添加如下内容,将路径替换为你可执行文件的实际路径:
*/10 * * * * /path/to/cf-ddns/cf-ddns.sh >> /var/log/cf-ddns.log 2>&1

这行命令表示每 10 分钟运行一次工具,并将输出日志保存到 /var/log/cf-ddns.log 文件中。

  1. 修改cf-ddns.sh脚本:
API_TOKEN="your_api_token"
ZONE_ID="your_zone_id"
RECORD_ID="your_record_id"
DOMAIN="your.domain.com"

构建与发布

1. 手动构建

如果你希望自行构建,确保你已安装 Go 环境,然后运行以下命令以构建不同平台的二进制文件:

GOOS=linux GOARCH=amd64 go build -o dist/cf-ddns-linux-amd64
GOOS=darwin GOARCH=amd64 go build -o dist/cf-ddns-darwin-amd64
GOOS=windows GOARCH=amd64 go build -o dist/cf-ddns-windows-amd64.exe

changeLog

v0.0.1 初始版本

如何贡献

欢迎贡献代码和提出意见!请先 fork 本项目,创建一个新的分支进行开发,然后提交 Pull Request。

About

cf-ddns

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0