{"id":42460691,"url":"https://github.com/sanghyun-io/tunnelforge","last_synced_at":"2026-05-28T02:00:38.185Z","repository":{"id":334688476,"uuid":"1142323956","full_name":"sanghyun-io/tunnelforge","owner":"sanghyun-io","description":"SSH tunnel-based secure database management GUI for Windows. Connect to remote MySQL via bastion hosts with one click.","archived":false,"fork":false,"pushed_at":"2026-05-26T10:22:52.000Z","size":1453,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T10:25:02.286Z","etag":null,"topics":["bastion-host","database","database-management","gui","mysql","pyqt6","python","ssh","ssh-tunnel","windows"],"latest_commit_sha":null,"homepage":"https://github.com/sanghyun-io/tunnelforge/releases","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanghyun-io.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-26T09:00:04.000Z","updated_at":"2026-05-21T08:11:17.000Z","dependencies_parsed_at":"2026-03-13T04:02:08.984Z","dependency_job_id":"aa52a0c7-0ee4-4128-a567-e70430d9c15c","html_url":"https://github.com/sanghyun-io/tunnelforge","commit_stats":null,"previous_names":["sanghyun-io/db-connector","sanghyun-io/tunnelforge"],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/sanghyun-io/tunnelforge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanghyun-io%2Ftunnelforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanghyun-io%2Ftunnelforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanghyun-io%2Ftunnelforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanghyun-io%2Ftunnelforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanghyun-io","download_url":"https://codeload.github.com/sanghyun-io/tunnelforge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanghyun-io%2Ftunnelforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33590884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bastion-host","database","database-management","gui","mysql","pyqt6","python","ssh","ssh-tunnel","windows"],"created_at":"2026-01-28T09:18:19.449Z","updated_at":"2026-05-28T02:00:38.179Z","avatar_url":"https://github.com/sanghyun-io.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/icon_512.png\" width=\"128\" alt=\"TunnelForge Logo\" /\u003e\n\n# TunnelForge\n\n**SSH 터널을 통한 안전한 데이터베이스 관리 — CLI 없이 간편하게.**\n\n[한국어](README.ko.md) · [English](README.md)\n\n[![GitHub Release](https://img.shields.io/github/v/release/sanghyun-io/tunnelforge?style=flat-square\u0026logo=github\u0026label=Release)](https://github.com/sanghyun-io/tunnelforge/releases/latest)\n[![Downloads](https://img.shields.io/github/downloads/sanghyun-io/tunnelforge/total?style=flat-square\u0026logo=github\u0026label=Downloads)](https://github.com/sanghyun-io/tunnelforge/releases)\n[![Build](https://img.shields.io/github/actions/workflow/status/sanghyun-io/tunnelforge/release.yml?style=flat-square\u0026logo=githubactions\u0026logoColor=white\u0026label=Build)](https://github.com/sanghyun-io/tunnelforge/actions)\n[![License](https://img.shields.io/github/license/sanghyun-io/tunnelforge?style=flat-square\u0026label=License)](LICENSE)\n[![Python](https://img.shields.io/badge/Python-3.9+-3776AB?style=flat-square\u0026logo=python\u0026logoColor=white)](https://www.python.org/)\n[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-0078D6?style=flat-square)](https://github.com/sanghyun-io/tunnelforge/releases)\n\n\u003c/div\u003e\n\n---\n\n## 주요 기능\n\n| | 기능 | 설명 |\n|:-:|------|------|\n| 🔐 | **SSH 터널** | 원클릭으로 Bastion 호스트를 통한 보안 연결. RSA, Ed25519, ECDSA 키 지원. |\n| 🔗 | **직접 연결** | 터널 없이 로컬 또는 접근 가능한 DB에 바로 연결. |\n| ⚡ | **병렬 Export/Import** | Rust DB Core의 병렬 처리로 초고속 데이터 전송. |\n| 🔄 | **DB 전환** | Rust DB Core 기반 MySQL ↔ PostgreSQL 전환 워크플로우. |\n| 🛡️ | **마이그레이션 분석** | 변경 전 MySQL 업그레이드 호환성 이슈를 점검. |\n| 🖥️ | **시스템 트레이** | 백그라운드에서 조용히 실행, 필요할 때 바로 사용. |\n| 🔄 | **자동 업데이트 확인** | 시작 시 새 버전을 확인하여 항상 최신 상태 유지. |\n\n---\n\n## 다운로드\n\n\u003cdiv align=\"center\"\u003e\n\n[![웹 설치](https://img.shields.io/badge/⬇_웹_설치-권장_(~5MB)-2563EB?style=for-the-badge)](https://github.com/sanghyun-io/tunnelforge/releases/latest/download/TunnelForge-WebSetup.exe)\n\u0026nbsp;\u0026nbsp;\n[![오프라인 설치](https://img.shields.io/badge/⬇_오프라인_설치-전체_패키지_(~35MB)-6B7280?style=for-the-badge)](https://github.com/sanghyun-io/tunnelforge/releases/latest/download/TunnelForge-Setup-latest.exe)\n\n[macOS DMG/ZIP은 모든 릴리스에서 받기 →](https://github.com/sanghyun-io/tunnelforge/releases)\n\nmacOS DMG/ZIP 설치파일은 최종 실제 Mac 운영자 검증 전의 베타 배포물입니다. SSH, DB, migration, LaunchAgent, Gatekeeper 흐름에서 이슈가 있을 수 있으며 운영 환경 사용은 사용자 책임이고, 최종 검증 전 동작을 보증하지 않습니다.\n\n\u003c/div\u003e\n\n---\n\n## 빠른 시작\n\n### 1. 설치\n\n다운로드한 설치 파일을 실행하고 설치 마법사를 따라 진행하세요. macOS에서는 Mac 아키텍처에 맞는 DMG(`arm64`는 Apple Silicon, `x86_64`는 Intel)를 받고, 필요하면 함께 제공되는 `.sha256` 파일로 검증한 뒤, DMG를 열어 `TunnelForge.app`을 Applications로 이동하세요.\n\n### 2. 터널 추가\n\n**\"터널 추가\"** 버튼을 클릭하고 연결 정보를 설정하세요:\n\n| 항목 | 설명 | 예시 |\n|------|------|------|\n| 터널 이름 | 구분하기 쉬운 이름 | `운영 DB` |\n| Bastion 호스트 | SSH 점프 서버 주소 | `bastion.example.com` |\n| SSH 키 | 개인 키 파일 경로 | `C:\\Users\\me\\.ssh\\id_rsa` |\n| DB 호스트 | 대상 DB 서버 (Bastion 기준) | `db.internal:3306` |\n| DB 인증 정보 | 사용자명 \u0026 비밀번호 | `admin` / `••••` |\n\n### 3. 연결 \u0026 사용\n\n터널 선택 → **\"연결\"** 클릭 → 데이터베이스 도구 사용:\n- **Export** — 스키마 또는 선택한 테이블 백업\n- **Import** — 백업 파일에서 복원\n\n---\n\n## 동작 원리\n\n```mermaid\ngraph LR\n    A[\"🖥️ TunnelForge\"] --\u003e|SSH 터널| B[\"🔒 Bastion 호스트\"]\n    B --\u003e|내부 네트워크| C[\"🗄️ MySQL 서버\"]\n    A --\u003e|\"Export / Import\"| D[\"📁 로컬 파일\"]\n\n    style A fill:#2563EB,color:#fff,stroke:none\n    style B fill:#F97316,color:#fff,stroke:none\n    style C fill:#10B981,color:#fff,stroke:none\n    style D fill:#6B7280,color:#fff,stroke:none\n```\n\n---\n\n## 사용 팁\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e여러 환경 관리\u003c/b\u003e\u003c/summary\u003e\n\n각 환경(개발, 스테이징, 운영)별로 명확한 이름의 터널 설정을 만들어 체계적으로 관리하세요.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExport 모범 사례\u003c/b\u003e\u003c/summary\u003e\n\n- 구조 백업에는 **스키마 전용 Export** 사용\n- 필요한 것만 내보내려면 **테이블 선택** 사용\n- Export는 병렬로 실행되어 빠르게 완료\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e시스템 트레이 활용\u003c/b\u003e\u003c/summary\u003e\n\n- 트레이로 최소화하면 터널이 백그라운드에서 계속 실행\n- 트레이 아이콘 더블클릭으로 창 복원\n- 우클릭으로 빠른 동작 메뉴\n\n\u003c/details\u003e\n\n---\n\n## 요구 사항\n\n| 요구 사항 | 비고 |\n|----------|------|\n| **Windows 10+** | 패키징 지원 플랫폼 |\n| **macOS 13+** | 앱 번들 빌드 지원, 릴리스별 실제 기기 검증 필요 |\n| **Rust DB Core 바이너리** | Export/Import 기능용으로 TunnelForge에 빌드/패키징됨 |\n\nmacOS 지원 범위와 최종 검증 체크리스트는 [macOS Support Plan](docs/macos_support.md)을 참고하세요.\n\n## 설정 파일 위치\n\n- Windows: `%LOCALAPPDATA%\\TunnelForge\\config.json`\n- macOS: `~/Library/Application Support/TunnelForge/config.json`\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[기여하기](CONTRIBUTING.md)** · **[라이선스 (MIT)](LICENSE)**\n\n보안을 중시하는 데이터베이스 엔지니어를 위해 만들었습니다. ❤️\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanghyun-io%2Ftunnelforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanghyun-io%2Ftunnelforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanghyun-io%2Ftunnelforge/lists"}