
Frp: A fast reverse proxy to help you expose a local server to the internet - fatedier
https://github.com/fatedier/frp
======
tckr
I use [https://ngrok.com/](https://ngrok.com/), it masks service ports and
gives them unique domain names.

~~~
CyberShadow
Worth noting that ngrok is a non-free (trial-ware) service (all data is
proxied through ngrok servers), whereas frp is self-hosted.

~~~
tokenizerrr
I run my own version of ngrok:
[https://github.com/inconshreveable/ngrok](https://github.com/inconshreveable/ngrok)

------
self_awareness
I use `ssh -R` to my VPS with public IP. It's possible to forward any protocol
with this option, HTTP, RDP, etc.

~~~
p4bl0
Yes. I don't understand what the linked project does that `ssh -R` and/or `ssh
-L` can't do. And it does not seem easier to use either.

~~~
ar0
Well, according to the README it allows to forward one http(s) port to
multiple different local servers depending on requested host name. Yes, this
is also possible using multiple ssh -R in combination with nginx or similar,
but I guess the point of the project is to make the process easier.

------
ghusbands
Looks like a good project, but the name might cause a little confusion, as FRP
is a style of programming [1] with not-insignificant exposure [2].

[1]
[https://en.wikipedia.org/wiki/Functional_reactive_programmin...](https://en.wikipedia.org/wiki/Functional_reactive_programming)

[2]
[https://www.google.com/search?q=hacker+news+frp](https://www.google.com/search?q=hacker+news+frp)

------
vincnetas
There is a nice service called weaved.com which allows you to ssh to a machine
(in my case raspberry Pi) without public IP address. I think it also supports
HTTP.

~~~
mwest
Weaved looks more like a layer 2 thing, while ngrok is layer 3? I use
ZeroTier, which has been discussed on HN previously:
[https://news.ycombinator.com/item?id=11699122](https://news.ycombinator.com/item?id=11699122)

------
dukerutledge
Well, this will confuse the meaning of FRP even more. Poor Conal...

------
maxpert
I am using DuckDNS with port forwarding to run a demo from machine at my home
[http://beta.raspchat.com/](http://beta.raspchat.com/) I used to use ngrok but
it goes apeshit if somebody uploads a huge file as it took too much memory and
crashed the ngrok process frequently. Only reliable option is ssh -nNT -R and
tunnel to a really cheap VPS.

------
adontz
Looks like most of the features can be covered by nginx+iptables, so it will
be great if authors will state what can't be done at all or in some specific
case.

~~~
copperx
I'd love to hear how to use nginx+iptables to traverse a NAT.

~~~
cerebellum42
If I understand the examples on Ngroks and Frps sites correctly there's
nothing on there that really can't be done with Nginx. But especially with
Ngrok I think the main benefit is convenience, since you don't need to
configure port forwarding on your router or add DynDNS afaik.

------
corv
Doesn't look like it has encryption.

I prefer using ssh or openvpn for a more permanent installation.

------
azzwacb9001
Very useful.

------
notliketherest
Just want to point out how easy it is to do this using SSH tunnels.

ssh -nNT -R :<server port>:localhost:<local port> user@domain

------
tmptmp
The examples given there [1] seem to be only for LAN.

Any experts here please explain how to use it to expose a local site to the
Internet from a NAT'ed machine running behind a proxy that requires
username:password auth to connect to Internet and there is a firewall that
prevents SSH traffic from/to the Internet?

Accept my apologies if this comes as a complete noob question and please give
me a clarification if I have missed something obvious over there.

[1] [https://github.com/fatedier/frp#example-
usage](https://github.com/fatedier/frp#example-usage)

~~~
pt
Check out [https://www.trustedpassage.com](https://www.trustedpassage.com)
(private beta right now). It's like ngrok but with security as the primary
focus.

Disclaimer: I am one of the co-founders.

