Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
simvyn — 에이전트 & 인간을 위한 범용 모바일 개발 도구 - 단일 대시보드와 CLI로 iOS 시뮬레이터, Android 에뮬레이터 및 실제 기기를 제어하세요 | Kitploit
도구/GitHubGitHub/pranshuchittora/simvyn
Android SecurityGeneral Purpose UtilitiesDynamic Analysis (Sandboxing)iOS SecurityScripting & AutomationDebuggersInformation GatheringPenetration TestingMobile SecurityUtilities & FrameworksDatabase Security
34423669일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Log Analysis
GitHubpranshuchittora/simvyn

simvyn

에이전트 & 인간을 위한 범용 모바일 개발 도구 - 단일 대시보드와 CLI로 iOS 시뮬레이터, Android 에뮬레이터 및 실제 기기를 제어하세요

저장소 보기
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/e081fb1d4bcaa6556ff10e722d1ff25449288b68ce1aad9ac3b5ecc047ccf5fb.png" width="180" alt="simvyn" />
</p>

<h1 align="center">simvyn</h1>

<p align="center">
  범용 모바일 개발 도구 — 단일 대시보드와 CLI에서 iOS 시뮬레이터, Android 에뮬레이터, 실제 기기를 제어합니다
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/v/simvyn?color=cb3837&amp;logo=npm" alt="npm version" /></a>
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/dm/simvyn?color=cb3837&amp;logo=npm" alt="npm downloads" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml"><img src="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml/badge.svg" alt="CI status" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/simvyn?color=blue" alt="MIT License" /></a>
  <a href="https://nodejs.org"><img src="https://img.shields.io/node/v/simvyn?color=5FA04E&amp;logo=node.js&amp;logoColor=white" alt="Node version" /></a>
</p>

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/bff45a80ced8a6cba77f5bab23f21607fb310862cbc838179d9ce714a1d4d6b6.png" alt="simvyn dashboard" />
</p>

<p align="center">
  <img src="https://raw.githubusercontent.com/pranshuchittora/simvyn/main/assets/demo.gif" alt="simvyn demo" />
</p>

## 목차

