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

๐Ÿ—๏ธ How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Local Client  โ”‚    โ”‚   GCP Server    โ”‚    โ”‚  Google Colab   โ”‚
โ”‚  (Any Platform) โ”‚    โ”‚   (frps:7000)   โ”‚    โ”‚  (frpc+SSH)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚                       โ”‚                       โ”‚
         โ”‚ SSH -p 6001-6010     โ”‚                       โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚
                         FRP Tunnel Forwarding
                      6001-6010 โ†’ Target:22

โšก Quick Start (3 Steps)

Step 1: Install

# Method 1: Using pip (recommended)
pip install frp-tunnel

# Method 2: From source (for development)
git clone https://github.com/cicy-dev/frp-tunnel.git
cd frp-tunnel
bash install.sh

Step 2: Set Up Server (One-time)

# On your VPS/cloud server
frp-tunnel setup

Follow the prompts - it takes 30 seconds

Step 3: Connect from Anywhere

# Google Colab (paste in notebook)
!pip install frp-tunnel && frp-tunnel colab --server YOUR_SERVER_IP --token YOUR_TOKEN

# Your computer
frp-tunnel client --server YOUR_SERVER_IP --token YOUR_TOKEN

# Then SSH normally
ssh -p 6001 colab@YOUR_SERVER_IP

๐ŸŽฎ Available Commands

# Setup and configuration
frp-tunnel setup                    # Interactive setup wizard
frp-tunnel status                   # Show tunnel status

# Start/stop services
frp-tunnel start --component server # Start server
frp-tunnel start --component client # Start client  
frp-tunnel stop                     # Stop all tunnels

# Utilities
frp-tunnel logs                     # View logs
frp-tunnel clean                    # Clean cache
frp-tunnel install                  # Install/update binaries

๐Ÿ”ง Real-World Examples

Example 1: Access Google Colab Files

# In Colab notebook
!pip install frp-tunnel && frp-tunnel colab --server 34.123.45.67 --token abc123
# On your computer
ssh -p 6001 colab@34.123.45.67
# Now you can browse files, upload/download, use git, etc.

Example 2: VS Code Remote Development

  1. Set up tunnel (steps above)
  2. In VS Code: Install "Remote-SSH" extension
  3. Connect to colab@YOUR_SERVER_IP:6001
  4. Code directly in Colab with full VS Code features!

Example 3: Multiple Connections

# Colab 1
frp-tunnel colab --server YOUR_IP --token YOUR_TOKEN --port 6001

# Colab 2  
frp-tunnel colab --server YOUR_IP --token YOUR_TOKEN --port 6002

# Your laptop
frp-tunnel client --server YOUR_IP --token YOUR_TOKEN --port 6003

Example 4: Start/Stop Management

# Start server
frp-tunnel start --component server

# Check status
frp-tunnel status

# Stop all
frp-tunnel stop

# Start client
frp-tunnel start --component client

๐Ÿ› ๏ธ Troubleshooting (Common Issues)

"Connection refused"

# Check if server is running
ssh YOUR_SERVER_IP "ps aux | grep frps"

"Permission denied"

# Make sure you're using the right port
ssh -p 6001 colab@YOUR_SERVER_IP  # Not port 22!

"Token mismatch"

# Get the token from your server
ssh YOUR_SERVER_IP "cat ~/data/frp/frps.ini | grep token"

๐Ÿ“‹ What You Need

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

Quick Server Setup (GCP/AWS)

# Open firewall ports
gcloud compute firewall-rules create frp-tunnel --allow tcp:6001-6010,tcp:7000

# Or for AWS
aws ec2 authorize-security-group-ingress --group-id sg-xxxxx --protocol tcp --port 6001-6010 --cidr 0.0.0.0/0

๐ŸŽ‰ That's It!

No complex configuration files, no networking knowledge needed. Just install, run, and connect!

Need help? Open an issue - we respond quickly!


โญ Star this repo if it saved you time!

๐Ÿ™ Acknowledgments

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

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.0.8.tar.gz (46.1 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.0.8-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: frp_tunnel-1.0.8.tar.gz
  • Upload date:
  • Size: 46.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for frp_tunnel-1.0.8.tar.gz
Algorithm Hash digest
SHA256 388bc136b87e81f868f6bd245bcdc55b134a16d0c2932f8fc110e99eba4b3b1a
MD5 00087738591abb2aaeb8b46ad04858e6
BLAKE2b-256 900eb4d43e00bdfc96bd13adc95d65173f695772a837ff7517bdd37511e29a4e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: frp_tunnel-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for frp_tunnel-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a9ac234ee8a82b4c8dfafc5f0d71cadca066e9ca7eac4350576469f01435e9aa
MD5 62da831eac1256b0384858eb85b3babc
BLAKE2b-256 282a17012c912e172956fee829aa311a58115f159a27557f2fd1c3fafe63b85c

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