Pgrok – Poor Man’s Ngrok(github.com) |
Pgrok – Poor Man’s Ngrok(github.com) |
Based on the page it looks like you can install Cloudflare's CLI and then run `cloudflared tunnel --url http://localhost:3000`, and you'll get back a URL to visit such as https://seasonal-deck-organisms-sf.trycloudflare.com. Looks like it supports being able to associate it with a custom domain too so you can have repeatable URLs.
Doesn't do HTTPS, but the protocol has a security layer built in already.
I'm sure using this in a corporate environment will get you some strange looks from your sysadmin, but for my personal setup it works quite well.
the free tier also has subpar networking in many parts of the world. make sure you don't care about those markets.
edit: here are the terms of use:
2.8 Limitation on Serving Non-HTML Content
The Services are offered primarily as a platform to cache and serve web pages and websites. Unless explicitly included as part of a Paid Service purchased by you, you agree to use the Services solely for the purpose of (i) serving web pages as viewed through a web browser or other functionally equivalent applications, including rendering Hypertext Markup Language (HTML) or other functional equivalents, and (ii) serving web APIs subject to the restrictions set forth in this Section 2.8. Use of the Services for serving video or a disproportionate percentage of pictures, audio files, or other non-HTML content is prohibited, unless purchased separately as part of a Paid Service or expressly allowed under our Supplemental Terms for a specific Service. If we determine you have breached this Section 2.8, we may immediately suspend or restrict your use of the Services, or limit End User access to certain of your resources through the Services.
Otherwise it looks like a nice offering for sure.
Would have suggested it as an alternative if you wouldn't asked for it
As someone who has to manage enterprise firewalls, this is a nightmare from a security perspective. I’m more than happy to host some project in a DMZ. I have already had some devs skirt our security policies with ngrok rather than simply talk to us about their needs. I can’t say I’m a fan of punching permanent holes into a firewall like this.
Disclaimer: I’m the author and have done tunneling for years
It's like they can do almost anything...what exactly? .... well whatever you can think of.....er like what?
You can open localhost to the internet.......?????????? Sorry?
Anyhow if anyone would care to put me out of my misery by explaining a bit I'd be grateful.
If you want to share this with someone not on your computer, it will proxy through a real domain name that someone else can access remotely.
ngrok is a developer tool. I don’t see why marketing a dev tool to non devs is a good idea, maybe somebody can explain?
Why? Stable subdomains and SSO are two things too expensive.
Why not just pick one from the Awesome Tunneling? Think broader. Not everyone is a dev who knows about server operations. For people working as community managers, sales, and PMs, booting up something locally could already be a stretch and requiring them to understand how to set up and fix server problems is a waste of team's productivity.
Copy, paste, and run is the best UX for everyone.
> Not everyone is a dev who knows about server operations. For people working as community managers, sales, and PMs, booting up something locally could already be a stretch and requiring them to understand how to set up and fix server problems is a waste of team's productivity.
I recently launched Tunnelmole, an open source alternative. You can just run the client and then you don't need to worry about NAT/CG-NAT, port forwarding or running your own server unless you want to self host, which is possible because the service layer is also open source.
You can get it from https://github.com/robbie-cahill/tunnelmole-client
https://github.com/pgrok/pgrok/commit/1f57713c323ea494780590...
And adding a dex or so upfront is also super easy.
If you are a small company and need this regularly try to take a look at managed k8s.
It will be worth it
- Undocumented or unknown processes. Many enterprises have a discoverability problem regarding almost all information, and as somebody that frequently required some special support for my work, it often took shockingly long to find a person who knew how to find the information in the respective intranet. It's important that not only are the services available, they also must be discoverable and known.
- Complicated processes. A portion of developers that require these services are using them for the first time, or have used them without fully understanding and considering the implications. If the process for requesting support is too complicated (e.g. requiring a form where you either require very detailed information without assistance on how to find it, or - the worst case - a form with fields where the people responsible say "oh, just fill it with random stuff to keep going") it will make some people choose the less secure way to get going with work.
- Long processes. If a developer wants to use such a service and it takes weeks to months to receive support (e.g. overload of tickets, or the only person responsible is on vacation) it sometimes leaves little to no choice.
But again, definitely not advocating for circumventing security!
Anyways, you could also block all traffic to ngrok servers just to ensure your Dev teams aren't skirting around your firewall.
I do block proxies like this, but it’s hard to block every little thing.
Or you can use cloudflared or another one of ngrok's competitors.
> As someone who has to manage enterprise firewalls
Clearly not intended for you, as the quoted part tells you outright who it is intended for.
If what you need can suffice with SQLite, then Postgres will work too.
If you're running an app on a VM, running Postgres on it too is easy and isn't "big". It's easy to install and set up, and you're set up for all the features you may want later. Plus you avoid having to refactor for a different database later on.
If you're running your app in a serverless context, or on a PaaS/SaaS, etc, then SQLite might be easier. But maybe you want horizontal scalability with a shared dataset and then you're back at Postgres.
Just picking one thing "because everybody does" or "because it's lightweight" or "it works in most cases" etc aren't good reasons to pick technology. Look at your actual application, make a list of pros and cons, and choose based on your situation, not the cargo cult answer from the HN hive mind.
Nothing big, but I do appreciate being able to trial a tool or service on a test machine with a simple `docker run`.
Going by https://github.com/pgrok/pgrok/blob/main/internal/database/d... I don't think adding SQLite support should be that difficult. The ORM used (gorm) has SQLite support already.
Edit: this seems to be intentional to keep maintenance cost down: https://github.com/pgrok/pgrok/pull/11
>Generally, if your data is separated from the application by a network, you want to use a client/server database. This is due to the fact that the database engine acts as a bandwidth-reducing filter on the database traffic ... Use a client/server database engine. PostgreSQL is an excellent choice.
sure, it could be streamlined even more (currently it requires that you run "tailscaled -tun userspace-networking", possibly with a custom unix domain socket path, and then also run "tailscale up" to activate it)
The naming conflict is unfortunate. At least the old repository is archived, but it'd still be better if this tool could be renamed IMO, especially since it's so new.
> Why not just pick one from the Awesome Tunneling? Think broader. Not everyone is a dev…
So I read this as targeting non devs.
I think every other alternative from that list also supports common usable links.
You can also see that the pgrokd.yml config example is connecting to the database via localhost, so running on the same machine as "pgrokd" (the server part of pgrok).