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.9.tar.gz (46.3 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.9-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: frp_tunnel-1.0.9.tar.gz
  • Upload date:
  • Size: 46.3 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.9.tar.gz
Algorithm Hash digest
SHA256 63633b59efa0a9d48677816b304857bfee1eceb50e4b1ad51ab1048009c0e76c
MD5 f578d450cad1203651fab11ab2f5c9a6
BLAKE2b-256 1702e4137507b4bdb44aa6354c84f67828c291b6107b5111e6e0f5671b5117df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: frp_tunnel-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 9e2783363195e769213fdcf2ca3b85202120eb3923cf98be651a3a0ee9154260
MD5 086a5f9b2955dc699497740233e69ed4
BLAKE2b-256 e5579f7c5a0c5a47c497fac690d24a4ed81399eeb5b8dcaa212c700774bce8e3

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