Tunneling and Reverse Proxy Apps

Rank App Description Tags Stars
1 fatedier/frp A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. go reverse-proxy proxy p2p tunnel expose firewall frp http-proxy nat 79790
2 traefik/traefik The Cloud Native Application Proxy docker go golang kubernetes reverse-proxy traefik letsencrypt microservice consul load-balancer etcd zookeeper marathon mesos 47743
3 anderspitman/awesome-tunneling List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting. self-hosted ngrok ngrok-alternative ssh tunnel-proxy tunneling 12479
4 gravitl/netmaker Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks. self-hosted cloud kubernetes devsecops k8s mesh network networking security virtual-network virtual-networking vpn vpn-server wg-quick wireguard wireguard-ui wireguard-vpn zero-trust 8962
5 rapiz1/rathole A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok. ngrok network proxy rust tunnel http firewall frp nat noise noise-protocol 7652
6 screego/server screen sharing for developers https://screego.net/ docker privacy selfhosted go screensharing-tool webrtc 6749
7 azukaar/Cosmos-Server ☁️ The Most Secure and Easy Selfhosted Home Server. Take control of your data and privacy without sacrificing security and stability (Authentication, anti-DDOS, anti-bot) self-hosted cloud selfhosted self-hosting security authentication reverse-proxy selfhosting cosmos server sso 2322
8 robbie-cahill/tunnelmole-client Tunnelmole - Connect to local servers from anywhere 893
9 STRRL/cloudflare-tunnel-ingress-controller 🚀 Expose the website directly into the internet! The Kuberntes Ingress Controller based on Cloudflare Tunnel. selfhosted kubernetes cloudflare cloudflare-tunnel ingress ingress-controller 460
10 skx/tunneller Allow internal services, running on localhost, to be accessed over the internet.. selfhosted go golang ngrok proxy websockets 460
11 vitobotta/docker-tunnel A Docker-based self hosted alternative to Ngrok 241
12 theborakompanioni/ngtor Easily expose local services via Tor 19

Description of Tunneling and Reverse Proxy Apps

Tunneling and reverse proxy are essential components in network communication. They play a crucial role in establishing secure, reliable connections between different systems or networks. In the context of web applications, they facilitate the exchange of data and resources between these applications. This is particularly useful when developing and testing applications, as it allows for the bypassing of firewalls, NAT routers, and other network barriers.

Tunneling Apps

Tunneling apps create a secure connection between your local machine or server and a remote server over an insecure network (like the Internet). This connection is often used to access services running on private networks or servers behind firewalls that do not have publicly accessible endpoints.

Examples of tunneling apps include:

  • SSH Tunnel: A method for creating secure encrypted connections between two computers, over an insecure network. This can be used to connect to a server from your local machine, enabling you to access services running on that server.

  • VPNs (Virtual Private Networks): These tools create a simulated private network within the Internet, providing a secure communication channel between two or more computers. They are widely used for accessing remote networks and servers, as well as for protecting your online privacy and security.

Reverse Proxy Apps

Reverse proxies sit in front of one or more web servers, forwarding client (browser) requests to those web servers. This is typically done on behalf of the client, making it appear as if the server itself is responding directly to the client's request.

Advantages of using a reverse proxy include:

  • Load balancing: It distributes network or application traffic across several servers, improving responsiveness and reliability of applications and services.

  • Security: By intercepting requests from the internet and forwarding them to internal servers, it helps prevent attacks by obscuring your server's IP address and providing an additional layer of security.

Here are some examples of reverse proxy apps:

  • NGINX: A high-performance HTTP server and reverse proxy, known for its robustness, flexibility and low resource usage. It can be used as a web server or to set up load balancing configurations.

  • HAProxy: An open-source software TCP/HTTP reverse proxy, which also offers load balancing, SSL offloading, and more.

In conclusion, understanding the role of tunneling and reverse proxies in network communication is crucial for developing and deploying applications on a global scale. They enable secure communication between different systems or networks, making these processes more efficient, reliable and accessible to users worldwide.