Watch 13 Star 61 Fork 15

tmoonlight / NSmartProxyC#MIT

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
NSmartProxy是一款免费的内网穿透工具。采用.NET CORE的全异步模式打造。 spread retract

  • C# 87.8%
  • JavaScript 6.4%
  • HTML 4.6%
  • CSS 0.7%
  • Batchfile 0.3%
  • Other 0.2%
Clone or download
Notice: Creating folder will generate an empty file .keep, because not support in Git

GitHub release GitHub Build Status

中文版 | English


What is NSmartProxy?

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


  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.



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


  • 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


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": "",	//Configure the address of the NSPServer service

  //NSPClients, you can configure multiple
  "Clients": [
      "IP": "",           //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": "",
      "TargetServicePort": "80"
      "IP": "",
      "TargetServicePort": "21"

2. Run NSmartProxy
  • Linux:
    sudo unzip
    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 ( 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

Help Search