If you have some project on your local machine (desktop or laptop), but you have no publish IP address, domain name and you need someone to visit your job. How to?

Tunnelling services can help you, serveo and ngrok (pronounce it en-grok) is a good solutions, even you are under firewall or NAT. It's also support HTTPS too!

serveo

No need any install, just open terminal then use command

ssh -R 80:localhost:3000 serveo.net
Forwarding HTTP traffic from https://patrickz.serveo.net

It will forward HTTP traffic from domain patrickz.serveo.net to your server which run on port 3000. So you just only send https://patrickz.serveo.net to your visitor. The visitor should see your server.

However, if you will use serveo with facebook apps. Seem it not work. I recommend to try ngrok.

More information, check http://serveo.net/

ngrok

After installed and register to use the service (Don't worry, just take a few minute). just use command ngrok http 80. You should see the result like this

Session Status                online
Session Expires               7 hours, 56 minutes
Version                       2.3.30
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://536772db.ngrok.io -> http://localhost:80
Forwarding                    https://536772db.ngrok.io -> http://localhost:80

Connections                   ttl     opn     rt1     rt5     p50     p90
                              19      0       0.03    0.04    0.68    79.78

Fore more information, check out https://ngrok.com

Alternative

Not only ngrok and serveo, There are also similar services