Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
freedomkk-qfeng committed Jun 6, 2023
1 parent 7981fe5 commit 2b84db2
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Open-GeoIP: 简单且高性能的 IP 地址地理信息查询服务
- [编译打包](#编译打包)
- [定制页面](#定制页面)
- [配置说明](#配置说明)
- [通过csv导入内部数据库](#通过csv导入内部数据库)
- [内部 IP 地理数据库](#内部-ip-地理数据库)
- [限流方案](#限流方案)
- [高可用与扩展性](#高可用与扩展性)
- [API](#api)
Expand Down Expand Up @@ -160,10 +160,35 @@ chmod +x control
| http.trustProxy | array | 被信任的代理的IP地址的数组,当服务被发布在反向代理后时必须正确配置,否则无法正确获取到 xff 的地址。 |
| http.cors | array | 允许跨域访问的域名列表,配置内的域名可以跨域访问 `/myip``/myip/format` 接口 |
| http.x-api-key | string | 访问 openapi 接口所需的 API 密钥 | |
## 通过csv导入内部数据库
## 内部 IP 地理数据库

Open-GeoIP 允许以导入的方式,构建企业内部自己的 IP 地理数据库,以便于查询内部 IP 地址的物理位置。

导入的格式是 `csv`,内容如下所示,项目中已经存在一个 `internal.csv` 的示例文件,可以参考。

| continent | country | province | city | district | isp | areaCode | countryCode | countryEnglish | longitude | latitude | ip_subnet |
| --------- | ------- | -------- | ---- | -------- | --- | -------- | ----------- | -------------- | --------- | -------- | --------- |
| | | | | 保留 | 回环地址 | | | | | | 127.0.0.0/8 |
| 亚洲 | 中国 | 上海 | 上海 | 开源教育 | 企业内网 | 310000 | CN | China ||| 10.0.0.0/8 |
| 亚洲 | 中国 | 上海 | 上海 | 开源教育 | 企业内网 ||| CN || China ||| 192.168.0.0/16 |
| 亚洲 ||| 中国 || 上海 || 上海 || 开源教育 || 企业内网 ||| 310000 || CN || China ||| 172.16.0.0/12 |
| 亚洲 ||| 中国 || 上海 || 上海 || 开源教育 || 企业内网 ||| 310000 || CN || China |||| fd00::/8 |


在启动 Open-GeoIP 之前,执行 `-csv` 命令即可导入内部数据库,此时默认会生成一个 `internal.mmdb` 文件。
```
./open-geoip -csv internal.csv
```
在配置文件中,修改 `internal.mmdb` 的相关配置,将其开启即可。

```json
"internaldb": {
"source": "maxmind",
"enabled": true,
"db": "internal.mmdb"
}
```


## 限流方案
Open-GeoIP 通过 redis 记录每个IP地址的访问次数,当超过阈值时,对该IP进行限制访问。支持分钟,小时,天 三种颗粒的计数策略,可以通过配置文件中的 ratelimit 的部分进行配置,以下示例表示开启了限流策略,并限制了每分钟最多访问 100 次,每小时最多访问 1000 次,每天最多访问 10000 次。
Expand Down
2 changes: 1 addition & 1 deletion control
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ function pack() {
build
git log -1 --pretty=%h > gitversion
version=`./$app -v`
file_list="assets templates control cfg.json $app"
file_list="assets templates control cfg.json cfg.json.example internal.csv city.free.ipdb $app"
echo "...tar $app-$version.tar.gz <= $file_list"
tar zcf $app-$version.tar.gz gitversion $file_list
}
Expand Down

0 comments on commit 2b84db2

Please sign in to comment.