diff --git a/README.md b/README.md index c4fa82f..9f670cf 100644 --- a/README.md +++ b/README.md @@ -1 +1,124 @@ -Docker:https://hub.docker.com/r/yshtcn/alicloud_ip_updater + +# AliCloud IP Updater + +## 项目简介 + +AliCloud IP Updater 是一个用于定期更新阿里云安全组白名单的工具。它可以从指定的URL获取当前IP地址,并将其添加到阿里云安全组中。程序还集成了Server酱API,用于在更新白名单和发生重大错误时发送通知。 + +## 功能 + +- 定期从指定URL获取当前IP地址。 +- 更新阿里云安全组的白名单。 +- 删除旧的白名单规则。 +- 通过Server酱发送更新和错误通知。 +- 支持自定义通知标题和内容。 + +## 环境要求 + +- Python 3.12 +- 阿里云账号及其访问密钥(Access Key ID 和 Access Key Secret) +- Docker(可选) + +## 配置文件 + +程序需要一个配置文件 `config.json`,您可以基于 `config.sample.json` 创建。以下是配置文件的示例: + +```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}" +} +``` + +## 使用方法 + +### 在本地运行 + +1. 克隆项目: + + ```bash + git clone https://github.com/yshtcn/alicloud-ip-updater.git + cd alicloud-ip-updater + ``` + +2. 安装依赖: + + ```bash + pip install -r requirements.txt + ``` + +3. 创建配置文件: + + 基于 `config.sample.json` 创建 `config.json` 并填写您的配置信息。 + +4. 运行程序: + + ```bash + python AliCloudIPUpdater.py + ``` + +### 使用Docker + +1. 构建Docker镜像: + + ```bash + docker build -t yshtcn/alicloud_ip_updater . + ``` + +2. 运行Docker容器: + + ```bash + docker run -v /path/to/config:/app/config yshtcn/alicloud_ip_updater + ``` + + 注意:请将 `/path/to/config` 替换为您本地存放 `config.json` 的路径。 + +### Docker Hub + +本项目发布在 [Docker Hub](https://hub.docker.com/r/yshtcn/alicloud_ip_updater),您也可以直接从Docker Hub拉取本项目镜像: + +```bash +docker pull yshtcn/alicloud_ip_updater +``` + +然后运行Docker容器: + +```bash +docker run -v /path/to/config:/app/config yshtcn/alicloud_ip_updater +``` + +## 常见问题 + +### 配置文件不存在 + +如果程序提示配置文件不存在,请确保您已正确映射配置文件目录,并且配置文件名为 `config.json`。 + +### 通知发送失败 + +请检查您的Server酱Key是否正确配置,并且网络连接正常。 + + +## 许可证 + +本项目使用MIT许可证。详细信息请参见LICENSE文件。 + + + +