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
文件。
由 Frederic Cambus 開發 Telize。
專案首頁:https://www.telize.com
最新 tarball 版本:https://www.statdns.com/telize/telize-3.1.1.tar.gz
GitHub:https://github.com/fcambus/telize