dnspod php,PHP 动态域名解析脚本(基于 Dnspod API) - 源码 - 论坛

使用 PHP + DNSPod API 实现的 DDNS 动态域名解析,可以解析 A 和 AAAA 记录。

没有则添加记录,有则更新记录

目录结构

.

├── README.md

├── bin    # 存放获取公网 IPv6 二进制文件

│   ├── get_public_ipv6-darwin-10.6-386

│   ├── get_public_ipv6-darwin-10.6-amd64

│   ├── get_public_ipv6-linux-386

│   ├── get_public_ipv6-linux-amd64

│   ├── get_public_ipv6-linux-arm-5

│   ├── get_public_ipv6-linux-arm-6

│   ├── get_public_ipv6-linux-arm-7

│   ├── get_public_ipv6-linux-arm64

│   ├── get_public_ipv6-linux-mips

│   ├── get_public_ipv6-linux-mips64

│   ├── get_public_ipv6-linux-mips64le

│   ├── get_public_ipv6-linux-mipsle

│   ├── get_public_ipv6-windows-4.0-386.exe

│   ├── get_public_ipv6-windows-4.0-amd64.exe

│   └── get_public_ipv6.go

└── run.php    # 程序逻辑代码

🍕 使用方法

🎁 获取代码你可以使用 git 命令克隆本项目 git clone https://github.com/PrintNow/php-dnspod-ddns

或者直接下载最新版

✒ 配置 run.php 文件,请根据提示配置第 9、10、14、20、24、32、35 行代码

📁 bin 目录说明,此目录下存放的是 获取公网 IPv6 二进制文件,作用是为了获取公网IPv6,是使用 Golang 编写的,然后使用 xgo 交叉编译成各个操作系统,不同 CPU

架构的二进制文件。如果你不想使用本方法获取公网 IPv6,你可以自行重新编写(需要有 PHP 编程能力) run.php 的 get_public_ipv6() 函数小提示:你可以只保留符合你当前操作系统的 二进制文件,但是请不要更改其名字

另外,一般情况下,如果在各大云服务厂商购买的服务器,如果选择的是 Linux 或 Windows,它们的架构基本都是 x64 的,但也不排除一些 Linux 是 arm 架构的,请自我鉴别

🚀 运行

直接运行

cd php-dnspod-ddns

php run.php

get_public_ipv6.go 代码

package main

import (

"fmt"

"net"

)

func main() {

//[2400:3200::1] 是阿里DNS IPv6 地址

conn, err := net.Dial("udp", "[2400:3200::1]:53")

if err != nil {

fmt.Println("Error", err)

}

localed := conn.LocalAddr()

addr, _ := net.ResolveUDPAddr("udp", localed.String())

ip := addr.IP

fmt.Println(ip)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值