
Expose – A fully open-source ngrok alternative written in PHP - mpociot
https://github.com/beyondcode/expose
======
trog
For those like me that didn't know what ngrok is, "ngrok exposes local servers
behind NATs and firewalls to the public internet over secure tunnels"[1]. So
it allows you to easily expose internal services publicly, letting you (for
example) show someone outside your network a website in your local development
environment, without having to deploy it externally into some sort of live
environment.

Also, not sure why so many people seem to take "... written in PHP" as a
gauntlet slap to their own face, instead of some additional technical
information.

If you have nothing to add to the conversation other than witty snark about
PHP, maybe your time would be better spent writing a competing open source
product in a language of your choice, giving it away for free, and then
letting users compare their pros and cons?

1\. [https://ngrok.com/product](https://ngrok.com/product)

~~~
MoroCode
The whole "PHP bad" shit is really stupid and I bet you 99% of people who make
those witty snarks would not be able to build something like this

------
Lerain
OP has been putting out a series of useful tools lately [1] and been very
transparent about his process on Twitter [2].

Seeing this thread derail into a discussion about PHP is pretty annoying. It
seems to happen to anything PHP-related here. Do that all day long please, if
someone comes here saying PHP is the best language... but he created something
useful and open sourced it - that deserves more than toxic bike shedding about
your favorite toys.

[1] [https://beyondco.de/software](https://beyondco.de/software)

[2] [https://twitter.com/marcelpociot](https://twitter.com/marcelpociot)

------
Marc_Bryan
Seriously, does PHP suitable for this?

It can be handled using a single go binary using pgrok which comes less the
source code size and not to mention without any dependencies on almost all
platforms!

This requires unnecessary things to bundle and too complex for some simple
stuff. Mileage may vary though.

But just my views.

~~~
stickfigure
Looks like that is a reference to this:

[https://github.com/jerson/pgrok](https://github.com/jerson/pgrok)

...which does look useful indeed.

~~~
jaden
Thanks! It even has a docker container for easy deployment.

------
simonhamp
I can’t get enough of the great stuff mpociot keeps putting out!

Going to try Expose soon, really excited by what it brings to the world of PHP
without having to support a new stack.

------
cookie-monstar
They had me in the first half, not gonna lie

------
antiqueninja
Would you mind explaining the architecture? Does expose.dev live on AWS
somewhere?

~~~
mpociot
I have an in depth write up about the internals at my personal blog
[https://pociot.dev/28-introducing-expose-an-easy-to-use-
tunn...](https://pociot.dev/28-introducing-expose-an-easy-to-use-tunneling-
service-implemented-in-pure-php)

------
mromanuk
is there any docker for this?

~~~
cangelis
I just made one.
[https://hub.docker.com/repository/docker/cangelis/expose](https://hub.docker.com/repository/docker/cangelis/expose)

------
thelicx
you lost me at "written in PHP"

~~~
wolco
Does everyone at Zapier share a similiar opinion?

Zapier is built on Python, Django, React, Node.js, and AWS

Were you aware of the tradeoffs you made with that stack. Zapier has many
technical issues:
[https://ca.trustpilot.com/review/zapier.com](https://ca.trustpilot.com/review/zapier.com)

If you went with a different stack I don't think you would have half of the
issues your customers are reporting.

