t e l i z e
_______________________
______ /_______
\ \ ___ // /
__ ____ __ / _____/ / ____
___/ ____/ _//____/ ______/_____ /__/ _//____
\__ ____ __/ __ __ ____ ____ __/ __///
/ _ |/ _ / / /_/ |/ _
\ ___/___ /____/_______/ ___/___ /
<0(--- __/ -h7- ______/ . __/ ---- ______/ --(0>
. /. .
. // /
______\ //______/
Y
Telize는 방문자 IP 주소를 가져오고 모든 IP 주소에서 위치 정보를 쿼리할 수 있도록 Go에 내장된 REST API입니다. JSON으로 인코딩된 IP 위치정보 데이터를 출력하고 JSON과 JSONP를 모두 지원합니다.
지리적 위치 작업은 데이터베이스를 RAM에 캐시하는 MaxMind DB Reader for Go를 사용하여 수행됩니다. 따라서 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/telize.service
참조하세요.
/etc/systemd/system
에 systemd/telize.service
파일을 복사하고 /usr/local/sbin
에 Telize 바이너리를 복사합니다.
시작 시 데몬을 시작하려면 다음을 실행합니다.
systemctl enable telize
전체 API 문서 및 사용 예를 보려면 프로젝트 사이트를 확인하세요.
Telize는 JSONP 콜백을 지원합니다.
매개변수 없이 API 엔드포인트를 호출하면 방문자 IP 주소가 반환됩니다.
IP 주소를 매개변수로 추가하면 해당 주소에 대한 위치 정보가 반환됩니다.
잘못된 사용자 입력이 입력되면 서버는 JSON으로 인코딩된 오류 메시지와 함께 HTTP 400 오류(잘못된 요청)를 반환합니다.
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
최신 타르볼 릴리스: https://www.statdns.com/telize/telize-3.1.1.tar.gz
GitHub: https://github.com/fcambus/telize