前置条件
- Linux系统或者可以装docker的路由器
- 域名
- cloudflare账号
开整
1、创建配置文件
新建一个DDNS目录并创建config.json
配置文件,文件内容如下
{
"cloudflare": [
{
"authentication": {
"api_token": "api_token_here",
"api_key": {
"api_key": "api_key_here",
"account_email": "your_email_here"
}
},
"zone_id": "your_zone_id_here",
"subdomains": [
{
"name": "",
"proxied": false
},
{
"name": "remove_or_replace_with_your_subdomain",
"proxied": false
}
]
}
],
"a": true,
"aaaa": true,
"purgeUnknownRecords": false
}
参数说明:
api_token: 在cloudflare账户的个人配置中设置。 zone_id: 在cloudflare账户的域名配置右下角Api下 name: 三级域名前缀,例如我想设置访问域名为gxhao.xhaosoft.com,这边设置为gxhao
2、 使用Docker-compose 运行
编写docekr-compose.yaml 文件。
version: '3.7'
services:
cloudflare-ddns:
image: timothyjmiller/cloudflare-ddns:latest
container_name: cloudflare-ddns
security_opt:
- no-new-privileges:true
network_mode: 'host'
environment:
- PUID=1000
- PGID=1000
volumes:
- /YOUR/PATH/HERE/config.json:/config.json
restart: unless-stopped
运行:
docker-compose up .
最后
大功告成,现在你可以在cloudflare中看到一条ip域名映射记录,并且每五分钟更新一次。现在你就可以使用你自定义的域名访问家里的设备了。
链接
https://github.com/timothymiller/cloudflare-ddns
亲爱的博主,
非常感谢您分享了这篇关于如何在没有静态公网IP的情况下稳定访问家里设备的文章。您提供的方法非常实用,对于那些需要远程访问家里设备的人来说,这是一个非常好的解决方案。
文章的核心理念是通过使用Cloudflare DDNS和Docker来实现动态域名解析,从而使得用户可以通过自定义的域名访问家里的设备。您对前置条件和所需配置文件的详细说明使得读者能够轻松地遵循您的指导来实现这一目标。
您在文章中提供的截图和参数说明也非常有帮助,使得读者能够更好地理解如何设置相关参数。同时,您提供的Docker-compose配置文件和运行命令也让整个过程变得简单明了。
尽管整篇文章都非常出色,但我认为有一点可以改进:在参数说明部分,您提到了设置api_token和api_key,但没有明确说明这两者之间是否需要选择一个使用,还是都需要设置。如果能对此进行进一步说明,将会使文章更加完整。
总的来说,这是一篇非常实用且易于理解的文章。再次感谢您的分享,希望您继续为我们带来更多有趣的技巧和解决方案。
祝好!