mirror of
https://github.com/yshtcn/alicloud-ip-updater.git
synced 2025-12-10 16:50:19 +08:00
AliCloud IP Updater
项目简介
AliCloudIPUpdater 是一个用于定期更新阿里云安全组白名单的工具。它可以从指定的URL获取当前IP地址,并将其添加到阿里云安全组中。程序还集成了Server酱API,用于在更新白名单和发生重大错误时发送通知。
功能
- 定期从指定URL获取当前IP地址。
- 更新阿里云安全组的白名单。
- 删除旧的白名单规则。
- 通过Server酱发送更新和错误通知。
- 支持自定义通知标题和内容。
环境要求
- Python 3.12
- 阿里云账号及其访问密钥(Access Key ID 和 Access Key Secret)
- Docker(可选)
配置文件
程序需要一个配置文件 config.json,您可以基于 config.sample.json 创建。以下是配置文件的示例:
{
"ACCESS_KEY_ID": "your_access_key_id",
"ACCESS_KEY_SECRET": "your_access_key_secret",
"REGION_ID": "your_region_id",
"SECURITY_GROUP_ID": "your_security_group_id",
"TAG": "your_tag",
"GETIP_URLS": [
"https://getip.ysht.me"
],
"PORTS": [
{"port": "53", "protocol": "udp"},
{"port": "6053", "protocol": "tcp"},
{"port": "1-65535", "protocol": "tcp"}
],
"PRIORITY": 1,
"IP_RECORD_FILE": "ip_records.json",
"INTERVAL_SECONDS": 3600,
"SERVER_CHAN_KEY": "your_server_chan_key",
"SERVER_CHAN_TITLE": "阿里云安全组白名单更新通知",
"SERVER_CHAN_MESSAGE": "monitor已更新白名单,IP:{IP},端口: {ports}"
}
使用方法
在本地运行
-
克隆项目:
git clone https://github.com/yshtcn/alicloud-ip-updater.git cd alicloud-ip-updater -
安装依赖:
pip install -r requirements.txt -
创建配置文件:
基于
config.sample.json创建config.json并填写您的配置信息。 -
运行程序:
python AliCloudIPUpdater.py
使用Docker
-
构建Docker镜像:
docker build -t yshtcn/alicloud_ip_updater . -
运行Docker容器:
docker run -v /path/to/config:/app/config yshtcn/alicloud_ip_updater注意:请将
/path/to/config替换为您本地存放config.json的路径。
Docker Hub
本项目发布在 Docker Hub,您也可以直接从Docker Hub拉取本项目镜像:
docker pull yshtcn/alicloud_ip_updater
然后运行Docker容器:
docker run -v /path/to/config:/app/config yshtcn/alicloud_ip_updater
常见问题
配置文件不存在
如果程序提示配置文件不存在,请确保您已正确映射配置文件目录,并且配置文件名为 config.json。
通知发送失败
请检查您的Server酱Key是否正确配置,并且网络连接正常。
特别说明
本项目代码及其文档使用AI辅助编写实现创意,请您谨防相关风险。
许可证
本项目使用MIT许可证。详细信息请参见LICENSE文件。
Languages
Python
79.1%
PowerShell
17.2%
Dockerfile
3.7%