跳到正文

Cloudflare DDNS

热门趋势维护中
timothymiller/cloudflare-ddns

基于 Cloudflare 的动态 DNS(DDNS)服务,无需固定 IP 即可通过自定义域名远程访问家庭网络。

在 GitHub 查看
星标
4235
Fork
418
关注
4235
未关闭 Issue
10

该介绍目前仅提供英文版本。

Access your home network remotely via a custom domain name without a static IP!

Overview

Cloudflare DDNS is a dynamic DNS service that allows you to access your home network remotely using a custom domain name, even without a static IP address. It’s perfect for self-hosted services, home automation, and remote access to your network.

Key Features

  • Dynamic DNS Updates: Automatically updates your DNS records when your IP changes
  • Multiple Protocol Support: Works with both IPv4 and IPv6
  • Cloudflare Integration: Seamlessly integrates with Cloudflare’s DNS service
  • Multiple Deployment Options:
    • Docker
    • Docker Compose
    • Kubernetes
    • Systemd
    • Python 3
  • Load Balancing Support: Distribute traffic across multiple IP addresses
  • Complete Support of Domain Names, Subdomains, IPv4 & IPv6, and Load Balancing

Quick Start

Docker Deployment

version: '3.9'
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:
      - /path/to/config.json:/config.json
    restart: unless-stopped

Configuration Example

{
  "cloudflare": [
    {
      "authentication": {
        "api_token": "your_api_token_here"
      },
      "zone_id": "your_zone_id_here",
      "subdomains": [
        {
          "name": "",
          "proxied": true
        }
      ]
    }
  ],
  "a": true,
  "aaaa": true,
  "purgeUnknownRecords": false,
  "ttl": 300
}

Advanced Features

Load Balancing

Configure load balancing between multiple IP addresses:

{
  "load_balancer": [
    {
      "authentication": {
        "api_token": "your_api_token_here"
      },
      "pool_id": "your_pool_id_here",
      "origin": "your_origin_name_here"
    }
  ]
}

Multi-Domain Support

Handle multiple domains in a single configuration:

{
  "cloudflare": [
    {
      "authentication": {
        "api_token": "token_for_first_domain"
      },
      "zone_id": "first_zone_id",
      "subdomains": [...]
    },
    {
      "authentication": {
        "api_token": "token_for_second_domain"
      },
      "zone_id": "second_zone_id",
      "subdomains": [...]
    }
  ]
}

Deployment Options

Docker

  • Pre-built images available on DockerHub
  • Supports multi-architecture builds
  • Easy deployment with Docker Compose

Kubernetes

  • Full Kubernetes support
  • Configurable via ConfigMaps and Secrets
  • Helm chart available

Systemd

  • Native systemd service support
  • Automatic startup and monitoring
  • Logging integration

Requirements

  • Python 3.5+ (for direct installation)
  • Docker (for containerized deployment)
  • Cloudflare account and domain
  • API token with appropriate permissions

Resources

License

This project is licensed under the GPL-3.0 License.

Author

Timothy Miller - GitHub | Website

按共同分类和标签排序的同类开源项目。

全部网络项目 →