5 ms·
Show HN: Quick tunnels to localhost with one command and no binary download
- hedora 4y agoWhat is the value add over just running your own SSH server at a persistent domain? The TUI? Unlimited bandwidth? Cost?
- ghoshbishakh 4y agoThis is not a SSH server. Yes, you can run your own SSH server at a persistent domain. But if you could run a SSH server with a persistent domain then you would not use Ngrok also right? The value is in getting public URLs for sharing your localhost instantly without any infrastructure or software setup.
- hedora 4y agoYou can run the same command against any default configured ssh server. I have never heard of ngrok, and have used ssh tunnels for over a decade. I must be missing something.
- socks 4y agoThis is a tool (like ngrok, or inlets, or sish etc) for easily opening a port on your local computer to the public internet. So, for example, if you are hosting a web server locally on port 8080, you could ssh to a service like this, and then it would give you back a link such as h59dke4.example.com. All traffic that goes to h59dke4.example.com:80 will actually be routed to your 127.0.0.1:8080
- jmd42 4y agoEssentially the value is in not having to set up your own SSH server. Or for providing you with 'throwaway' domains for any developer who wants to temporarily expose some locally running service. One use-case I had was connecting an Android app over 4g to a backend service running on my development machine, for some ad-hoc debugging. Using a tool like this was more straightforward than setting something more permanent up manually (spinning up a server, certificates, DNS, etc). Especially for someone not super familiar with how to configure the tools involved.
- egorfine 4y agoOne of the ways to extend the functionality of the service without requiring a binary client is to present a text UI over ssh.
- ghoshbishakh 4y agoThank a lot for this pointer. We are trying to find out a safe way of enabling a text UI through ssh.
- egorfine 4y agohttps://firecracker-microvm.github.io https://firecracker-microvm.github.io
- socks 4y agoI used to use a similar tool called inlets but they removed the open licensing. I now self host a sish server (https://github.com/antoniomika/sish https://github.com/antoniomika/sish) which also uses ssh (and public key auth) for the reverse tunnel client. So much simpler!
- modinfo 4y agoThis is a great project! Maybe add traffic payments? E.g. in the free plan will be 1GB/month and in the paid plan will be more. Because now anyone can use your server without limits. In the paid plan, the user could also set his own subdomain. PS. I wonder why such an interesting project has so few upvotes.
- ghoshbishakh 4y agoThank you for your encouraging words. Indeed we will gradually introduce paid tiers. Pinggy is in alpha stage. With your feedback we will work towards a mature offering.
- mihaigalos 4y agoThanks for this. Related: https://tmate.io/ https://tmate.io/
- ghoshbishakh 4y agoThis is so cool! Love the idea. Thanks for sharing.
- rroohhiittt 4y agoGreat project! Would've been even more awesome if you could also print the access log or somehow print that ncurses UI on the SSH tunnel output as well.
- ghoshbishakh 4y agoThe access log is available if you use the Pinggy client binary. We are working to make this available through ssh also. Will keep you posted if you sign up. Thanks for the suggestions, really appreciate it!
- aspirin 4y agoLooks great, but you should add an explanation about how it works. I’m hesitant to just run some command.
- ghoshbishakh 4y agoGood point. It opens a SSH tunnel from Pinggy server to your localhost, such that the pinggy server can connect to only the port of your localhost that you specify in the command. The ssh port forwarding command is a standard one and your ssh client ensures that the access is restricted to the port you are specifically exposing. In other words, you are trusting your own system and your ssh client installation for security, which is more trustworthy than a random executable app downloaded from the internet. We will include an explanation in the next version of our landing page. Appreciate your feedback!
- avinassh 4y agoWhat are the implications of SSHing into some random server? Could you also add some instructions on the kind of precautions one should take before ssh into pinggy
- ghoshbishakh 4y agoThe implication of the ssh port forwarding command is that pinggy is able to connect to the port you are specifying. For example 8000. Then Pinggy and through pinggy anyone who visits the public URL can connect to port 8000 (through HTTP requests).
- naniwaduni 4y agoOn the bright side, at least the part you're running is off-the-shelf parts whose implications you can more or less figure out by consulting the man page. Other services in this space are trying to convince you to run their own binary blobs.
- keyme 4y agoVery clever! This is the most hacky and elegant solution to this problem I've seen.
- ghoshbishakh 4y agoDelighted to know you liked it! We are working on bringing more features and we are convinced that everything must work through this ssh tunnel.
- keyme 4y agoAdd a mode to share a file, again using SSH alone. Works together with "python3 -m http.server", obviously, but should be possible with SSH alone. This would be the first time since the invention of NATs one can share a file over the internet without uploading it anywhere or downloading any executable!
- ghoshbishakh 4y agoWe have to think and work through the limitations of SSH. We will cover whatever is possible. Thank you for the pointer!!
- maxcan 4y agoVery cool. I switched to cloudflare tunnels from ngrok a while back after having some issues with ngrok. However, CF Tunnels were far from ergonomic or easy to use ( https://www.maxcantor.com/blog/2021-10-15-ngrok-to-cloudflare https://www.maxcantor.com/blog/2021-10-15-ngrok-to-cloudflar... ). I'd love a simple tool that fills the gap and I think this is it.
- ghoshbishakh 4y agoThank you for the encouragement. Indeed we want to keep the user experience as simple as possible. This is just the alpha version, keep in touch for more updates.
- dieselgate 4y agoMy brain still auto-translates "CF" to Adobe ColdFusion. Regardless I'm not familiar with cloudflare tunnels so cool to be made aware of that
- mkenny 4y agoI have experienced a lot of frustration trying to set up ngrok in the past, so this looks very interesting! I will have to try it out soon! Thanks for sharing!
- disqard 4y agoVery cool idea and implementation! Will you charge some money so you are sustainably supported and this doesn't disappear in N months? I'd love to use it and then be able to rely on it long-term. Free services are great, but services that stick around are even better :)
- ghoshbishakh 4y agoWe are definitely going to have a subscription. :) This is an alpha version, still we will keep the service stable. More features and a paid tier will be announced next month.
- wzulfikar 4y agongrok can do ssh reverse too (https://ngrok.com/docs/secure-tunnels/agentless https://ngrok.com/docs/secure-tunnels/agentless). Do you plan to have some difference with ngrok in this area? Also interesting to see people had issues with ngrok. Been using ngrok since its first release and it’s always good.
- wzulfikar 4y agoJust realised that i need to upload my public key for ngrok agentless to work. But for pinggy, it just works as soon as I paste the command. Cool!
- throwawayacc55 4y agoIt doesn't work with dropbear ssh client or the golang standard ssh library https://matt.ucc.asn.au/dropbear/dropbear.html https://matt.ucc.asn.au/dropbear/dropbear.html https://pkg.go.dev/golang.org/x/crypto/ssh https://pkg.go.dev/golang.org/x/crypto/ssh ./dbclient -R 0.0.0.0:0:localhost:5000 b.pinggy.io -p 7878 ./dbclient: Remote TCP forward request failed (port 0 -> localhost:5000) I wanted to try and build a simple golang library for users to add tunnel functionality to their apps while testing, please flick me an email at henry.barker.nz@gmail.com I'd love to work with your team to try and get a MVP golang library created
- ghoshbishakh 4y agoWe have not tested with other SSH Clients. We will check dropbear, thanks for the suggestion. For golang library we will be happy to discuss with you what functionalities you are looking for. Thanks.
- throwawayacc55 4y agoI've noticed that the client application was built in golang, would you consider making the client open source? Also you compile your binaries staticly they will be be able to used on many more devices
- pthr 4y agoGreat service! Could you consider allowing for ports other than 7878? Would be nice in restricted network environments. Like that of my company; it's allowing only the more common ports to WAN.
- ghoshbishakh 4y agoWould port 443 work for you. Feel free to join our slack to discuss. https://join.slack.com/t/pinggycommunity/shared_invite/zt-1n4186dky-5w3NEmHjRn63yG3KypdS1A https://join.slack.com/t/pinggycommunity/shared_invite/zt-1n...
- pthr 4y agoYes it would!
- ghoshbishakh 4y agoHello HN! Yes this is just like ngrok. But do not need to download any binary to get started. You can even get a persistent subdomain by signing in. A binary client is optional for more features like stats about visitors. The server is not a ssh server. It however uses the protocol. More about TLS and TCP tunnels coming soon :) Please give it a try and we would love some feedback: https://forms.reform.app/DtpE3m/early-access/jJ9Ibq https://forms.reform.app/DtpE3m/early-access/jJ9Ibq
- abhimp 4y agoDo you support introspec? I don't see any documentation.
- ghoshbishakh 4y agoBy introspec do you mean viewing the details of requests coming to the tunnel? If so then it is a work in progress feature that would be available very soon. However that will be available through the client binary. We are brainstorming if it can also be made possible without the binary. Documentation regarding this will be added soon.
- christophilus 4y agoThis is a pretty elegant solution. I’m a fan of using existing tools where’ve possible.
- ghoshbishakh 4y agoGlad you find this neat. We are also trying to build introspect capability without using the client binary.
- bluelightning2k 4y agoHey. Thanks for this. I can't give up ngrok (which I find too expensive) without the ability to view and replay requests. That's a must have for me personally
- ghoshbishakh 4y agoYes, this is one feature we are working on currently and us almost ready. We will keep you posted if you sign up.