Update README.md

This commit is contained in:
yshtcn 2024-06-06 09:51:39 +08:00 committed by GitHub
parent e5400aa800
commit 925a2b8d03
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

125
README.md
View File

@ -1 +1,124 @@
Dockerhttps://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文件。