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.