rustunnel
Self-hosted, secure tunnel server in Rust. Expose local HTTP/HTTPS/TCP/UDP services to the public internet via TLS-encrypted WebSocket. Open-source, pay-as-you-go managed option, MCP server for AI agents.
파일 탐색기
최종 버전 다운로드 (.zip)- pre-push
- rustunnel.rb.template
- update-homebrew-formula.sh
- ci.yml
- publish-mcp-image.yml
- publish-mcp.yml
- release-docker.yml
- release.yml
- plugin.json
- mod.rs
- server.rs
- tap.rs
- ui.html
- mod.rs
- ui.rs
- config.rs
- control.rs
- display.rs
- error.rs
- health.rs
- main.rs
- output.rs
- p2p_direct.rs
- proxy.rs
- reconnect.rs
- regions.rs
- stun.rs
- version.rs
- Cargo.toml
- api_client.rs
- main.rs
- mcp.rs
- tools.rs
- tunnel_manager.rs
- Cargo.toml
- README.md
- error.rs
- frame.rs
- lib.rs
- Cargo.toml
- 0001_captured_requests.sql
- 0001_initial_schema.sql
- 0004_regions.sql
- 0005_tunnel_log_region.sql
- 0006_platform_phase1.sql
- 0007_platform_auth_tokens.sql
- 0008_phase3_billing.sql
- 0009_custom_subdomains.sql
- 0010_payg_minimum.sql
- 0011_google_auth.sql
- 0012_p2p_tunnels.sql
- 0013_system_tokens.sql
- 0014_billing_status_and_idempotency.sql
- mod.rs
- mux.rs
- server.rs
- session.rs
- ip_limiter.rs
- limiter.rs
- mod.rs
- router.rs
- tunnel.rs
- _buildManifest.js
- _ssgManifest.js
- page-9042a24b4e105126.js
- layout-f429cd8302b94f3d.js
- page-db6fc2df73236498.js
- _app-72b849fbd24ac258.js
- _error-7ba65e1336b92748.js
- 117-b25838a9c5b96a27.js
- fd9d1056-42a1c2df9c4a85a8.js
- framework-f66176bb897dc684.js
- main-app-4f19f681a7347994.js
- main-bbec9bd66563fde8.js
- polyfills-42372ed130431b0a.js
- webpack-c8441f2d519541e3.js
- 480655bbec5b2837.css
- 404.html
- index.html
- index.txt
- api.rs
- capture.rs
- mod.rs
- mod.rs
- models.rs
- capture.rs
- http.rs
- mod.rs
- tcp.rs
- udp.rs
- acme.rs
- mod.rs
- audit.rs
- config.rs
- error.rs
- lib.rs
- main.rs
- net.rs
- Cargo.toml
- globals.css
- layout.tsx
- page.tsx
- Badge.tsx
- Dot.tsx
- AuthGate.tsx
- Dashboard.tsx
- GroupsPanel.tsx
- Header.tsx
- HealthTimeline.tsx
- Panel.tsx
- RequestDetail.tsx
- RequestList.tsx
- TokensPanel.tsx
- TunnelHistoryPanel.tsx
- TunnelTable.tsx
- useGroups.ts
- useHealthEvents.ts
- useInterval.ts
- useRegionHealth.ts
- useRequests.ts
- useServerStatus.ts
- useTokens.ts
- useTunnelHistory.ts
- useTunnels.ts
- api.ts
- regions.ts
- types.ts
- next-env.d.ts
- next.config.js
- package-lock.json
- package.json
- tsconfig.json
- tsconfig.tsbuildinfo
- Dockerfile.mcp
- server.toml
- build-mcpb-universal.sh
- build-mcpb.sh
- introspect-tools.py
- make-server-json.sh
- manifest.template.json
- manifest.universal.template.json
- docker-compose.dev-deps.yml
- docker-compose.local.yml
- docker-compose.yml
- Dockerfile
- prometheus.yml
- rustunnel.service
- server.local.toml
- server.toml
- agent-integration.md
- api-reference.md
- architecture.md
- claude-plugin.md
- client-guide.md
- database.md
- docker-deployment.md
- load-balancing.md
- mcp-server.md
- p2p-tunnels.md
- ROADMAP.md
- udp-tunnels.md
- rustunnel-logo-light.png
- rustunnel_architecture.png
- rustunnel_project_stages.png
- .mcp.json
- config.json
- cline_mcp_settings.json
- config.toml
- mcp.json
- mcp.json
- mcp_config.json
- install.sh
- README.md
- plugin.json
- SKILL.md
- .mcp.json
- README.md
- bump-version.sh
- SKILL.md
- about.html
- api-demo.html
- index.html
- live.html
- style.css
- README.md
- server.js
- mod.rs
- alert_webhook.rs
- auth.rs
- dashboard_scope.rs
- data_ws_reconnect.rs
- group_events_sse.rs
- health_checks.rs
- http_groups.rs
- http_tunnel.rs
- p2p_tunnel.rs
- reconnect.rs
- tcp_groups.rs
- tcp_tunnel.rs
- udp_tunnel.rs
- version_gate.rs
- webhook_fidelity.rs
- Cargo.toml
- .gitignore
- .mcp.json
- AGENTS.md
- Cargo.lock
- Cargo.toml
- CLAUDE.md
- COPYRIGHT
- glama.json
- LICENSE
- MAINTAINERS
- Makefile
- README.md
- server.json
# 설치 가이드
git clone https://github.com/joaoh82/rustunnel
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd rustunnel
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천- Homebrew macOS/Linux용 패키지 매니저입니다.
- APT (Debian/Ubuntu 계열) Debian/Ubuntu 계열 리눅스에 기본 내장된 패키지 매니저입니다.
brew install dnsmasq
Homebrew로 이미 빌드된 패키지를 바로 설치합니다. 소스 빌드가 필요 없습니다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
공식 설치 스크립트를 다운로드해서 바로 실행합니다. 이 한 줄로 필요한 게 자동으로 설치됩니다.
apt install -y postgresql postgresql-contrib
APT 패키지 저장소에서 바로 설치합니다 (Debian/Ubuntu 계열).
brew tap joaoh82/rustunnel
Homebrew에 이 프로젝트의 저장소(tap)를 등록합니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker pull ghcr.io/joaoh82/rustunnel-server:latest
이 명령어를 터미널에 그대로 입력해 실행하세요.
docker run --rm \
빌드된 이미지를 실제 컨테이너로 실행합니다.
make docker-build
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make docker-push
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
docker compose -f deploy/docker-compose.local.yml up
compose 설정 파일에 정의된 서비스들을 대상으로 명령을 실행합니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
4. Node.js
쉬움cd dashboard-ui
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
5. Rust
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
cargo build --workspace
Rust 프로젝트를 컴파일합니다.
cargo test --workspace -- --nocapture
이 명령어를 터미널에 그대로 입력해 실행하세요.
cargo run -p rustunnel-server -- --config deploy/local/server.toml
빌드 후 바로 실행까지 진행합니다.
cargo run -p rustunnel-client -- http 3000 \
빌드 후 바로 실행까지 진행합니다.
cargo run -p rustunnel-client -- tcp 5432 \
빌드 후 바로 실행까지 진행합니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
6. Make
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make build
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make db-start
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make test
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make db-stop
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
make install-hooks
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
