轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
programie/phpdyndns
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

phpdyndns Docker 镜像下载 - 轩辕镜像

phpdyndns 镜像详细信息和使用指南

phpdyndns 镜像标签列表和版本信息

phpdyndns 镜像拉取命令和加速下载

phpdyndns 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

phpdyndns
programie/phpdyndns

phpdyndns 镜像详细信息

phpdyndns 镜像标签列表

phpdyndns 镜像使用说明

phpdyndns 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

一个用PHP编写的简单DynDNS服务
0 次下载activeprogramie镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

phpdyndns 镜像详细说明

phpdyndns 使用指南

phpdyndns 配置说明

phpdyndns 官方文档

PHP DynDNS

![DockerHub]([] ![GitHub release]([]

简介

PHP DynDNS是一个非常简单的DynDNS服务。它允许您通过简单的HTTP请求更新DNS服务器。

授权通过HTTP Basic Auth或使用URL变量中的username和password进行。

完整URL格式如下:[***](HTTP Basic Auth方式)或[***](URL变量授权方式)。

您还可以通过GET变量指定IPv4和IPv6地址(myip=your.ipv4.address.here和myipv6=your:ipv6:address:here)。

示例:

  • 仅IPv4:[***]
  • 仅IPv6:[***]
  • IPv4 + IPv6:[***]

需求

  • 一个域名
  • 运行PHP 7.2或更高版本的Web服务器
  • 一个DNS服务器(如bind)

或使用现成的Docker镜像(参见下文“使用Docker安装”部分)。

安装

获取最新版本有两种方法:

*(推荐)下载最新发布版并解压到您想要提供服务的Web目录(例如/var/www/dyndns)

  • 将此仓库克隆到您想要提供服务的Web目录(例如/var/www/dyndns)

直接克隆仓库需要使用Composer下载依赖:composer install

下载完成后,继续以下步骤:

  • 将config.sample.json复制为config.json
  • 编辑config.json以满足您的需求(详见下文“配置”部分)
  • 配置DNS服务器允许来自Web服务器的更新请求(如在bind中设置allow-update { localhost; })
  • 配置路由器在每次重新连接后自动请求您的DynDNS服务URL(或使用curl/wget创建cron任务)。

使用Docker安装

PHPDynDNS也提供Docker镜像。可从Docker Hub拉取。

将您的config.json挂载到/app/config.json

启动容器的示例命令:

docker run -d --name phpdyndns -p 80:80 -v /path/to/config.json:/app/config.json:ro programie/phpdyndns

重要事项

确保config.json不能通过HTTP访问!在Apache中,这已通过.htaccess文件实现。

配置

配置通过存储在config.json文件中的JSON完成,示例如下:

{
    "server": "localhost",
    "ttl": 60,
    "users": {
        "myuser": {
            "password_hash": "$5$1IekWfmq$yVTjQcWsX/qK.TIws0NWAj0mmlyDFsSMw6nSFYHcyH8",
            "hosts": {
                "myhost.example.com": {
                    "zone": "example.com"
                },
                "anotherhost.example.com": {
                    "zone": "anotherhost.example.com"
                }
            },
            "post_process": "nohup sudo /opt/some-script.sh %hostname% %ipv4address%"
        }
    }
}

属性说明

  • server:要连接的DNS服务器(默认:localhost)
  • ttl:PHPDynDNS管理的所有DNS条目的TTL(生存时间)(默认:60)
  • users:所有用户的列表(每个条目的键为用户名)
    • password_hash:用户的哈希密码(例如使用mkpasswd -m sha-256生成)
    • hosts:用户可更新的所有主机列表(每个条目的键为要更新的主机名)
      • zone:包含此主机名的区域
    • post_process:成功更新DNS条目后应执行的命令(可包含占位符,见下文说明)

post_process选项的占位符

post_process选项中可使用以下占位符,执行时会被替换:

  • %username%:用户名
  • %hostname%:主机名
  • %ipv4address%:新的IPv4地址(如可用)
  • %ipv6address%:新的IPv6地址(如可用)

配置路由器

Fritz!Box

  • DynDNS服务提供商:自定义
  • 更新URL:[***]<username>&password=<pass>&hostname=<domain>&myip=<ipaddr>
  • 域名:your.configured.host.of.your.domain
  • 用户名:您配置的用户名
  • 密码:您配置的密码

Cron任务(crontab)

如果您的路由器不支持向(自定义)DynDNS服务发送更新,可使用此方法。每次请求都会更新DNS区域!

* * * * * curl [***]

这将每分钟更新您的域名your.domain.tld。

将your-username、your-password和your.domain.tld替换为您配置的用户名、密码和域名。

后处理

PHP DynDNS可在成功更新DynDNS主机名后触发用户定义的命令。

例如,命令/opt/reload-iptables.sh可使用DynDNS主机名的新IP地址自动重新加载iptables。

后处理命令可在config.json中为每个用户单独配置。

示例:使用iptables的动态防火墙

PHP DynDNS可在成功更新主机名后执行命令。此类命令可从文件重新加载iptables规则,强制iptables重新查找动态主机名。

后处理脚本示例如下:

#! /bin/sh
/sbin/iptables-restore < /path/to/your/iptables.rules

iptables.rules示例如下:

*filter

# 设置默认策略
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# 允许已建立的连接
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许本地连接
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A FORWARD -i lo -o lo -j ACCEPT

# 允许HTTP
-A INPUT -p tcp --dport 80 -j ACCEPT

# DynDNS
-A INPUT -p tcp --dport 22 -s yourhost.example.com -j ACCEPT

COMMIT

注意:您必须使用root权限调用脚本(如sudo)!只需允许运行Web服务器的用户(如www-data)以root身份执行脚本(如在/etc/sudoers文件中添加www-data ALL=(ALL) NOPASSWD:/opt/scripts/update_dyndns_iptables.sh)。

查看更多 phpdyndns 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.