Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tunnelmole as an open source alternative to ngrok #475

Open
robbie-cahill opened this issue Jan 3, 2024 · 0 comments
Open

Add Tunnelmole as an open source alternative to ngrok #475

robbie-cahill opened this issue Jan 3, 2024 · 0 comments

Comments

@robbie-cahill
Copy link

robbie-cahill commented Jan 3, 2024

I've noticed you have ngrok as the suggested tunnelling solution in your README and you also have a script in package.json. However, it has a few issues

  • Its closed source and proprietary. Because you can't review the source code, you can never be 100% sure what you are really installing
  • You can't self host ngrok
  • Its not part of the NodeJS ecosystem, you have to install it separately. There is an NPM wrapper package but it just wraps around the ngrok binary.

So, i'd like to update your docs to add tunnelmole. It has the following advantages

  • Its fully open source with a permissive MIT license
  • Optionally, Tunnelmole can be self hosted with the Tunnelmole Service. Otherwise it will use the default service at tunnelmole.com.
  • Its on NPM. You can run npx tmole 3000 without installing anything and it will work.

Here's the difference in terms of set up and usage

Ngrok

First download and install from ngrok.com

ngrok http 3000
Tunnelmole

Various installation options including npm, copy and paste shell one liner, building from source etc available in the README

For example, you can install with curl -O https://install.tunnelmole.com/2334d/install && sudo bash install then run

tunnelmole 3000

There are a few options here

  • Do nothing, keeping ngrok as the only tunnelling option
  • Replace ngrok with Tunnelmole
  • Add Tunnelmole as an additional option

I'm also interested in improving upon your current ngrok script in package.json.

I could add something like

  "scripts": {
    "start": "node --max-old-space-size=4096 app.js",
     .....
    "ngrok": "./node_modules/ngrok/bin/ngrok http 3000",
    "tunnelmole": "npx tmole 3000"
  },

This will work as is. Unlike ngrok it won't require installing anything.

Let me know your preference and if you'd like me to make a PR with the changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant