Skip to main content

Easy SSH tunneling with FRP - One command setup for Google Colab and remote servers

Project description

🚀 FRP Tunnel - SSH Access Made Easy

中文文档 | English

License: MIT Platform

Connect to Google Colab or any remote server via SSH in 30 seconds. No complex setup needed!

🎯 What This Does

  • Problem: Can't SSH into Google Colab or access remote servers behind firewalls
  • Solution: Creates a secure tunnel so you can SSH from anywhere
  • Result: Use your favorite tools (VS Code, file transfer, etc.) with remote servers

⚡ Quick Start

Install

pip install frp-tunnel

Start Server (One-time setup)

# Auto-generates token and config
frp-tunnel server

# Output:
# 🚀 Starting server...
# 🔑 Generated token: frp_abc123...
# ✅ Server started

Connect Client

# Connect to server
frp-tunnel client --server YOUR_SERVER_IP --token YOUR_TOKEN --port 6000

# Then SSH normally
ssh -p 6000 user@YOUR_SERVER_IP

🎮 Commands

# Server
frp-tunnel server              # Start server (auto-gen token)
frp-tunnel server -f           # Force restart
frp-tunnel server -r           # Restart
frp-tunnel server-status       # Show server status

# Client
frp-tunnel client --server IP --token TOKEN --port 6000
frp-tunnel client-status       # Show client status

# Utilities
frp-tunnel token               # Generate new token
frp-tunnel version             # Show version
frp-tunnel stop                # Stop all

📊 Status Display

$ frp-tunnel server-status

📊 Server Status
🖥️  Server: Running
   🌐 Public IP: 34.102.78.219
   📄 Config: ~/data/frp/frps.ini
   📋 Log: ~/data/frp/frps.log
   🔧 Binary: ~/.frp-tunnel/bin/frps
   👥 Active clients: 1
       ssh_6000: port 6000 (v0.52.3, 0 conns)

🔧 Configuration

Server Config (~/data/frp/frps.ini)

[common]
bind_port = 7000
token = frp_your_token_here
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

Client Config (~/data/frp/frpc.ini)

[common]
server_addr = YOUR_SERVER_IP
server_port = 7000
token = frp_your_token_here

[ssh_6000]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

Add more ports by editing the config file manually.

🌟 Features

  • Auto-download FRP binaries (no manual installation)
  • Auto-generate token and config
  • Background mode - runs as daemon
  • Multi-platform - Windows, Linux, macOS
  • Dashboard - Web UI at port 7500
  • API support - Query client status via REST API

🛠️ Advanced Usage

Multiple Ports

Edit ~/data/frp/frpc.ini to add more ports:

[ssh_6001]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001

Dashboard Access

Visit http://YOUR_SERVER_IP:7500 (admin/admin)

API Access

curl -u admin:admin http://localhost:7500/api/proxy/tcp

📋 Requirements

  • Server: Any Linux VPS (Google Cloud, AWS, DigitalOcean, etc.)
  • Ports: Open ports 6000-6010 and 7000, 7500 on your server
  • Client: Any computer with SSH

🙏 Acknowledgments

Special thanks to the FRP project authors for creating the excellent reverse proxy tool that makes this package possible.


Star this repo if it saved you time!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frp_tunnel-1.1.0.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frp_tunnel-1.1.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file frp_tunnel-1.1.0.tar.gz.

File metadata

  • Download URL: frp_tunnel-1.1.0.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for frp_tunnel-1.1.0.tar.gz
Algorithm Hash digest
SHA256 70c58e6cf90926ea648295ab2ecf29e128e64afb17ce9175b60947969912ee7a
MD5 bd8ec6ba09b662c77aa758255b96e866
BLAKE2b-256 cd12d0adbbeef28b7e1b5dd4546bedf9a501b820624af3a8d00a1cce70f1aba4

See more details on using hashes here.

File details

Details for the file frp_tunnel-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: frp_tunnel-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for frp_tunnel-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd495f44a57177434b3224ba0fd11668761c494a929fceeee2879ec30c7a717
MD5 9ff04adfd6e2a694f6f5fe55b9376973
BLAKE2b-256 160dd1bf244018bb861b68cfcffc405bafaa25012ce7915b760eec2c1e19293a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page