46 Star 215 Fork 79

tmoonlight / NSmartProxy

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
MIT

GitHub release GitHub Build Status
Docker Pulls Docker Pulls
中文版 | English

NSmartProxy

What is NSmartProxy?

NSmartProxy is a reverse proxy tool that creates a secure tunnel from a public endpoint to a locally service.

Characteristics

  1. Cross-platform, client and server can run on MacOS, Linux, Windows systems;

  2. Easy to use and simple to configure;

  3. Multi-end mapping, one NSmartProxy client can map multiple service nodes.

  4. Supports all protocols under the TCP protocol stack (such as FTP, Telnet, SMTP, HTTP/HTTPS, POP3, SMB, VNC, RDP. UDP protocol is not supported at present.)

Operating principle

NSmartProxy contains two service programs:

  • Server (NSPServer): Deployed on the external network to receive reverse connections from users and NSPClients and forward them to each other.
  • Client (NSPClient): Deployed on the internal network to forward requests and responses to access various services on the intranet.

Preparation

Linux/Windows/MacOS

  1. Install .NET Core Runtime
  2. Download the latest version of NSmartProxy

Docker

  • You can run the nspserver directly without having to install the runtime:
sudo docker pull tmoonlight/nspclient
sudo docker run --name mynspclient -dit tmoonlight/nspclient

Instructions

NSmartProxy supports various port mappings based on TCP services. The following is an example of nspclient configuration which contains mstsc, iis, and ftp services:

  1. Open the appsettings.json file in the installation directory, edit the service address, port,and map-rule as follow:
{
  "ProviderWebPort": 12309,			//Configure the port of the NSPServer service
  "ProviderAddress": "2017studio.imwork.net",	//Configure the address of the NSPServer service

  //NSPClients, you can configure multiple
  "Clients": [
    {
      "IP": "127.0.0.1",           //Reverse proxy machine ip
      "TargetServicePort": "3389"  //Port of the reverse proxy service
      "ConsumerPort":"3389"          //External network access port, if occupied,the nspclient will allocate ports in order from 20000
    },
    {
      "IP": "127.0.0.1",
      "TargetServicePort": "80"
    },
    {
      "IP": "127.0.0.1",
      "TargetServicePort": "21"
    }
  ]
}

2. Run NSmartProxy
  • Linux:
    sudo unzip client.zip
    cd client
    sudo dotnet NSmartProxyClient.dll
  • Windows:

    Unzip nspclient*.zip and run NSmartProxyWinform.exe:

  • P.S: The above is the configuration method of the client. In general, you can use the free service (2017studio.imwork.net) to perform intranet mapping. If you want to build the NSmartProxy server yourself, please click here.

Use Cases

We have already described the method of mapping the services of the intranet to the external network, and there are more interesting usages waiting for you to discover:
1.Remote boot
2.Use windows remote control to operate the office computer
3.Say goodbye to expensive vps and make a more powerful service cluster at a very low cost
...etc

MIT License Copyright (c) 2019 NSmartProxy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

NSmartProxy是一款免费的内网穿透工具。采用.NET CORE的全异步模式打造。此为镜像仓库,如果希望贡献此项目,请移步至github。 expand collapse
Cancel

Releases (1)

All

Contributors

All

Activities

Load More
can not load any more
C#
1
https://gitee.com/studio2017/NSmartProxy.git
git@gitee.com:studio2017/NSmartProxy.git
studio2017
NSmartProxy
NSmartProxy
master

Search

53164aa7 5694891 3bd8fe86 5694891