Giter Site home page Giter Site logo

anderspitman / awesome-tunneling Goto Github PK

View Code? Open in Web Editor NEW
13.5K 182.0 654.0 246 KB

List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting.

ngrok tunneling self-hosted ngrok-alternative ssh tunnel-proxy

awesome-tunneling's People

Contributors

almereyda avatar anderspitman avatar ankitjaininfo avatar anvarbeckk avatar aurelg avatar bramvanhoutte avatar cmars avatar cu avatar digitallyrefined avatar dovholuknf avatar eldho1416 avatar eltociear avatar emadda avatar ghoshbishakh avatar heliostatic avatar idarlund avatar jaarson avatar jeffreytse avatar jkuri avatar jvliwanag avatar kofoednielsen avatar korewachino avatar luker983 avatar nezteb avatar packetriot avatar pandapip1 avatar paralin avatar raaz714 avatar spekulatius avatar unknwon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-tunneling's Issues

boringproxy needs ssh

After some unsuccessful testing, I noticed boringproxy needs an ssh connection. So it does not work in private firewall protected networks allowing only http traffic

Question: tunnelling suggestion for E2E tests

Hey! Thank you so much for collecting this awesome list!

I am currently using localtunnel, and it fits my usecase pretty well, although I have doubts about its stability. Can you suggest a service with the following requirements:

  • (if paid) no limits on running tunnels
  • randomly generated subdomains
  • SSL
  • relatively easy way to get generated URL outside of the terminal window with running client

I went through (most) of the services in this list, and unfortunately, I was not been able to find something that will fit my needs.

Thanks!

Inlets open source link leads to 404

The "open source" link found on this line:

* [inlets](https://inlets.dev/) - Used to be [open source](https://github.com/inlets/inlets-archived); now focused on a polished commercial offering. Designed to work well with Kubernetes.

leads to a non-existing repo. I believe the maintainer removed any official repos of the original open source code-base in early January of this year.

I did upload a detached fork of the code to my own GitHub account to retain for those that needed it:
https://github.com/ssddanbrown/inlets
This had the latest original commit history I could find at time of creation.

I didn't create a PR as wasn't sure if you'd want to link to a non-official repo or if you'd rather just remove the link.

Schuko

For WebSockets, I created several years ago https://github.com/piranna/Schuko, and have been using it in multiple projects. It can be used with latests changes also as a WebRTC signaling channel.

Add TOR

Using the TOR network, you can setup Hidden Services which are bound to hosts which are in NAT restricted networks, example:

- Alice sets up a hidden service (called aliceshiddenservice.onion), which is bound to 192.168.1.2 (Alice's SSH server, which is only accessible from the local network)
- Bob will then connect to "aliceshiddenservice.onion" using software such as PuTTy with the TOR proxy (needed for the DNS lookups), which in turn will connect Bob to Alice's SSH server
- No port forwarding needed, and can be perfectly hosted on a small raspberry pi

just iptables?

When the self-hosted server at home already serves a trusted SSL certificate (letsencrypt wildcard via dns challenge), that it's sufficient just to do an SSH tunnel (via systemd) and do some iptables magic on the public VPS.

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i eth0 -p tcp -d <PUBLIC_SERVER_IP> --dport 443 -j DNAT --to  127.0.0.1:8443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

while the client is just doing

ssh -R 8443:localhost:443 root@PUBLIC_SERVER_IP

Change to table format

Probably auto-generate something like the following:

Name Popularity Tunneling Method Language License Details
frp frp github stars badge Single or pooled TCP sockets Go Apache 2.0 Comprehensive open alternative to ngrok. Supports UDP, and has a P2P mode.
boringproxy boringproxy github stars badge SSH Go MIT Designed to be very easy to use. No config files. Clients can be remote-controlled through a simple WebUI and/or REST API on the server.

Remove lynk.sh

lynk.sh now redirects to "Loophole Labs". I poked around a bit and wasn't able to see any mention of a tunneling solution. @Jspsun @ShivanshVij is there any reason you feel I should leave it on the list?

Kindly add KubeSail.com

Heyo! I'm the founder of https://kubesail.com - we do tunneling, dynamic DNS and other services for home-hosting with Kubernetes. We're a 2 person startup and it would mean loads to us to make it onto your list!

Thanks ❤️

GSocket

https://www.gsocket.io/
Global Socket allows two workstations on different private networks to communicate with each other. Through firewalls and through NAT - like there is no firewall.

Features:

  • Uses the Global Socket Relay Network to connect TCP pipes
  • End-2-End encryption (using OpenSSL's SRP / RFC 5054)
  • AES-256 & key exchange using 4096-bit Prime
  • No PKI required.
  • Perfect Forward Secrecy
  • TOR support (optional)

jprq not written in Golang

jprq - Another home-grown Golang solution. Proxies over WebSockets.

I think jprq was written in Python, not Golang.

Add Teredo tunneling

The Teredo server at trex.fi is still alive, and you can get a public IPv6 address with it. Use miredo on Linux. Then, some dynamic DNS, and voila, you can reach your server from anywhere with IPv6 (or through another miredo) over a domain name. Yes, this is slow.

Kindly add sshreach.me

Hi, I've just seen your list mentioned on Hacker news. I see that you also list commercial tunneling solutions and I wonder if you could add https://sshreach.me to your list? I am a lead developer, we are a small software company from Serbia. We offer zero-configuration, remote controlled tunneling to any Linux, windows or mac based device. Our service is transparent (no third-party applications or binary executables, just a simple python script that runs on your device), private (uses proven ssh technology), cheap and portable.

NPS

We are using a tool called NPS https://github.com/ehang-io/nps which is very handy and powerful. It is a bit different from other tools because with NPS we are actually managing all the client tunnel settings on the server (web).

Add `rathole`

I developed rathole - A secure, stable and high-performance reverse proxy for NAT traversal, written in Rust. Benchmark shows that it has some advantages on the performance and memory consumption.

There's not much Rust stuff on the list. I hope rathole could be a good addition :)

Inlets is not open source

The open source version of inlets became inlets pro as far as I understand. There are some open source components, but I don't think you can use those without a subscription.

Ultrahook

Hi,
Another useful one: Ultrahook (runs on Ruby) offers a free fixed-subdomain option, so a good free alternative to ngrok.

EDIT: It only forwards HTTP POST requests, so not the same as ngrok. But still useful in testing webhooks, as it's name suggests.

Hope that helps,
Andy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.