t e l i z e
_______________________
______ /_______
\ \ ___ // /
__ ____ __ / _____/ / ____
___/ ____/ _//____/ ______/_____ /__/ _//____
\__ ____ __/ __ __ ____ ____ __/ __///
/ _ |/ _ / / /_/ |/ _
\ ___/___ /____/_______/ ___/___ /
<0(--- __/ -h7- ______/ . __/ ---- ______/ --(0>
. /. .
. // /
______\ //______/
Y
Telize เป็น REST API ที่สร้างขึ้นใน Go ช่วยให้สามารถรับที่อยู่ IP ของผู้เข้าชมและสอบถามข้อมูลตำแหน่งจากที่อยู่ IP ใดก็ได้ โดยจะส่งออกข้อมูลตำแหน่งทางภูมิศาสตร์ IP ที่เข้ารหัสด้วย JSON และรองรับทั้ง JSON และ JSONP
การดำเนินการระบุตำแหน่งทางภูมิศาสตร์ดำเนินการโดยใช้ MaxMind DB Reader for Go ซึ่งจะแคชฐานข้อมูลใน RAM ดังนั้น Telize จึงมีค่าใช้จ่ายที่น้อยมากและควรจะดำเนินการได้อย่างรวดเร็ว
Telize ต้องการไลบรารี Go ต่อไปนี้:
Telize ต้องการฐานข้อมูล GeoLite2 ฟรีจาก MaxMind
Telize จะค้นหาฐานข้อมูล GeoLite2 City
และ GeoLite2 ASN
ใน /var/db/GeoIP
ตามค่าเริ่มต้น
สร้างและติดตั้งด้วยเครื่องมือ go
การขึ้นต่อกันทั้งหมดจะถูกดึงและคอมไพล์โดยอัตโนมัติ:
go build
go install telize
ตามค่าเริ่มต้น Telize จะผูกกับ localhost พอร์ต 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 unit โปรดดู: systemd/telize.service
คัดลอกไฟล์ systemd/telize.service
ใน /etc/systemd/system
และ Telize binary ใน /usr/local/sbin
หากต้องการเปิดใช้งาน daemon เมื่อเริ่มต้น ให้รัน:
systemctl enable telize
สำหรับเอกสารประกอบ API ฉบับสมบูรณ์และตัวอย่างการใช้งาน โปรดตรวจสอบที่ไซต์โครงการ
Telize รองรับการเรียกกลับ JSONP
การเรียกจุดสิ้นสุด API โดยไม่มีพารามิเตอร์ใดๆ จะส่งคืนที่อยู่ IP ของผู้เข้าชม:
การต่อท้ายที่อยู่ IP เป็นพารามิเตอร์จะส่งคืนข้อมูลตำแหน่งสำหรับที่อยู่ที่ระบุ:
เมื่อป้อนข้อมูลผู้ใช้ไม่ถูกต้อง เซิร์ฟเวอร์จะแสดงข้อผิดพลาด HTTP 400 (คำขอไม่ถูกต้อง) พร้อมด้วยข้อความแสดงข้อผิดพลาดที่เข้ารหัส JSON
Telize จัดการส่วนหัว HTTP 'X-Forwarded-For' หากมี และส่งคืนข้อมูลสำหรับที่อยู่ 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