Show HN: Expose local server. Support both TCP/UDP, of course support HTTP
github.com
github.com
So basically it's a program for server & client that allows exposing a local server to the net (usually) for development purposes.
Install mr2 on the server & client, you can use the mr2 program in the client to expose the web server running in the client through the server (with mr2 installed).
[2] https://developers.cloudflare.com/argo-tunnel/quickstart/
but I genuinely don't understand this.
I asked an honest simple real relevant question (still wd love an answer), but most ppl can't see my question bc it's at 0. /complaint
This is in the library it pulls in.
https://github.com/txthinking/mr2/blob/master/client.go#L47
Homebrew cryptosystem.
On a quick glance, it appears to be using a string password from the command line directly as an AES key, in CFB mode, with no authentication.
tl;dr: this is the cryptographic equivalent of that bridge in Florida.
$ ssh -R2345:localhost:80 user@example.com
And then going to example.com:2345 (if you want to e.g. forward HTTP)? I mean you need a remote node anyway for that to work?Is this to, say, expose a server sitting behind a NAT to the rest of the world, or...?
Scenario:
- You have a Linode VM running, accessible to everyone on the Internet
- You run Mr.2 server on this Linode VM
- On your home laptop (behind NAT), you run Mr.2 client, pointing it at your Mr.2 server on the Linode VM
- Now, from anywhere in the world, you can connect to your home laptop via the Linode server
... I think.
I can imagine a lot of end-user P2P applications where this, as a library, would be a great help.
https://github.com/txthinking/mr2#download
Download OS Arch
mr2 Linux amd64
mr2_darwin_amd64 MacOS amd64
mr2_windows_amd64.exe
https://github.com/txthinking/mr2/releases mr2, mr2_darwin_amd64, mr2_freebsd_386, mr2_freebsd_amd64, mr2_linux_386, mr2_linux_arm5, mr2_linux_arm6, mr2_linux_arm64, mr2_linux_arm7, mr2_linux_mips, mr2_linux_mips64, mr2_linux_mips64le, mr2_linux_mipsle, mr2_linux_mipsle_sf, mr2_linux_mips_sf, mr2_linux_ppc64, mr2_linux_ppc64le, mr2_windows_386.exe, mr2_windows_amd64.exe
Also random question, but, does anyone know of a lightweight cross-platform tool to wrap any console executable within a library? Like a mini container or Docker except it would inherit the parent OS so there would be no base platform. The parent application would just see C bindings to the STDIN/STDOUT/STDERR streams and possibly an array of shared directories/permissions, and/or anything else that a console app typically communicates through. Sorry if this is a dumb question (I've only used Docker and Vagrant for specific use cases and am not an expert on the theory behind containers).