An open API service indexing awesome lists of open source software.

https://github.com/sanghyun-io/tunnelforge

SSH tunnel-based secure database management GUI for Windows. Connect to remote MySQL via bastion hosts with one click.
https://github.com/sanghyun-io/tunnelforge

bastion-host database database-management gui mysql pyqt6 python ssh ssh-tunnel windows

Last synced: 29 days ago
JSON representation

SSH tunnel-based secure database management GUI for Windows. Connect to remote MySQL via bastion hosts with one click.

Awesome Lists containing this project

README

          

TunnelForge Logo

# TunnelForge

**SSH 터널을 통한 안전한 데이터베이스 관리 — CLI 없이 간편하게.**

[한국어](README.ko.md) · [English](README.md)

[![GitHub Release](https://img.shields.io/github/v/release/sanghyun-io/tunnelforge?style=flat-square&logo=github&label=Release)](https://github.com/sanghyun-io/tunnelforge/releases/latest)
[![Downloads](https://img.shields.io/github/downloads/sanghyun-io/tunnelforge/total?style=flat-square&logo=github&label=Downloads)](https://github.com/sanghyun-io/tunnelforge/releases)
[![Build](https://img.shields.io/github/actions/workflow/status/sanghyun-io/tunnelforge/release.yml?style=flat-square&logo=githubactions&logoColor=white&label=Build)](https://github.com/sanghyun-io/tunnelforge/actions)
[![License](https://img.shields.io/github/license/sanghyun-io/tunnelforge?style=flat-square&label=License)](LICENSE)
[![Python](https://img.shields.io/badge/Python-3.9+-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/)
[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS-0078D6?style=flat-square)](https://github.com/sanghyun-io/tunnelforge/releases)

---

## 주요 기능

| | 기능 | 설명 |
|:-:|------|------|
| 🔐 | **SSH 터널** | 원클릭으로 Bastion 호스트를 통한 보안 연결. RSA, Ed25519, ECDSA 키 지원. |
| 🔗 | **직접 연결** | 터널 없이 로컬 또는 접근 가능한 DB에 바로 연결. |
| ⚡ | **병렬 Export/Import** | Rust DB Core의 병렬 처리로 초고속 데이터 전송. |
| 🔄 | **DB 전환** | Rust DB Core 기반 MySQL ↔ PostgreSQL 전환 워크플로우. |
| 🛡️ | **마이그레이션 분석** | 변경 전 MySQL 업그레이드 호환성 이슈를 점검. |
| 🖥️ | **시스템 트레이** | 백그라운드에서 조용히 실행, 필요할 때 바로 사용. |
| 🔄 | **자동 업데이트 확인** | 시작 시 새 버전을 확인하여 항상 최신 상태 유지. |

---

## 다운로드

[![웹 설치](https://img.shields.io/badge/⬇_웹_설치-권장_(~5MB)-2563EB?style=for-the-badge)](https://github.com/sanghyun-io/tunnelforge/releases/latest/download/TunnelForge-WebSetup.exe)
  
[![오프라인 설치](https://img.shields.io/badge/⬇_오프라인_설치-전체_패키지_(~35MB)-6B7280?style=for-the-badge)](https://github.com/sanghyun-io/tunnelforge/releases/latest/download/TunnelForge-Setup-latest.exe)

[macOS DMG/ZIP은 모든 릴리스에서 받기 →](https://github.com/sanghyun-io/tunnelforge/releases)

macOS DMG/ZIP 설치파일은 최종 실제 Mac 운영자 검증 전의 베타 배포물입니다. SSH, DB, migration, LaunchAgent, Gatekeeper 흐름에서 이슈가 있을 수 있으며 운영 환경 사용은 사용자 책임이고, 최종 검증 전 동작을 보증하지 않습니다.

---

## 빠른 시작

### 1. 설치

다운로드한 설치 파일을 실행하고 설치 마법사를 따라 진행하세요. macOS에서는 Mac 아키텍처에 맞는 DMG(`arm64`는 Apple Silicon, `x86_64`는 Intel)를 받고, 필요하면 함께 제공되는 `.sha256` 파일로 검증한 뒤, DMG를 열어 `TunnelForge.app`을 Applications로 이동하세요.

### 2. 터널 추가

**"터널 추가"** 버튼을 클릭하고 연결 정보를 설정하세요:

| 항목 | 설명 | 예시 |
|------|------|------|
| 터널 이름 | 구분하기 쉬운 이름 | `운영 DB` |
| Bastion 호스트 | SSH 점프 서버 주소 | `bastion.example.com` |
| SSH 키 | 개인 키 파일 경로 | `C:\Users\me\.ssh\id_rsa` |
| DB 호스트 | 대상 DB 서버 (Bastion 기준) | `db.internal:3306` |
| DB 인증 정보 | 사용자명 & 비밀번호 | `admin` / `••••` |

### 3. 연결 & 사용

터널 선택 → **"연결"** 클릭 → 데이터베이스 도구 사용:
- **Export** — 스키마 또는 선택한 테이블 백업
- **Import** — 백업 파일에서 복원

---

## 동작 원리

```mermaid
graph LR
A["🖥️ TunnelForge"] -->|SSH 터널| B["🔒 Bastion 호스트"]
B -->|내부 네트워크| C["🗄️ MySQL 서버"]
A -->|"Export / Import"| D["📁 로컬 파일"]

style A fill:#2563EB,color:#fff,stroke:none
style B fill:#F97316,color:#fff,stroke:none
style C fill:#10B981,color:#fff,stroke:none
style D fill:#6B7280,color:#fff,stroke:none
```

---

## 사용 팁

여러 환경 관리

각 환경(개발, 스테이징, 운영)별로 명확한 이름의 터널 설정을 만들어 체계적으로 관리하세요.

Export 모범 사례

- 구조 백업에는 **스키마 전용 Export** 사용
- 필요한 것만 내보내려면 **테이블 선택** 사용
- Export는 병렬로 실행되어 빠르게 완료

시스템 트레이 활용

- 트레이로 최소화하면 터널이 백그라운드에서 계속 실행
- 트레이 아이콘 더블클릭으로 창 복원
- 우클릭으로 빠른 동작 메뉴

---

## 요구 사항

| 요구 사항 | 비고 |
|----------|------|
| **Windows 10+** | 패키징 지원 플랫폼 |
| **macOS 13+** | 앱 번들 빌드 지원, 릴리스별 실제 기기 검증 필요 |
| **Rust DB Core 바이너리** | Export/Import 기능용으로 TunnelForge에 빌드/패키징됨 |

macOS 지원 범위와 최종 검증 체크리스트는 [macOS Support Plan](docs/macos_support.md)을 참고하세요.

## 설정 파일 위치

- Windows: `%LOCALAPPDATA%\TunnelForge\config.json`
- macOS: `~/Library/Application Support/TunnelForge/config.json`

---

**[기여하기](CONTRIBUTING.md)** · **[라이선스 (MIT)](LICENSE)**

보안을 중시하는 데이터베이스 엔지니어를 위해 만들었습니다. ❤️