2024-06-06 09:59:55 +08:00

128 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AliCloud IP Updater
## 项目简介
[AliCloudIPUpdater](https://github.com/yshtcn/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是否正确配置并且网络连接正常。
## 特别说明
本项目代码及其文档使用AI辅助编写实现创意请您谨防相关风险。
## 许可证
本项目使用MIT许可证。详细信息请参见LICENSE文件。