t e l i z e
_______________________
______ /_______
\ \ ___ // /
__ ____ __ / _____/ / ____
___/ ____/ _//____/ ______/_____ /__/ _//____
\__ ____ __/ __ __ ____ ____ __/ __///
/ _ |/ _ / / /_/ |/ _
\ ___/___ /____/_______/ ___/___ /
<0(--- __/ -h7- ______/ . __/ ---- ______/ --(0>
. /. .
. // /
______\ //______/
Y
Telize 是 Go 中内置的 REST API,允许获取访问者 IP 地址并从任何 IP 地址查询位置信息。它输出 JSON 编码的 IP 地理位置数据,并支持 JSON 和 JSONP。
地理定位操作是使用 MaxMind DB Reader for Go 执行的,它将数据库缓存在 RAM 中。因此,Telize 的开销非常小,并且速度应该非常快。
Telize 需要以下 Go 库:
Telize 需要 MaxMind 提供的免费 GeoLite2 数据库。
默认情况下,Telize 将在/var/db/GeoIP
中查找GeoLite2 City
和GeoLite2 ASN
数据库。
使用go
工具构建并安装,所有依赖项将自动获取并编译:
go build
go install telize
默认情况下,Telize 将绑定在本地主机的端口 8080 上。
USAGE:
-host string
Set the server host (default "127.0.0.1")
-port string
Set the server port (default "8080")
-version
Display version
Telize 与 systemd 单元文件捆绑在一起,请参阅: systemd/telize.service
复制/etc/systemd/system
中的systemd/telize.service
文件和/usr/local/sbin
中的 Telize 二进制文件。
要在启动时启动守护进程,请运行:
systemctl enable telize
如需完整的 API 文档和使用示例,请查看项目站点。
Telize 支持 JSONP 回调。
调用不带任何参数的 API 端点将返回访客 IP 地址:
附加 IP 地址作为参数将返回给定地址的位置信息:
当输入不正确的用户输入时,服务器会返回 HTTP 400 错误(错误请求)以及 JSON 编码的错误消息。
Telize 处理“X-Forwarded-For”HTTP 标头(如果存在),并返回列表中第一个 IP 地址的数据。
Telize 默认启用 CORS,并采用以下策略:
Access-Control-Allow-Origin: *
从版本 3.0.0 开始,Telize 现在动态计算时区偏移(UTC 时间偏移)并将数据添加到有效负载中。
Telize 是根据 BSD 2-Clause 许可证发布的。有关详细信息,请参阅LICENSE
文件。
Telize 由 Frederic Cambus 开发。
项目主页:https://www.telize.com
最新 tarball 版本:https://www.statdns.com/telize/telize-3.1.1.tar.gz
GitHub:https://github.com/fcambus/telize