跳转到主要内容

检查URL并管理DynDNS中的相应记录。

项目描述

检查URL并管理DynDNS中的相应记录。

描述

ddcheck 接受一系列健康检查URL,解析它们到IP,并直接向IP发送HTTP请求。当给定的IP被识别为宕机时,它将从DynDNS中删除该记录

功能

  • 支持IPv4和IPv6(DNS中的A和AAAA记录)

  • 遍历CNAME以到达目标A/AAAA记录

  • 当IP超时(可配置为秒)或返回定义的HTTP代码(例如500,默认关闭)时,将其标记为失败

  • Dry run模式:不会更改DynDNS记录。仅输出curl命令。

  • 当dns记录中的所有IP都失败时,不会从DynDNS中删除IP。

安装

pip install 'git+https://github.com/whiskybar/ddcheck.git#egg=ddcheck'

用法

CLI

可以通过环境变量或作为参数定义DynDNS凭据。

# ddcheck --help

usage: ddcheck [-h] [-d] [-e ERROR_CODES] [-t TIMEOUT] [-D]
               [--dynect-customer DYNECT_CUSTOMER] [--dynect-user DYNECT_USER]
               [--dynect-password DYNECT_PASSWORD]
               URL [URL ...]

Run a ddcheck.

positional arguments:
  URL                   URL to check

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           Debug logging on
  -e ERROR_CODES, --error-codes ERROR_CODES
                        HTTP codes considered as non-OK
  -t TIMEOUT, --timeout TIMEOUT
                        URL timeout
  -D, --dry-run         Do not really update the dyndns. Just print records to
                        delete.
  --dynect-customer DYNECT_CUSTOMER
                        Customer name in DynEct (defaults to
                        DYNECT_CUSTOMER_NAME env variable)
  --dynect-user DYNECT_USER
                        Username in DynEct (defaults to DYNECT_USER_NAME env
                        variable)
  --dynect-password DYNECT_PASSWORD
                        Password in DynEct (defaults to DYNECT_PASSWORD env
                        variable)

示例

export DYNECT_PASSWORD=aaa
export DYNECT_USER_NAME=bbb
export DYNECT_CUSTOMER_NAME=ccc
ddcheck -e 500 --debug --dry-run http://root.example1.com/health/ http://cname.example2.com/check/

Python

示例

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

ddcheck-0.0.1.tar.gz (6.0 kB 查看哈希)

上传时间:

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面