Git Product home page Git Product logo

lulzzz / nsmartproxy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tmoonlight/nsmartproxy

0.0 1.0 0.0 10.93 MB

NSmartProxy是一款免费的内网穿透工具。采用.NET CORE的全异步模式打造。(NSmartProxy is a open source reverse proxy tool that creates a secure tunnel from a public endpoint to a locally service.)

License: MIT License

C# 87.66% Dockerfile 0.19% HTML 4.44% JavaScript 6.71% CSS 0.69% Batchfile 0.30%

nsmartproxy's Introduction

GitHub release GitHub Build Status

中文版 | 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

nsmartproxy's People

Contributors

lisali88 avatar tmoonlight avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.