自制了一个 Laravel 的 DDNS 工具, 利用 DNSPod 的 API 实现了 DDNS,可以用来代替花生壳之类的软件。
composer require seekerliu/laravel-ddns:dev-master
注册 DNSPod 账户,并获取 ID 及 TOKEN,方法请参考: https://support.dnspod.cn/Kb/showarticle/tsid/227/
你的服务器上需要需要开启 Laravel 调度计划:
Linux:
$ crontab -e
//添加下列一行:
* * * * * /path-to-php/php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
MacOS 可以在 Terminal 中使用下面命令临时代替,Ctrl + C
可终止:
while true; do php artisan schedule:run; sleep 60; done
Laravel 5.5 中有
Package Discover
功能,故无需进行第 1 步。如未起作用,可手动执行php artisan package:discover
命令。
config/app.php
中添加此行: 'providers' => [
//...
Seekerliu\DynamicDns\ServiceProvider::class,
],
.env
文件中:DDNS_DNSPOD_ID=
DDNS_DNSPOD_TOKEN=
DDNS_DOMAIN=
DDNS_SUB_DOMAIN=
DDNS_DNSPOD_UA="Laravel DDNS Client/0.0.1 (seekerliu@vip.qq.com)"
DDNS_DNSPOD_URI=https://dnsapi.cn/
DDNS_GET_IP_URI=https://seekerliu.com/getip.php
DDNS_ENABLE_LOG=true
.env
文件:# 你的 DNSPOD ID,必填
DDNS_DNSPOD_ID=
# 你的 DNSPOD TOKEN,必填
DDNS_DNSPOD_TOKEN=
# 你在 DNSPOD 解析的根域名,例如: seekerliu.com ,必填
DDNS_DOMAIN=
# 你在 DNSPOD 解析的二级域名,例如:blog,必填
DDNS_SUB_DOMAIN=
# 访问 DNSPOD API 需要的 UA,不用改
DDNS_DNSPOD_UA="Laravel DDNS Client/0.0.1 (seekerliu@vip.qq.com)"
# DNSPOD API URI,不用改
DDNS_DNSPOD_URI=https://dnsapi.cn/
# 获取 json 格式的公网 ip,可以换成自己的,源码在 getip.php 中
DDNS_GET_IP_URI=https://seekerliu.com/getip.php
# 是否开启日志
DDNS_ENABLE_LOG=true
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.