Skip to content

Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.

License

Notifications You must be signed in to change notification settings

The-Peso-G/mr2

 
 

Repository files navigation

Mr.2

Build Status License: GPL v3 ZH Financial Contributors on Open Collective

Table of Contents

What is Mr.2

Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.
Keep it simple, stupid.

Download

Download OS Arch
mr2 Linux amd64
mr2_darwin_amd64 MacOS amd64
mr2_windows_amd64.exe Windows amd64

See releases for other platforms. Or go get github.com/txthinking/mr2/cli/mr2.

Server

$ mr2 server -l :9999 -p password
# Only allow partial ports, and set password on each port
$ mr2 server -l :9999 -P '5678 password' -P '6789 password1'

Client

# Local server is 127.0.0.1:1234, expect to expose: server_address:5678
$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:1234
# Local web root is /path/to/www, expect to expose: server_address:5678
$ mr2 client -s server_address:port -p password -P 5678 --clientDirectory /path/to/www

Example

Access local HTTP server

$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:8080

# then
Your HTTP server in external network is: server_address:5678

SSH into local computer

$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:22

# then
$ ssh -oPort=5678 user@server_address

Access local DNS server

$ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:53

# then
Your DNS server in external network is: server_address:5678

$ dig github.com @server_address -p 5678

Access your local directory via HTTP

$ mr2 client -s server_address:port -p password -P 5678 --clientDirectory /path/to/www

# then
A HTTP server in external network is: server_address:5678

Any TCP-based/UDP-based ideas you think of

...

Contributing

Please read CONTRIBUTING.md first

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

Licensed under The GPLv3 License

About

Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.3%
  • Shell 4.7%