6 ms·
Ngrok was really cool since I never thought about reverse proxying my localhost before l tried it. But for the price of ngrok I'm paying for a domain and a 2gb
by moonchrome 5y ago
Ngrok was really cool since I never thought about reverse proxying my localhost before l tried it.
But for the price of ngrok I'm paying for a domain and a 2gb ram/2 CPU VM on hetzner and using SSH tunnels to nginx reverse proxy.
And setting up a shared server for a team with subdomains is just 10 mins of config changes per user - no way they can justify the cost for me.
If it was some symbolic price like 20$/year then I wouldn't bother, otherwise I'll take the VM I can load other random dev crap to when I need it.
And you're using standard web tech to set this up - if you aren't familiar with something required to set this up you will be better off learning it in the long run (if you're the target audience for ngrok) : VM setup, nginx, reverse proxy, SSH tunneling, let's encrypt, domain management/DNS - all valuable fundamental skills to acquire on a small project.
- anderspitman 5y agoFor developers, I largely agree with you, though even in that demographic often it's nice to not have to fiddle with the details yourself, even if you know how. But I'm interested in a different demographic. Someone who wants to run their own blog, or run a Nextcloud server for their family, or host albums from their photography work shouldn't need to understand DNS, TLS certs, IP addresses, ports, etc. They should be able to install an app on their laptop (or old Android phone, or Raspberry Pi), go through a quick OAuth flow to tunnel out of their home network, and have their content available to the rest of the web. Obviously there are UX and security concerns, but these are solvable problems.
- judge2020 5y ago> , and have their content available to the rest of the web. The issue is that DNS and registrar services are fragmented by design, and there doesn't seem to be a standard DNS API that would make it easy to simply say"select your domain registrar" and use that to start an oauth flow then manage DNS records for a site. Therefore, anyone who does run even a simple service like hosted wordpress (without using the host as their registrar) needs to at least have basic knowledge of what DNS records are and how to put in their registrar without messing up email records or other subdomains they might have.
- anderspitman 5y agoThere's the DomainConnect protocol[0] which has been around for a few years. I didn't find it particularly well matched for open source projects, so I've also done some work on my own protocol[1]. The current draft is implemented by TakingNames.io (as a provider) and boringproxy (as a client). You can read more about it and watch a demo here[2]. That said, I think DNS might not be the right layer of abstraction to simplify this. I think we need an open tunneling protocol[3]. [0]: https://www.domainconnect.org/ https://www.domainconnect.org/ [1]: https://github.com/takingnames/namedrop-protocol-spec https://github.com/takingnames/namedrop-protocol-spec [2]: https://takingnames.io/blog/introducing-takingnames-io https://takingnames.io/blog/introducing-takingnames-io [3]: https://forum.indiebits.io/t/toward-an-open-tunneling-protocol/30/1 https://forum.indiebits.io/t/toward-an-open-tunneling-protoc...
- bauerd 5y agoServers require maintenance. Time is money
- hardwaresofton 5y agoDo you ever run into performance issues with the shared machines at the low end? I've found the shared CPUs can be a little iffy under load but if you're basically running reverse proxying only it must not be an issue Also do you think you'd pay $40/year? that's less than what you're paying Hetzner for no management.
- moonchrome 5y agoI've been running stuff like code server [1] for some workshop I held recently and I was building simple .NET projects there without any issues. I wouldn't pay $40/year because the value of having a random instance up with domain/ssl and nginx running all the time has been handy many times so far - worth way more than what I pay for the machine. At this point ngrok would be a downgrade for my use case, but if it was something like 20$/year when I was looking into it I probably wouldn't have bothered setting it up. [1] https://github.com/coder/code-server https://github.com/coder/code-server
- leftnode 5y agoAs a developer and business owner, I literally can't comprehend this response. I can't imagine idea of having to manage yet another server over running ngrok http 8000 -subdomain=my-custom-subdomain from the root of my application (which is wrapped in a single line shell script). For a business, paying $10/dev/month for ngrok is a rounding error.
- KingOfCoders 5y agoI also think one should razor sharp focus on delivering customer value to be successful instead of introducing new tech you need to manage.
- chrischen 5y agoYou probably don't need to manage another server. ngrok's functonality can easily be containerized for easy self-deployment on infrastructure. > For a business, paying $10/dev/month for ngrok is a rounding error. $10 here, $10 there, and next thing you know every unix command line app I'm running is charging $10.
- sky_rw 5y agoYou should start thinking of your own time this way. Everyone has an hourly rate, how much do you spend solving problems like this?
- chrischen 5y agoYes but 1) I enjoy solving problems like this and 2) I’m not working and being paid for all that extra free time I have anyways. There is also a non-zero intangible cost to offloading all tasks. Based on your rationale a highly paid Google engineer would have a maid, chef, and Ikea furniture assembler and the only thing the guy would do is code all day because that’s the maximum value use of his/her time. Obviously most people do not do that. I’d probably pay up to $100 per day to a toilet paper monopoly so that I didn’t have to use my hands everyday. Luckily toilet paper isn’t in a monopoly situation, so I’m not going to hand over $100/day to Charmin even though that’s the value I get from their product. But I think that point is moot because a service that costs $X in perpetuity must justify its costs with continuous new features and must be compared to alternatives. If I just wanted a basic proxy I’d run one of the open source alternatives in a container. If it required too much work, make a contribution to the project to make it easier for everyone. The value of ngrok is in its extra features, but the bulk of the cost is probably in setting up an actual VM and running it, which isn’t that hard these days and can be automated even in an open source offering. When considering the value of ngrok you can’t simply justify it by saying how much time it saves you. You have to compare it to the market, which includes free open source alternatives. So the real question to ask is whether the added features of ngrok plus the time savings over using some open source alternative is worth the extra cost over the time span I’d be using it. If time span is infinite, then maybe it makes sense to do a one-time extra cost of learning how to setup an open source alternative and paying a bit less for the actual VM costs. Maybe ngrok’s added features are indeed worth paying for. But telling yourself your time is not worth looking into this is a lazy justification for unnecessary subscriptions.
- unicornporn 5y agoThis simplifies: https://boringproxy.io/ https://boringproxy.io/ Written by the same guy that wrote awesome-proxy list in the original post.
- antoniomika 5y agoSetup https://github.com/antoniomika/sish https://github.com/antoniomika/sish and get away from manually setting anything up. Uses SSH, supports HTTP(S)/TCP/Websockets/TLS via SNI and let’s users choose their own tunnel names. Can run it on a free instance from google or oracle.