Skip to main content

ddns_client, used with coredns/etcd

Project description

DDNS

采用以下开源项目作为核心实现:

获取公网IP接口(多个容错):

日志/指标方案支持以下:

部署方案支持以下:

其他参数支持:

  • pid

客户端采用技术:

实现方案考虑

  • coredns + /etc/hosts + python server/client
  • coredns + etcd + python client

实现方案

最终方案选择

降低对环境的耦合, 不对 /etc/hosts 进行操作(简单性能一般), 最终采用 coredns + etcd + python client 方案。

部署方案考虑

支持以下方案(平台支持: linux/amd64+arm64):

  • 二进制/systemd
  • Docker/docker-compose/docker-swarm
  • k8s

周边生态考虑

支持以下项目:

  • 参数配置

  • 日志输出:

    • 标准输出/错误
    • 日志文件(根据信号支持重新打开): logging
    • fluentd输出: fluentd-python
  • 指标输出:

  • 信号处理:

    • 重启加载日志
    • stop/quit/reopen/reload

运行流程图

读取配置文件:

配置文件

运行:

运行

安装部署

# brotlipy(aiohttp[speedup]) requirements
apt install -y build-essential python3.6-dev libffi-dev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ddns_client-0.6.tar.gz (7.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ddns_client-0.6-py3.6.egg (14.0 kB view details)

Uploaded Egg

ddns_client-0.6-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file ddns_client-0.6.tar.gz.

File metadata

  • Download URL: ddns_client-0.6.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for ddns_client-0.6.tar.gz
Algorithm Hash digest
SHA256 71fb205e52fbf113bd19166279fd82c1803d168f54f4a8f23d259c8d17440cbd
MD5 1d64953ad425d40520756c30a23ddd4b
BLAKE2b-256 399b63cca52f8b901f0d5750f86f9a7f7819fa451593e9c01fff11fb216a057c

See more details on using hashes here.

File details

Details for the file ddns_client-0.6-py3.6.egg.

File metadata

  • Download URL: ddns_client-0.6-py3.6.egg
  • Upload date:
  • Size: 14.0 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for ddns_client-0.6-py3.6.egg
Algorithm Hash digest
SHA256 0e767c49bdaa7f94fd9c22b3bacc1bcec50a2676f7c157ba4ba444d86abfc889
MD5 3e715f99afa72923be4a7456a9f92b80
BLAKE2b-256 2edb31430fc25317bf0f114fd87baa7bba3c66639e1c3b6f7f6cd1af40d42b56

See more details on using hashes here.

File details

Details for the file ddns_client-0.6-py3-none-any.whl.

File metadata

  • Download URL: ddns_client-0.6-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for ddns_client-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e41a726dba49cda5749666a7e529159507f88107682108b119986ab569cfb63b
MD5 256590a7d16410182a1994307b5f08e7
BLAKE2b-256 f9f53ac23b7ab6bdd476d0ee65b8a0ea33aa2ed0c1f5ca7110b3b0ed4fc95995

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page