I’m developing chatbots for some time, and testing them locally was always an annoying part.

I also prefer not to download anything, and also not paying for any service

Let’s go through building a setup, with few simple steps:

1) Create a testing bot profile — It doesn’t matter which messaging platform are you using — need to create a bot testing profile. for example for Facebook Messenger you will need to create a new page, and also a new app connected to this page.

Create a testing bot profile

2) use serveo.net for tunneling — there are plenty of tunneling solutions you can use, where most of them cost a monthly.

We are looking are looking for service which is:

Free (because we are cheap 🙂)

Support sub-domains (it’s extremely annoying to change the URL every time you have to restart your computer)

Robust (so you won’t have to reconnect every moment)

No need to download (a Bonus!)

I tried localtunnel (free, not so robust), ngrok (no sub-domains on free version) and few other. the winner is serveo.net as it answers all of my requirements (free, no download, support sub-domains)

example usage will be:

ssh -R <requested subdomain>:80:localhost:8888 serveo.net

where you should run it the first time without a requested subdomain -> get one from the server -> use it from now on.

Tunneling

2) make it even more robust — My internet connection tends to be fragile, and tunneling services tends to disconnect.

I looked for a simple service that will keep the ssh connection to serveo alive & reconnect upon disconnection.

I’ve found AutoSSH which does all that, a simple usage will be:

usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]

In our case will just need to change the ssh command of serveo to autossh (after installing of course)

autossh -R <requested subdomain>:80:localhost:8888 serveo.net

AutoSSH

This is it! Happy testing.