Preferences

klipitkas
Joined 108 karma

  1. Hey, I updated this to be a tunnl.gg domain, thanks.
  2. There is a maximum time limit for connections right now which is 24hr or 30min of inactivity.
  3. Yes, thats exactly how it works for the multiple subdomains.
  4. Agreed and even devs who have the money, most of the times don't have the time.
  5. It's not my target audience. Also as a dev I hate spending more than a couple of seconds to do this. This service exists mainly to scratch my own itch.
  6. Its around 700MB today so far.
  7. I can also deny, if I don't consider the case valid or shutdown the hosted service if I want to. I plan to open source it anyway within the next days.
  8. I can cover hundreds of PB of bandwidth per month if needed without paying a fortune.
  9. On the VPS we use: - 80 (standard http) - 443 (standard https) - 22 (obv for standard ssh) - 9090 (metrics / internal so I can have an idea of the generic usage like reqs/s and active connections)

    Client-Side: The -R 80:localhost:8080 Explained The 80 in -R 80:localhost:8080 is not a real port on the server. It's a virtual bind port that tells the SSH client what port to "pretend" it's listening on.

    No port conflicts - The server doesn't actually bind to port 80 per tunnel. Each tunnel gets an internal listener on 127.0.0.1:random (ephemeral port). The 80 is just metadata passed in the SSH forwarded-tcpip channel. All public traffic comes through single port 443 (HTTPS), routed by subdomain.

    So What Ports Are "Available" to Users?

    Any port - because it doesn't matter! Users can specify any port in -R: ssh -t -R 80:localhost:3000 proxy.tunnl.gg # Works ssh -t -R 8080:localhost:3000 proxy.tunnl.gg # Also works ssh -t -R 3000:localhost:3000 proxy.tunnl.gg # Also works ssh -t -R 1:localhost:3000 proxy.tunnl.gg # Even this works!

    The number is just passed to the SSH client so it knows which forwarded-tcpip requests to accept. The actual routing is done by subdomain, not port.

    Why Use 80 Convention?

    It's just convention - many SSH clients expect port 80 for HTTP forwarding. But functionally, any number works because:

    - Server extracts BindPort from the SSH request - Stores it in the tunnel struct - Sends it back in forwarded-tcpip channel payload - Client matches on this to forward to correct local port - The "magic" is that all 1000 possible tunnels share the same public ports (22, 80, 443) and are differentiated by subdomain.

  10. For the foreseeable future and unless there is massive abuse, which I am trying to contain, it will remain free.
  11. I updated the terms, thanks for the heads up.
  12. Thanks, but I don't have such plans, lol.
  13. I am not rich and I don't need to be to keep this service up and running at least for the near future.
  14. I can't promise anything this is a pet project. I might turn it into an open source project, and I might also provide some kind of service for a few bucks if it gets traction.
  15. Indeed there is no IPv6 support yet.
  16. Yeah, this is the next step. I first wanted to understand if this gets any traction. I think I will provide a dockerized version for the server part that you can just run with a simple command and maybe some interface to create api keys and distribute them to your users.
  17. Thanks for the kind words. I hope I won't have to close this service in a few days due to abuse but its a weird world we live in.
  18. Whatever works for you best :)
  19. I am actually thinking about making it open source yes, probably after I adjust the code a little bit :D maybe today or in a couple of days.
  20. I am also using tailscale for a few projects as well. Feel free to use whatever you trust more or works for you.
  21. That is wrong (and I need to update any docs that mention this), the traffic is not encrypted end to end, we do TLS termination on our side. From that point on traffic is forwarded back as plain HTTP. However I would in any case not suggest to host any production applications using this service. It is mostly for local dev testing.
  22. Not really that different, besides any kind of time limitations or number of request limitations.
  23. Yes that is true (the IP is collected), what I meant is that we don't explicitly collect data on purpose.
  24. I am paying for it out of pocket. Its free for you to use, but not for me to host it :)
  25. Hey, thanks for the comment. I am having a look with my own apps and it seems to work with pages and nextjs middleware as well.
  26. Thats a fair point, there are some protections in place for abuse already. I will have a look at what ngrok does for browser warnings. Thanks a lot for the suggestions.
  27. Yes, its free to use and does not require any clients (but you need to have ssh client installed)
  28. Built another localhost tunneling tool because I kept forgetting my ngrok auth token.

    What it does:

    - Expose localhost to the internet (HTTP/TCP/WebSockets) - Zero signup – just works immediately - Free

    Nothing groundbreaking, just scratching my own itch for a no-friction tunnel service. Written in Go.

    Link: https://tunnl.gg

    Happy to answer questions or hear how you'd improve it.

  29. Hey folks,

    Super Prompts is a decentralized knowledge repository designed to aggregate, validate, and distribute high-performance instructions for Artificial Intelligence agents. The system acts as a bridge between human intent and machine execution.

    By standardizing prompt engineering techniques, we reduce token wastage and increase output fidelity across all major neural network architectures including GPT-4, Claude etc.

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal