
OSINT 프로젝트. 이메일에서 정보를 수집합니다. 수집. 프로필. 타임라인.
iKy는 이메일 주소 또는 기타 선택자로부터 정보를 수집하고 결과를 시각적 인터페이스로 표시하는 OSINT 도구입니다.
git clone https://gitlab.com/kennbroorg/iKy.git
cd iKy
just build
just up
브라우저에서 http://localhost:4300을 엽니다.
모든 서비스를 중지하려면:
just down
just up은backend,iky-frontend,redis를 시작합니다. 기본적으로 다른 서비스는 시작되지 않습니다.
Docker를 실행할 수 없는 경우, iKy를 네이티브로 실행할 수 있습니다: Caddy가 미리 빌드된 프론트엔드를 제공하고, Redis + Celery + Uvicorn이 로컬 프로세스로 실행됩니다. 호스트에 redis-server, Python 3.12, curl, tar가 필요합니다 (Caddy는 자동으로 다운로드됩니다).
just setup # 가상 환경 생성
just up-native # 의존성 설치, Caddy + 프론트엔드 다운로드, 모든 항목 시작
브라우저에서 http://localhost:4300을 엽니다. Ctrl-C 또는 just down-native로 중지합니다.
프론트엔드는 최신 GitHub 릴리스에서 가져옵니다 — Node 빌드가 필요하지 않습니다. 네이티브 모드에서는
tor가 실행되지 않으며,darkweb모듈에서만 필요합니다.
| 서비스 | 스택 | 포트 |
|---|---|---|
| backend | FastAPI 0.115 + Celery 5.6 | 5000 |
| iky-frontend | Angular 21 + nginx | 4300 |
| redis | Redis 7 | 56379 (호스트) |
| tor | SOCKS5 프록시 (darkweb 모듈) | 내부 |
iKy는 backend/module_registry.py를 통해 26개의 모듈을 라우팅합니다:
| 카테고리 | 모듈 |
|---|---|
| 소셜 네트워크 | twitter, linkedin, instagram, tiktok, mastodon, twitch, reddit |
| 신원 / 사용자 이름 | github, gitlab, keybase, sherlock, socialscan, holehe, usersearch, skype |
| 데이트 / 결제 | tinder, venmo |
| 음악 | spotify |
| 평판 / 데이터 브로커 | peopledatalabs, emailrep, fullcontact |
| 유출 / 침해 | leaks, leaklookup, darkweb, hudsonrock |
| 검색 | search |
애플리케이션이 브라우저에 로드되면 설정 패널에 API 키를 입력하세요. 아래는 backend/factories/apikeys_default.json의 전체 필드 표입니다:
| 모듈 | 상태 | apikey 필드 | 획득 방법 |
|---|---|---|---|
| 🆗 🍪 | linkedin_cookies (또는 레거시 linkedin_li_at / linkedin_JSESSIONID) | just cookies-grab linkedin linkedin.com 또는 just cookies-import linkedin <파일> | |
| 🆗 🍪 | twitter_cookies | just cookies-grab twitter x.com | |
| TikTok | 🆗 🍪 | tiktok_cookies | just cookies-grab tiktok tiktok.com |
| PeopleDataLabs | 🆗 | peopledatalabs_key | 🆓 무료 API — wiki |
| Emailrep | 🆗 | emailrep_key | 🆓 무료 API — wiki |
| Leaklookup | 🆗 | leaklookup_key | 🆓 무료 API — wiki |
| Spotify | 🆗 | spotify_client_id / spotify_client_secret | 🆓 무료 API — wiki |
| Twitch | 🆗 | twitch_client_id / twitch_client_secret | 🆓 무료 API — wiki |
| CSE (Google) | 🆗 | cse_api_key / cse_cx | 🆓 무료 API — wiki |
| Brave | 🆗 | brave_key | 🆓 무료 API |
| ⚠️ | instagram_user / instagram_pass | 검토 중 | |
| Fullcontact | 🛑 | fullcontact_api | 중단됨 |
| HaveIBeenPwned | 🛑 | haveibeenpwned_key | 중단됨 |
🍪로 표시된 API는 브라우저 세션 쿠키를 사용하고, 나머지는 서비스 토큰을 사용합니다.
일부 모듈(LinkedIn, Twitter, TikTok)은 브라우저의 세션 쿠키가 필요합니다. 쿠키는 backend/cookies/에 저장되며(컨테이너 내 /app/cookies로 마운트됨) 재시작 후에도 유지됩니다. just를 통해 두 가지 방법으로 로드할 수 있습니다.
쿠키는 개인 세션 토큰입니다: 공유하거나 저장소에 커밋하지 마세요 (
backend/cookies/는 git 무시됨).
Cookie-Editor와 같은 확장 프로그램을 사용하여 사이트 쿠키를 JSON 파일로 내보내고 가져옵니다:
just cookies-import linkedin ~/Downloads/linkedin_cookies.json
로컬 브라우저에서 직접 쿠키를 추출합니다. 실행하기 전에 브라우저를 닫으세요 (열려 있는 브라우저는 쿠키 데이터베이스를 잠급니다):
# 설치된 모든 브라우저 시도 (firefox, chrome, brave, edge)
just cookies-grab linkedin linkedin.com
# 또는 특정 브라우저 지정
just cookies-grab linkedin linkedin.com brave
명령은 브라우저별로 읽을 수 있었던 것과 읽을 수 없었던 것을 보고하고, 모듈에 필요한 쿠키를 찾은 경우에만 파일을 씁니다. 예를 들어, LinkedIn에는 li_at 및 JSESSIONID가 필요합니다.
| 모듈 | 도메인 | 필요한 쿠키 |
|---|---|---|
| linkedin.com | li_at, JSESSIONID | |
| x.com | auth_token, ct0 | |
| TikTok | tiktok.com | msToken |
쿠키는 주기적으로 만료됩니다 (LinkedIn 쿠키는 1~3개월 지속). 모듈 인증이 중단되면 명령을 다시 실행하세요.
개발 워크플로는 린팅/pre-commit 훅을 위한 virtualenv와 **애플리케이션 빌드 및 실행을 위한 Docker(또는 네이티브 just up-native 흐름)**을 사용합니다.
just를 설치한 후:
just setup
source .venv/bin/activate
이렇게 하면 pre-commit과 ruff가 포함된 Python virtualenv가 생성되고 git 훅이 설치됩니다.
| 명령어 | 설명 |
|---|---|
just build | Docker 이미지 빌드 |
just up | 모든 서비스 시작 |
just down | 모든 서비스 중지 |
just logs | 백엔드 로그 확인 (just logs frontend로 프론트엔드) |
just ps | 실행 중인 컨테이너 표시 |
just shell-backend | 백엔드 컨테이너에서 셸 열기 |
just lint | ruff 린터 및 포맷 검사 실행 |
just fmt | Python 코드 자동 포맷 |
just restart backend | 특정 서비스 재시작 |
just rebuild | 모든 서비스 중지, 재빌드, 재시작 |
just clean | 컨테이너, 볼륨 및 로컬 이미지 제거 |
just up-native | iKy 네이티브로 시작 (Docker 없이) |
just down-native | 네이티브 서비스 중지 |
just up-native-clean | 네이티브 캐시 (Caddy, 프론트엔드, 로그) 정리 |
최신 변경 사항을 가져오고 Docker 이미지를 재빌드합니다:
git pull
just rebuild