frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. Now, it supports tcp, udp, http and https protocol when requests can be forwarded by domains to backward web services.
What can I do with frp?
- Expose any http and https service behind a NAT or firewall to the internet by a server with a public IP address(Name-based Virtual Host Support).
- Expose any tcp or udp service behind a NAT or firewall to the internet by a server with public IP address.
- Proxy Protocol support plugin unix_domain_socket.
- frps support custom 404 page.
For some services, if the direct exposure to the public network will be a security risk.
Use a proxy of type stcp (secret tcp) to prevent anyone from having access to the service they want to penetrate, but the visitor also needs to run another frpc.
The following example will create an ssh service proxy that only has access to it.
Normal start frps.
Start frpc, forward network ssh service, configuration is as follows, do not need to specify the remote port:
In the machine to visit this service to start another frpc, the configuration is as follows:
Through ssh visit the network machine, assuming the username test:
Firstly, download the latest programs from Release page according to your os and arch.
Put frps and frps.ini to your server with public IP.
Put frpc and frpc.ini to your server in LAN.
- Modify frps.ini:
- Start frps:
- Modify frpc.ini, server_addr is your frps’s server IP:
- Start frpc:
- Connect to the server in LAN by ssh assuming that username is tested:
More info and tutorial, visit here.
Copyright 2017 fatedier