- [빠른 시작](#quick-start)
- [설치](#installation)
- [AI 코딩 에이전트](#ai-coding-agents)
- [기능](#features)
- [모듈 쇼케이스](#module-showcases)
- [컬렉션 가이드](#collections-guide)
- [CLI 레퍼런스](#cli-reference)
- [작동 방식](#how-it-works)
- [지원 플랫폼](#supported-platforms)
- [기여](#contributing)
- [보안](#security)
- [라이선스](#license)

## 빠른 시작```bash
npx simvyn
```
로컬 서버를 시작하고, 브라우저에서 웹 대시보드를 열며, 연결된 모든 시뮬레이터, 에뮬레이터, USB로 연결된 실제 기기를 자동으로 검색합니다.

## 설치

**전역 설치:**```bash
npm install -g simvyn
```
**일회성 사용(설치 불필요):**```bash
npx simvyn
```
**요구 사항:**

- Node.js 22 (22.14.0+) 또는 24+
- macOS (iOS + Android 전체 지원) 또는 Linux (Android만 지원)

## AI 코딩 에이전트

simvyn은 기기 검색, 지원되는 CLI 명령 실행, 스크린샷 캡처, 앱 데이터 검사, 제한된 로그 수집을 위한 이식 가능한 [Agent Skill](https://github.com/pranshuchittora/simvyn/blob/main/skills/simvyn/SKILL.md)을 포함합니다. 이는 에이전트가 명시적 기기 ID와 플랫폼 제한을 사용하여 CLI를 사용하도록 가르칩니다. 이 스킬은 에이전트의 기존 터미널 도구를 사용하며, MCP 서버나 새로운 에이전트 도구를 등록하지 않습니다.

**Pi:** npm 패키지는 [Pi 패키지](https://pi.dev/packages/simvyn)입니다. 스킬과 함께 `simvyn`, `simvyn_screenshot`, `simvyn_logs`, `simvyn_record` 도구, 대시보드를 실행하는 `/simvyn` 명령, 그리고 `/simvyn-repro`, `/simvyn-screen`, `/simvyn-logs` 프롬프트 템플릿을 추가합니다. Pi 0.74 이상이 필요합니다:```bash
pi install npm:simvyn
```
**기타 호환 에이전트:** GitHub에서 에이전트를 선택하여 포터블 스킬을 설치하고, simvyn CLI를 별도로 설치하세요:```bash
npm install -g simvyn
npx skills add pranshuchittora/simvyn --skill simvyn --agent codex --yes
```
GitHub 명령을 사용하려면 기본 브랜치에 이러한 스킬 파일이 있어야 하며, Pi 명령을 사용하려면 게시된 npm 릴리스에 Pi 리소스가 있어야 합니다. 릴리스되지 않은 변경 사항의 경우 [로컬 체크아웃 지침](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md#test-an-unreleased-checkout)을 참조하세요.

번들로 제공되는 런처, 지원되는 출력, 비대화형 작업 및 현재 제한 사항에 대해서는 [에이전트 설정 및 워크플로 가이드](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md)를 참조하세요. 문서 URL을 허용하는 도구를 위한 간결한 [문서 색인](https://github.com/pranshuchittora/simvyn/blob/main/llms.txt)도 제공됩니다.

## 기능

- **기기 관리** — 즐겨찾기 고정 기능을 통해 시뮬레이터, 에뮬레이터 및 실제 기기를 검색, 부팅, 종료, 초기화, 생성 및 복제
- **앱 관리** — 드래그 앤 드롭 또는 CLI를 통해 앱 설치, 실행, 종료, 제거
- **로그 뷰어** — 레벨 필터링, 페이지 내 찾기 검색(Cmd+F), 정규식 검색, 페이지네이션 및 내보내기를 지원하는 실시간 스트리밍
- **위치 시뮬레이션** — GPS 좌표 설정, 속도 제어를 통한 GPX/KML 경로 재생, 즐겨찾기 저장
- **기기 설정** — 다크 모드, 로케일, 방향, 권한, 상태 표시줄 재정의, 접근성 프리셋
- **스크린샷 및 녹화** — 스크린샷 캡처 및 기록이 포함된 화면 비디오 녹화
- **딥 링크** — URL 및 사용자 정의 스킴 열기, 앱별 즐겨찾기 저장
- **데이터베이스 검사기** — SQLite 테이블 탐색, SQL 쿼리 실행, SharedPreferences 및 NSUserDefaults 보기
- **파일 브라우저** — 앱 샌드박스 탐색, 파일 업로드/다운로드, 텍스트 인라인 편집
- **푸시 알림** — JSON 페이로드 작성, iOS 시뮬레이터로 전송, 템플릿 라이브러리
- **컬렉션** — 기기 작업을 재사용 가능한 시퀀스로 묶고 여러 기기에 한 번에 적용
- **크래시 로그** — iOS 진단 보고서 및 Android logcat/tombstone 크래시
- **클립보드** — 기기 클립보드 내용 읽기 및 쓰기
- **미디어** — 기기 카메라 롤 및 갤러리에 사진과 비디오 푸시
- **도구 설정** — 서버 구성, 스토리지 관리, 진단 및 디버그 보고서
- **실제 기기 지원** — USB를 통해 실제 Android 및 iOS 기기를 자동 검색으로 연결
- **웹 대시보드** — 명령 팔레트와 키보드 탐색을 갖춘 Apple Liquid Glass 디자인
- **전체 CLI** — 모든 기능이 `simvyn <command>`를 통해 헤드리스로 작동

## 모듈 쇼케이스

### 기기 관리

연결된 모든 iOS 시뮬레이터, Android 에뮬레이터 및 USB로 연결된 실제 기기를 하나의 통합 목록에서 검색합니다. Xcode나 Android Studio를 건드리지 않고 기기를 부팅, 종료 및 초기화할 수 있습니다. 기기 유형과 런타임을 선택하여 새 iOS 시뮬레이터를 생성하거나 기존 시뮬레이터를 복제하여 빠르게 복제본을 만들 수 있습니다. 실제 기기는 연결 시 자동으로 나타나며 기기 선택기에서 별도로 그룹화됩니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Device Management" width="700" /></p>

- 플랫폼 전반에 걸쳐 사용 가능한 모든 시뮬레이터, 에뮬레이터 및 실제 기기 나열
- 클릭 한 번 또는 CLI 명령으로 기기 부팅, 종료 및 초기화
- 기기 유형 및 런타임 선택으로 새 iOS 시뮬레이터 생성
- 기존 시뮬레이터 복제 및 이름 변경
- 즐겨찾는 기기를 기기 선택기 상단에 고정
- WebSocket을 통한 실시간 기기 상태 업데이트

### 앱 관리

연결된 모든 기기에 앱을 설치, 실행, 종료 및 제거합니다. IPA, APK 또는 iOS 시뮬레이터 .app 번들을 대시보드에 직접 드래그 앤 드롭합니다. 수동 adb 또는 simctl 명령 없이 상세한 앱 정보를 보고 앱 데이터를 지웁니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="App Management" width="700" /></p>

- IPA, APK 및 iOS 시뮬레이터 .app 드래그 앤 드롭 설치
- 번들 ID로 앱 실행, 종료 및 제거
- 버전, 크기 및 권한을 포함한 앱 세부 정보 보기
- Android 기기에서 앱 데이터 지우기
- 검색 필터링으로 설치된 모든 앱 나열

### 로그 뷰어

강력한 필터링으로 기기 로그를 실시간으로 스트리밍합니다. 로그 레벨로 필터링하고, 정규식 패턴으로 검색하고, 프로세스 이름으로 필터링합니다. 페이지 내 찾기 검색(Cmd+F)을 사용하여 주변 컨텍스트를 숨기지 않고 특정 항목을 강조 표시합니다. 공유 또는 보관을 위해 필터링된 로그를 내보냅니다. 페이지네이션된 기록을 통해 성능 문제 없이 수천 개의 항목을 스크롤할 수 있습니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Log Viewer" width="700" /></p>

- WebSocket을 통한 실시간 로그 스트리밍
- 레벨별 필터링: debug, info, warning, error, fatal
- 일치 항목 강조 표시, 탐색 및 카운터가 있는 페이지 내 찾기 검색(Cmd+F)
- 정규식 검색 및 프로세스 이름 필터링
- 가상 스크롤이 있는 페이지네이션된 기록
- 필터링된 로그를 파일로 내보내기
- 지우기 후에도 상태를 유지하면서 로그 스트리밍 일시 중지/재개

### 위치

대화형 지도 또는 수동 입력을 사용하여 모든 기기에 정확한 GPS 좌표를 설정합니다. 조정 가능한 속도 제어로 GPX 및 KML 경로 파일을 재생합니다. 자주 사용하는 위치를 즐겨찾기로 저장하여 빠르게 액세스합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Location" width="700" /></p>

- 클릭하여 좌표를 설정하는 대화형 지도
- 속도 제어가 있는 GPX 및 KML 경로 파일 재생
- 기기별로 저장되는 즐겨찾기 위치
- 다중 기기 위치 브로드캐스트
- 사람이 읽을 수 있는 주소를 위한 역지오코딩

### 기기 설정

다크 모드 전환, 로케일 변경, 기기 방향 회전(Android), 앱 권한 관리 및 상태 표시줄 모양 재정의. 접근성 프리셋을 적용하여 다양한 조건에서 앱을 테스트합니다. 모든 설정 변경은 대상 기기에 즉시 적용됩니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Device Settings" width="700" /></p>

- 다크/라이트 모드 전환
- 기기 로케일 변경
- 앱 권한 관리
- 상태 표시줄 재정의(시간, 배터리, 신호)
- 접근성 프리셋(굵은 텍스트, 대비 증가, 콘텐츠 크기)

### 스크린샷 및 녹화

모든 기기에서 스크린샷을 캡처하고 화면 비디오를 녹화합니다. 모든 캡처는 타임스탬프와 함께 저장되며 탐색 가능한 기록으로 정리됩니다. 대시보드에서 직접 캡처를 다운로드하거나 삭제합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Screenshots and Recording" width="700" /></p>

- 원클릭 스크린샷 캡처
- 시작/중지 컨트롤이 있는 화면 녹화
- 타임스탬프가 있는 캡처 기록
- 대시보드에서 캡처 다운로드 및 삭제

### 딥 링크

모든 기기에서 URL 및 사용자 정의 URI 스킴을 엽니다. 자주 사용하는 딥 링크를 앱별로 정리된 즐겨찾기로 저장합니다. 터미널에 URL을 수동으로 입력하지 않고 앱의 딥 링크 처리를 테스트합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Deep Links" width="700" /></p>

- 기기에서 모든 URL 또는 사용자 정의 스킴 열기
- 앱별 즐겨찾기 딥 링크 저장
- 최근 순으로 정렬된 링크 기록
- iOS와 Android 모두에서 작동

### 데이터베이스 검사기

모든 앱 샌드박스 내부의 SQLite 데이터베이스를 탐색합니다. 테이블 스키마를 보고, 임의의 SQL 쿼리를 실행하고, SharedPreferences(Android) 또는 NSUserDefaults(iOS)를 검사합니다. 스크립트를 작성하지 않고 값을 인라인으로 편집합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/4884b688dbbee5f1a34b0454950f4d6562e74efdbbb3b84ca5c626835b4b7d37.png" alt="Database Inspector" width="700" /></p>

- 정렬 가능한 열이 있는 SQLite 테이블 탐색
- 임의의 SQL 쿼리 실행
- SharedPreferences 및 NSUserDefaults 보기 및 편집
- 유형 감지 기능이 있는 인라인 셀 편집

### 파일 브라우저

설치된 모든 앱의 샌드박스 파일 시스템을 탐색합니다. 디렉토리를 탐색하고, 파일을 업로드 및 다운로드하고, 텍스트 파일을 인라인으로 편집합니다. 수동 adb pull/push 명령 없이 컴퓨터와 기기 간에 파일을 전송합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7b7ba540ad5de8b575da4f9bb28694dc68f5ffce51225a388788b8ef2f4767a0.png" alt="File Browser" width="700" /></p>

- 앱 샌드박스 디렉토리 탐색
- 파일 업로드 및 다운로드
- 인라인 텍스트 파일 편집
- iOS 및 Android 앱 컨테이너 모두에서 작동

### 푸시 알림

JSON 푸시 알림 페이로드를 작성하여 iOS 시뮬레이터로 전송합니다. 내장 템플릿 라이브러리를 시작점으로 사용하거나 페이로드를 처음부터 작성합니다. 실시간 JSON 유효성 검사가 전송 전에 오류를 강조 표시합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/f640654be67c24c7248806987e62908316407c18648fc145109118f260443f7d.png" alt="Push Notifications" width="700" /></p>

- iOS 시뮬레이터로 푸시 페이로드 작성 및 전송
- 내장 페이로드 템플릿 라이브러리
- 실시간 JSON 유효성 검사
- 번들 ID로 특정 앱 대상 지정

### 컬렉션

재사용 가능한 기기 작업 세트를 만들어 여러 기기에 한 번에 적용합니다. 컬렉션은 위치 설정, 다크 모드 전환, 앱 설치와 같은 단계를 하나의 반복 가능한 워크플로로 묶습니다. 시작하는 데 도움이 되는 세 가지 스타터 프리셋이 simvyn과 함께 제공됩니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/fbf2ddbba1d3725321c80a914bf5b71ea6a2fc605fddbb73abd0b28385488af6.png" alt="Collections" width="700" /></p>

- 명명된 컬렉션 생성, 복제 및 관리
- 모든 모듈에 걸친 분류된 작업 카탈로그 탐색
- 드래그 앤 드롭 단계 재정렬
- 호환성 검사를 통한 여러 기기에 적용
- 세 가지 내장 스타터 프리셋

### 크래시 로그

iOS 진단 보고서(.ips 파일)와 logcat 및 tombstone 덤프의 Android 크래시 로그를 봅니다. 타임스탬프와 프로세스 정보가 있는 크래시 항목을 탐색합니다. 기기 파일 시스템을 뒤지지 않고 전체 크래시 세부 정보를 검사합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/8f74a799448050bc37eace1d43865b13f3f47a0997c01dba650fd21e94f09ebf.png" alt="Crash Logs" width="700" /></p>

- iOS 진단 보고서(.ips) 파싱
- PID 및 태그별 Android logcat 크래시 그룹화
- Android tombstone 덤프 검색
- 상세 보기가 있는 타임스탬프 크래시 목록

### 클립보드

대시보드 또는 CLI에서 기기 클립보드를 읽고 씁니다. 앱에 테스트 데이터를 빠르게 붙여넣거나 앱이 복사한 내용을 검사하는 데 유용합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/db889032abeb5f1d511dcfeb8c06c215bda851436f198a63db97f595b50853d6.png" alt="Clipboard" width="700" /></p>

- 현재 클립보드 내용 읽기
- 기기 클립보드에 텍스트 쓰기
- iOS 시뮬레이터 및 Android 에뮬레이터에서 작동

### 미디어

사진과 비디오를 기기의 카메라 롤 또는 갤러리에 직접 푸시합니다. 케이블, 이메일 또는 클라우드 전송 없이 대시보드에 파일을 드롭하여 주입합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/c63ce5411dc17b5d329c2af381c035d86164f5544928b0c76fe7d05346473561.png" alt="Media" width="700" /></p>

- 드래그 앤 드롭으로 기기 갤러리에 사진 및 비디오 추가
- 최대 500MB의 대용량 파일 지원
- iOS 시뮬레이터 및 Android 에뮬레이터에서 작동

### 도구 설정

simvyn 서버를 구성하고, 스토리지를 관리하고, 진단을 봅니다. 이슈 제출을 위한 디버그 보고서 생성기를 포함합니다.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7ba043d473d21d4bb5477582539ffd9a4c57600ec20c22ee9d7e63146cbbfbb2.png" alt="Tool Settings" width="700" /></p>

- 서버 포트, 자동 열기 및 폴링 간격 구성
- 데이터 초기화 옵션이 있는 스토리지 사용량 개요
- 진단: Xcode 버전, devicectl 가용성, adb 버전
- 버그 제출을 위한 원클릭 디버그 보고서

## 컬렉션 가이드

컬렉션을 사용하면 여러 기기 작업을 재사용 가능한 시퀀스로 묶고 클릭 한 번으로 모든 기기 조합에 적용할 수 있습니다.

### 컬렉션 생성

사이드바에서 컬렉션 패널을 엽니다. **New Collection**을 클릭하고 이름을 지정합니다. 컬렉션은 비어 있는 상태로 시작되며 작업 카탈로그에서 단계를 추가합니다.

### 단계 추가

**Add Step**을 클릭하여 분류된 작업 카탈로그를 탐색합니다. 작업은 모듈별로 구성됩니다 — 기기 설정, 위치, 앱 관리 등. 작업을 선택하고 매개변수(좌표, 번들 ID, 토글 값)를 인라인으로 구성하면 컬렉션에 나타납니다. 단계를 드래그하여 순서를 변경합니다.

### 컬렉션 적용

**Apply**를 클릭하여 적용 모달을 엽니다. 기기 목록에서 하나 이상의 대상 기기를 선택합니다. 호환성 요약은 호환되지 않는 플랫폼에서 건너뛸 단계를 보여줍니다(예: Android 기기의 iOS 전용 작업). **Cmd+Enter**를 눌러 실행합니다. 실시간 상태 매트릭스가 단계별, 기기별 진행 상황을 실시간으로 보여줍니다.

### 명령 팔레트 통합

저장된 컬렉션은 명령 팔레트(**Cmd+K**)에 나타납니다. 이름으로 컬렉션을 검색하고 기기 선택기로 직접 적용합니다 — 컬렉션 패널로 이동할 필요가 없습니다.

### 스타터 컬렉션

세 가지 내장 프리셋이 simvyn과 함께 제공됩니다:

- **Dark Mode + Japanese Locale** — 다크 모드를 활성화하고 로케일을 일본어로 설정
- **Screenshot Setup** — 깔끔한 App Store 스크린샷을 위한 상태 표시줄 재정의 구성
- **Reset Device State** — 위치 지우기, 설정 재설정 및 앱 데이터 초기화

### CLI 사용법```bash
simvyn collections list                         # List all collections
simvyn collections apply <name> <devices...>    # Apply a collection to devices
```
## CLI 레퍼런스

모든 기능은 명령줄에서 접근할 수 있습니다. 인수 없이 `simvyn`을 실행하면 대시보드가 시작되며, 헤드리스 작업을 위해서는 아래 명령 중 하나를 사용하세요.

| 명령어                                            | 설명                                       |
| ------------------------------------------------- | ------------------------------------------ |
| `simvyn`                                          | 대시보드 시작 (기본값)                     |
| `simvyn device list`                              | 모든 기기 목록 표시                        |
| `simvyn device boot <device>`                     | 기기 부팅                                  |
| `simvyn device shutdown <device>`                 | 기기 종료                                  |
| `simvyn device erase <device>`                    | 기기 콘텐츠 및 설정 삭제                   |
| `simvyn device create <name> <type> <runtime>`    | 새 iOS 시뮬레이터 생성                     |
| `simvyn device clone <device> <name>`             | iOS 시뮬레이터 복제                        |
| `simvyn device rename <device> <name>`            | iOS 시뮬레이터 이름 변경                   |
| `simvyn device delete <device>`                   | iOS 시뮬레이터 삭제                        |
| `simvyn location set <device> <lat> <lng>`        | GPS 좌표 설정                              |
| `simvyn location route <device> <file>`           | GPX/KML 경로 재생                          |
| `simvyn location clear <device>`                  | 시뮬레이션된 위치 초기화                   |
| `simvyn app list <device>`                        | 설치된 앱 목록 표시                        |
| `simvyn app install <device> <path>`              | IPA, APK 또는 iOS 시뮬레이터 .app 설치     |
| `simvyn app uninstall <device> <bundle-id>`       | 앱 제거                                    |
| `simvyn app launch <device> <bundle-id>`          | 앱 실행                                    |
| `simvyn app terminate <device> <bundle-id>`       | 앱 종료                                    |
| `simvyn app info <device> <bundle-id>`            | 앱 세부 정보 표시                          |
| `simvyn app clear-data <device> <bundle-id>`      | 앱 데이터 초기화 (Android)                 |
| `simvyn logs <device>`                            | 기기 로그 스트리밍                         |
| `simvyn screenshot <device>`                      | 스크린샷 캡처                              |
| `simvyn record <device>`                          | 화면 녹화                                  |
| `simvyn link <device> <url>`                      | 딥 링크 열기                               |
| `simvyn push <device>`                            | 푸시 알림 전송                             |
| `simvyn fs ls <device> <bundle-id> [path]`        | 앱 샌드박스의 파일 목록 표시               |
| `simvyn fs pull <device> <bundle-id> <path>`      | 파일 다운로드                              |
| `simvyn fs push <device> <bundle-id> <src> <dst>` | 파일 업로드                                |
| `simvyn db list <device> <bundle-id>`             | 데이터베이스 목록 표시                     |
| `simvyn db query <device> <bundle-id> <db> <sql>` | SQL 쿼리 실행                              |
| `simvyn db prefs <device> <bundle-id>`            | SharedPreferences / NSUserDefaults 보기    |
| `simvyn keychain add <device> <cert>`             | 루트 인증서 추가                           |
| `simvyn keychain reset <device>`                  | 키체인 초기화                              |
| `simvyn collections list`                         | 모든 컬렉션 목록 표시                      |
| `simvyn collections show <id>`                    | 컬렉션 세부 정보 표시                      |
| `simvyn collections create <name>`                | 새 컬렉션 생성                             |
| `simvyn collections delete <id>`                  | 컬렉션 삭제                                |
| `simvyn collections duplicate <id>`               | 컬렉션 복제                                |
| `simvyn collections apply <name> <devices...>`    | 기기에 컬렉션 적용                         |
| `simvyn settings orientation <device> <orient>`   | 기기 방향 설정 (Android)                   |

## 작동 방식

simvyn은 `xcrun simctl` (iOS 시뮬레이터), `xcrun devicectl` (iOS 실제 기기), `adb` (Android)를 통합 인터페이스 뒤로 감쌉니다. SDK가 필요 없으며, 모든 앱에서 작동하고 코드 변경도 필요하지 않습니다.

아키텍처는 모듈 시스템을 기반으로 구축되어 있으며, 각 기능(위치, 로그, 앱 관리 등)은 자체 API 라우트, CLI 명령, WebSocket 핸들러를 등록하는 독립적인 플러그인입니다. 웹 대시보드는 단일 멀티플렉싱된 WebSocket 연결을 통해 로컬 Fastify 서버와 통신하여 실시간 기기 상태와 로그 스트리밍을 제공합니다. 특정 기기 유형에서 사용할 수 없는 기능은 UI에서 명확한 표시와 함께 자동으로 비활성화됩니다.

## 지원 플랫폼

| 플랫폼   | iOS 시뮬레이터 | iOS 기기 | Android 에뮬레이터 | Android 기기 |
| -------- | -------------- | -------- | ------------------ | ------------ |
| macOS    | 예             | 제한적   | 예                 | 예           |
| Linux    | 아니오         | 아니오   | 예                 | 예           |

### 실제 기기 지원

USB로 연결된 실제 기기는 시뮬레이터 및 에뮬레이터와 함께 자동으로 검색됩니다. 대시보드는 이들을 별도의 섹션(실제 기기 / 시뮬레이터 / 에뮬레이터)으로 그룹화하고, 기기 연결이 끊어지면 토스트를 표시합니다.

**Android 실제 기기**는 앱 관리, 딥 링크, 로그, 스크린샷, 데이터베이스 인스펙터, 파일 브라우저 등 거의 모든 기능을 지원합니다. 일부 에뮬레이터 전용 기능(`adb emu geo`를 통한 위치 시뮬레이션, 배터리 시뮬레이션)은 사용할 수 없으며 UI에 명확히 표시됩니다.

**iOS 실제 기기**는 Xcode 15+가 필요하며 내부적으로 `xcrun devicectl`을 사용합니다. 지원되는 기능으로는 기기 검색, 앱 설치/제거/실행/종료, 앱 목록 표시, 딥 링크, 파일 복사가 있습니다. `simctl`에 의존하는 많은 기능(스크린샷, 화면 녹화, 위치 시뮬레이션, 클립보드, 외관, 상태 표시줄, 푸시 알림)은 실제 iOS 기기에서 사용할 수 없습니다. 지원되지 않는 컨트롤은 그 이유를 설명하는 툴팁과 함께 비활성화됩니다. 컬렉션은 실제 기기에 적용되지 않는 단계를 자동으로 건너뜁니다.

## 기여

버그 수정, 새 모듈, 플랫폼 지원 범위, 문서 등 모든 기여를 환영합니다.

개발 환경 설정, 프로젝트 구조, 모듈 추가 방법, CI에서 실행하는 검사 항목을 다루는 **[기여 가이드](https://github.com/pranshuchittora/simvyn/blob/main/CONTRIBUTING.md)**부터 시작하세요.

- [버그 신고](https://github.com/pranshuchittora/simvyn/issues/new?template=bug_report.yml)
- [기능 요청](https://github.com/pranshuchittora/simvyn/issues/new?template=feature_request.yml)
- [행동 강령](https://github.com/pranshuchittora/simvyn/blob/main/CODE_OF_CONDUCT.md)
- [변경 로그](https://github.com/pranshuchittora/simvyn/blob/main/CHANGELOG.md)```bash
git clone https://github.com/pranshuchittora/simvyn.git
cd simvyn
npm install
npm run dev
```
## 보안

simvyn은 로컬 개발자 도구이며 신뢰할 수 없는 네트워크에 노출되도록 설계되지 않았습니다.

취약점은 공개 이슈가 아닌 [GitHub Security Advisories](https://github.com/pranshuchittora/simvyn/security/advisories/new)를 통해 비공개로 신고해 주세요. 범위와 포함해야 할 내용은 [Security Policy](https://github.com/pranshuchittora/simvyn/blob/main/SECURITY.md)를 참조하세요.

모든 릴리스는 신뢰할 수 있는 게시를 통해 [provenance](https://docs.npmjs.com/generating-provenance-statements)와 함께 npm에 게시되므로, tarball을 이를 빌드한 커밋까지 검증할 수 있습니다:```bash
npm audit signatures
```
## 라이선스

[MIT](https://github.com/pranshuchittora/simvyn/blob/main/LICENSE) © [Pranshu Chittora](https://github.com/pranshuchittora)
도구 다운로드