IP 배지
아래는 웹에서 가장 많이 사용하는 임베드 방식 몇 가지를 보여줍니다: IP만 표시, 국가 코드 표시, 중국어 국가명 표시, 특정 IP 조회, 그리고 색상으로 “상태화”한 배지. 각 방식은 한 줄로 구성되어 개인 홈페이지, 관리자 패널, 공지 페이지, 상태 페이지 등에 바로 넣기 좋습니다.
현재 접속 IP:
출구(egress) 소속 확인(코드):
(예: US/TW/JP)
출구(egress) 소속 확인(중국어):
지정 IP 조회(8.8.8.8):
지정 IP 조회(중국어):
상태형 표시(파란색):
(hex도 가능: /check-ip-zh-ff0000)
방문자 IP만 표시(단일 구간 배지)하여 가장 깔끔한 출력입니다. README나 상태 페이지에서 현재 출구 IP를 빠르게 보여주기에 적합합니다.
<img src="https://s.ipin.io/myip" alt="내 IP" />
라우트 끝에 -blue/-green/-gray 등을 붙여 배경색을 제어할 수 있어, 배지를 페이지 테마에 맞추기 좋습니다.
<img src="https://s.ipin.io/myip-gray" alt="내 IP(회색)" />
6자리 16진수 색상(# 없이)을 지원하여 브랜드/테마 색상을 정확히 맞출 수 있습니다.
<img src="https://s.ipin.io/myip-111827" alt="내 IP(커스텀 색상)" />
방문자 IP + 국가 코드 country_code(예: US/TW/JP)를 표시합니다. 대시보드/상태 페이지에서 출구 소속을 빠르게 식별하기에 적합합니다.
<img src="https://s.ipin.io/check-ip" alt="IP + 국가 코드" />
끝에 -blue/-green 등을 추가해 오른쪽 결과 블록의 색상을 바꿀 수 있으며, “상태 의미”를 표현할 때 자주 사용합니다.
<img src="https://s.ipin.io/check-ip-blue" alt="IP + 코드(파란색)" />
6자리 hex로 오른쪽 결과 블록 색상을 커스텀할 수 있어, 테마 색상 정렬이나 리스크 등급별 색상 구성에 적합합니다.
<img src="https://s.ipin.io/check-ip-16a34a" alt="IP + 코드(커스텀 그린)" />
지정한 IP의 국가 코드를 조회해 표시합니다. 티켓/경보/로그 분석에서 “의심 IP”를 시각화하는 데 유용합니다.
<img src="https://s.ipin.io/check-8.8.8.8" alt="8.8.8.8 + 국가 코드" />
지정 IP에 색상 접미사를 붙이면 리스크 등급을 “색으로 표시”(예: red=고위험, yellow=주의)하는 데 활용할 수 있습니다.
<img src="https://s.ipin.io/check-8.8.8.8-red" alt="8.8.8.8(빨간색)" />
라우트에 -zh/-en/-ja 같은 언어 세그먼트가 포함되면 오른쪽에 “코드 + 국가명”을 표시합니다. 언어가 없으면 기본적으로 국가명은 출력하지 않습니다.
<img src="https://s.ipin.io/check-ip-zh" alt="IP + 코드 + 국가명(중국어)" />
언어 세그먼트와 색상 세그먼트는 함께 사용할 수 있습니다: /check-ip-zh-blue. 다국어 페이지에서 스타일을 통일하는 데 유용합니다. 색상 토큰: sky cyan green emerald yellow orange red rose gray black
<img src="https://s.ipin.io/check-ip-zh-blue" alt="중국어 국가명(파란색)" />
지정 IP를 조회하고 선택한 언어로 국가명을 출력합니다. 경보 IP를 티켓/알림 메시지에 삽입하면, 읽는 사람이 상세를 열지 않아도 출처 국가를 빠르게 이해할 수 있습니다.
<img src="https://s.ipin.io/check-8.8.8.8-zh" alt="8.8.8.8 + 국가명(중국어)" />
지정 IP + 언어 + 색상 3단 조합은 “보안/리스크 등급” 시각화에 가장 적합합니다. 예: 빨강은 고위험, 초록은 화이트리스트를 의미합니다.
<img src="https://s.ipin.io/check-8.8.8.8-zh-green" alt="8.8.8.8(중국어 + 초록)" />
IP 배지(IP Badge) 도구 소개
IP 배지는 가벼운 “이미지 API”로, “방문자 IP(또는 지정한 IP)”와 해당
country_code(국가 코드),
country_name(국가명, 선택)
을 바로 삽입 가능한 SVG 배지 이미지로 렌더링해
Content-Type: image/svg+xml
로 출력합니다. JSON을 반환하는 기존 조회 API와 달리, SVG 배지는 일반 이미지처럼 README, 관리자 패널, 모니터링 대시보드, 상태 페이지 또는
<img>
를 지원하는 어디에서든 바로 표시할 수 있어, 프론트엔드에서 별도 렌더링 처리가 필요 없습니다.
도구는 shields.io와 유사한 2구간 배지 레이아웃을 기본 제공하며, 왼쪽에는 보통 IP, 오른쪽에는 조회 결과(국가 코드 또는 “코드 + 국가명”)를 표시합니다. 라우트 세그먼트로 색상과 언어도 제어할 수 있습니다.
데이터 소스는 로컬 테이블
ip2location_db11
(IPv4 범위 매칭으로 country_code 획득)을 사용하며,
다국어 국가명은
sys_lang_multi
를 vc_code 로 매핑해
name_en / name_zh / name_ja ...
등의 필드에서 가져옵니다(라우트에 언어 세그먼트가 있을 때만 국가명을 출력).
또한 Cloudflare, X-Forwarded-For 같은 일반적인 프록시 헤더에서 실제 클라이언트 IP를 추출하려고 시도하므로, CDN/리버스 프록시/로드밸런서 뒤에 배치된 환경에서도 유용합니다.
라우트와 반환 내용: 최소형부터 완전형까지
IP 배지의 핵심 사용법은 라우트를 이미지 주소처럼 쓰는 것입니다. 브라우저에서 라우트를 직접 열면 SVG 배지가 보이고,
Markdown이나 HTML에서 같은 URL을 참조하면 이미지로 렌더링됩니다. 표시 정보의 “밀도”에 따라 라우트는 크게 myip와 check 두 종류로 나뉩니다:
myip는 표시(IP만), check는 조회(국가 정보 포함) 중심입니다.
또한 라우트에 -<lang> 가 포함될 때만 국가명이 표시되며,
언어가 없으면 코드를 짧게 출력해 상태 배지처럼 보이도록 합니다.
GET /myip
용도: 서버 출구 IP 표시, 프록시 체인에서 실제 IP가 전달되는지 디버깅, 개인 페이지 표시 등. 출력은 IP 텍스트만 포함된 단일 구간 배지입니다.
GET /check-ip
용도: 모니터링 대시보드/상태 페이지에서 “출구 국가”를 빠르게 안내. 오른쪽에는 country_code(예: US / TW / JP)만 표시합니다.
GET /check-8.8.8.8
용도: 티켓/경보/로그 분석에서 “의심 IP”를 시각화 태그로 만들어 출처 국가를 빠르게 식별.
GET /check-ip-zh
용도: 비기술 사용자 대상이거나 더 읽기 쉬운 표시가 필요한 페이지. 오른쪽에 country_code + country_name 을 표시(예: “US United States”).
언어가 생략되면 기본적으로 국가명을 출력하지 않아 배지가 지나치게 길어지는 것을 방지합니다.
GET /check-8.8.8.8-zh
용도: 보안 운영, 해외 이슈 점검, 고객지원 티켓 시스템 등에서 특정 IP의 국가 정보를 “이미지 배지” 형태로 임의의 페이지/메시지 본문에 삽입.
색상 제어(방식 B): shields처럼 라우트 끝에 -<color> 추가
IP 배지는 라우트 끝에 -<color> 를 붙여 배경색(일반적으로 오른쪽 결과 영역)을 제어할 수 있습니다.
shields.io와 동일한 사용감으로, 간단한 색상 토큰(blue/green/red/gray 등) 또는 6자리 16진수 색상(# 없이)을 사용할 수 있습니다.
예를 들어 “green=정상, yellow=주의, red=고위험”처럼 색상을 의미에 연결하면, 배지가 정보를 보여주는 동시에 상태 의미도 전달할 수 있습니다.
-
색상 토큰 지정:
GET /check-ip-zh-blue GET /check-8.8.8.8-green토큰은 빠른 색상 선택에 적합합니다(blue/green/red/orange/yellow/gray 등, 컨트롤러의 매핑 테이블 기준).
-
6자리 hex 지정(# 없이):
GET /check-ip-zh-ff0000 GET /check-8.8.8.8-16a34ahex는 사이트 테마/브랜드 색상과 정확히 맞추기에 좋아, 전체 UI 일관성을 유지할 수 있습니다.
-
myip도 색상 지원:
GET /myip-gray GET /myip-111827단일 구간 배지는 “표시” 목적이 많고, 색상을 주면 페이지 스타일에 더 잘 어울리거나 목록에서 더 쉽게 구분됩니다.
임베드 방식: Markdown / HTML / 모니터링 패널에서 바로 사용
IP 배지는 SVG 이미지를 출력하므로 가장 권장되는 방식은 “바로 임베드”입니다. GitHub/GitLab README나 위키에서는 Markdown 이미지 문법을 쓰면 되고,
어떤 웹페이지나 관리자 화면에서도 <img> 태그로 참조하면 됩니다.
추가 프론트엔드 로직이나 CORS JSON 처리, 템플릿 렌더링/폰트 레이아웃 문제 없이 브라우저가 SVG를 이미지로 자연스럽게 그려줍니다.

<img src="https://s.ipin.io/check-8.8.8.8-zh-green" alt="IP 배지" />
대시보드나 상태 페이지에서 여러 개의 배지(예: 여러 노드 출구, 여러 IP 인텔)를 동시에 표시한다면, 캐시 시간을 길게(예: 1시간 이상) 설정하는 것을 권장합니다. DB 조회 부담을 크게 줄이고 로딩 속도도 개선됩니다. IP 소속 정보는 변경 빈도가 낮아 캐시 효율이 매우 높습니다.
자주 쓰는 시나리오: “IP 정보”를 시각화 컴포넌트로
IP 배지는 “표시형” 요구사항에 매우 적합합니다. 예를 들어 운영 상태 페이지에서 각 노드의 출구 IP/국가 정보를 배지로 나열하면,
특정 노드가 예상치 못한 지역으로 나가고 있는지 한눈에 확인할 수 있습니다.
보안 운영에서는 알림 IP를 빨간 배지로 만들어 티켓이나通知에 삽입(예: “US United States” / “RU Russia”)하면,
담당자가 상세를 열지 않아도 위험 문맥을 빠르게 파악할 수 있습니다.
CDN/리버스 프록시 체인 디버깅에서는 /myip 와 /check-ip
를 통해 실제 IP가 올바르게 전달되는지, 잘못 덮어쓰여지지 않았는지 빠르게 검증할 수 있습니다.
다국어 백오피스나 국제화 SaaS에서는 -zh/-en/-ja
로 같은 IP라도 언어별로 다른 국가명을 표시할 수 있어, 프론트엔드 다국어 사전 유지 비용을 줄일 수 있습니다.
더 나아가 색상을 업무 상태와 연결(초록=허용, 노랑=검증 필요, 빨강=차단/고위험 등)하면 배지가 “정보 + 상태”를 동시에 전달합니다.
팁: 서비스를 외부에 공개할 경우, 리버스 프록시/애플리케이션 계층에서 “신뢰 가능한 프록시 헤더” 정책을 적용해
X-Forwarded-For 등의 헤더를 클라이언트가 위조하여 잘못 표시되는 문제를 방지하는 것을 권장합니다.
또한
ip2location_db11.ip_from 와
sys_lang_multi.vc_code
에 인덱스를 추가하고 캐시 헤더를 병행하면 성능과 안정성이 향상됩니다.