手里乱七八糟的域名实在是有点多,而这些域名,多数都解析到了同样的站点。或者说是回源是同样的站点,最开始其实并没有套 cdn,中间有段时间连这种 301 302 跳转都被打,就变得很尴尬。301 跳转都能让沙雕给打挂,也的确什么好办法了。
后来发现盾云的 scdn性价比的确不错,于是一股脑的全部套了 scdn,不过,有的也的确没什么流量,于是一些没那么重要的东西放哪里就有些浪费:
所以,思索再三,几天申请了一台 99 块钱的海外轻量,每个月 1t 的流量,感觉应该足够应付这些乱七八糟的服务了。当然,最主要的还是要套上南墙 waf,直接裸奔感觉也不大行。
当然,waf 后面的回源多数还是家里的服务器。这就需要有个工具来更新 waf 的回源地址,今天又完善了一下南墙的 api 接口,代码直接提交 github 的,有需要可以自取。
功能特性
- 证书管理
- 获取证书列表
- 检查证书
- 提交证书配置
- 删除证书
- 站点配置
- 获取站点列表
- 更新站点配置
- 用户认证
- 用户名密码登录
- 支持双因素认证(OTP)
环境要求
- Python 3.x
- 必需的 Python 包:
- requests
- jwt
- urllib3
安装说明
- 克隆仓库:
git clone https://github.com/obaby/baby-nanqiang-waf-api-toos.git
cd baby-nanqiang-waf-api-toos
- 安装依赖包:
pip install -r requirements.txt
使用说明
基础用法
from baby_nanqiang_api_tools import NanQiangAPI
# 初始化 API 客户端
api = NanQiangAPI(base_url="https://lang.bi:443")
# 登录
result = api.login(username="your_username", password="your_password")
if result:
print("登录成功")
# 获取证书列表
cert_list = api.get_cert_list()
if cert_list:
parsed_certs = api.parse_cert_list(cert_list)
print("证书列表:", parsed_certs)
证书管理
# 从文件检查证书
cert_result = api.check_cert_from_files("cert.pem", "key.pem")
if cert_result:
# 提交证书配置
submit_result = api.submit_cert_config(cert_result)
# 删除证书
delete_result = api.delete_cert(cert_id=123)
站点配置
# 获取站点列表
site_list = api.get_site_list()
if site_list:
parsed_sites = api.parse_site_list(site_list)
print("站点列表:", parsed_sites)
# 更新站点配置
update_result = api.update_site_config(
ip="192.168.1.1",
port=443,
site_id=123,
uid=456,
description="我的网站"
)
仓库地址:
https://github.com/obaby/baby-nanqiang-waf-api-tools