forked from ehang-io/nps
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from yisier/master
merge yisier nps
- Loading branch information
Showing
17 changed files
with
570 additions
and
327 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# This workflow will build a golang project | ||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go | ||
|
||
name: Go | ||
|
||
on: | ||
workflow_dispatch: | ||
release: | ||
types: [published] | ||
branches: [ master ] | ||
|
||
jobs: | ||
|
||
build_assets: | ||
|
||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Set up Go 1.x | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: 1.15 | ||
id: go | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v2 | ||
- name: Get dependencies | ||
run: | | ||
go get -v -t -d ./... | ||
if [ -f Gopkg.toml ]; then | ||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh | ||
dep ensure | ||
fi | ||
- name: Build | ||
run: | | ||
chmod +x build.assets.sh | ||
./build.assets.sh | ||
- name: Upload | ||
uses: softprops/action-gh-release@v1 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
files: | | ||
freebsd_386_client.tar.gz | ||
freebsd_386_server.tar.gz | ||
freebsd_amd64_client.tar.gz | ||
freebsd_amd64_server.tar.gz | ||
freebsd_arm_client.tar.gz | ||
freebsd_arm_server.tar.gz | ||
linux_386_client.tar.gz | ||
linux_386_server.tar.gz | ||
linux_amd64_client.tar.gz | ||
linux_amd64_server.tar.gz | ||
linux_arm64_client.tar.gz | ||
linux_arm64_server.tar.gz | ||
linux_arm_v5_client.tar.gz | ||
linux_arm_v6_client.tar.gz | ||
linux_arm_v7_client.tar.gz | ||
linux_arm_v5_server.tar.gz | ||
linux_arm_v6_server.tar.gz | ||
linux_arm_v7_server.tar.gz | ||
linux_mips64le_client.tar.gz | ||
linux_mips64le_server.tar.gz | ||
linux_mips64_client.tar.gz | ||
linux_mips64_server.tar.gz | ||
linux_mipsle_client.tar.gz | ||
linux_mipsle_server.tar.gz | ||
linux_mips_client.tar.gz | ||
linux_mips_server.tar.gz | ||
darwin_amd64_client.tar.gz | ||
darwin_amd64_server.tar.gz | ||
windows_386_client.tar.gz | ||
windows_386_server.tar.gz | ||
windows_amd64_client.tar.gz | ||
windows_amd64_server.tar.gz | ||
npc_sdk.tar.gz | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,86 +1,32 @@ | ||
|
||
# NPS | ||
![](https://img.shields.io/github/stars/ehang-io/nps.svg) ![](https://img.shields.io/github/forks/ehang-io/nps.svg) | ||
[![Gitter](https://badges.gitter.im/cnlh-nps/community.svg)](https://gitter.im/cnlh-nps/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) | ||
![Release](https://github.com/ehang-io/nps/workflows/Release/badge.svg) | ||
![GitHub All Releases](https://img.shields.io/github/downloads/ehang-io/nps/total) | ||
|
||
[README](https://github.com/ehang-io/nps/blob/master/README.md)|[中文文档](https://github.com/ehang-io/nps/blob/master/README_zh.md) | ||
|
||
NPS is a lightweight, high-performance, powerful **intranet penetration** proxy server, with a powerful web management terminal. | ||
# 说明 | ||
由于nps已经有一年多的时间没有更新了,存留了不少bug和未完善的功能。 | ||
|
||
此版本基于 nps 0.26.10的基础上二次开发而来。 | ||
|
||
![image](https://github.com/ehang-io/nps/blob/master/image/web.png?raw=true) | ||
|
||
## Feature | ||
## 更新日志 | ||
|
||
- Comprehensive protocol support, compatible with almost all commonly used protocols, such as tcp, udp, http(s), socks5, p2p, http proxy ... | ||
- Full platform compatibility (linux, windows, macos, Synology, etc.), support installation as a system service simply. | ||
- Comprehensive control, both client and server control are allowed. | ||
- Https integration, support to convert backend proxy and web services to https, and support multiple certificates. | ||
- Just simple configuration on web ui can complete most requirements. | ||
- Complete information display, such as traffic, system information, real-time bandwidth, client version, etc. | ||
- Powerful extension functions, everything is available (cache, compression, encryption, traffic limit, bandwidth limit, port reuse, etc.) | ||
- Domain name resolution has functions such as custom headers, 404 page configuration, host modification, site protection, URL routing, and pan-resolution. | ||
- Multi-user and user registration support on server. | ||
- 2022-10-24: | ||
***修复***:HTTP协议支持WebSocket(稳定性待测试) | ||
|
||
|
||
**Didn't find the feature you want? It doesn't matter, click [Enter the document](https://ehang-io.github.io/nps/) to find it!** | ||
- 2022-10-21: | ||
***修复***:HTTP协议下实时统计流量,能够精准的限制住流量(上下行对等) | ||
***优化***:删除HTTP隧道时,客户端已用流量不再清空 | ||
|
||
## Quick start | ||
|
||
### Installation | ||
- 2022-10-19: | ||
***BUG***:在TCP协议下,流量统计有问题,只有当连接断开时才会统计流量。例如,限制客户端流量20m,当传输100m的文件时,也能传输成功。 | ||
***修复***:TCP协议下实时统计流量,能够精准的限制住流量(上下行对等) | ||
***优化***:删除TCP隧道时,客户端已用流量不再清空 | ||
![image](image/new/tcp_limit.png) | ||
|
||
> [releases](https://github.com/ehang-io/nps/releases) | ||
|
||
Download the corresponding system version, the server and client are separate. | ||
- 2022-09-14: | ||
修改NPS工作目录为当前可执行文件目录(即配置文件和nps可执行文件放在同一目录下,直接执行nps文件即可),去除注册系统服务,启动、停止、升级等命令 | ||
|
||
### Server start | ||
|
||
After downloading the server compressed package, unzip it, and then enter the unzipped folder. | ||
|
||
- execute installation command | ||
|
||
For linux、darwin ```sudo ./nps install``` | ||
|
||
For windows, run cmd as administrator and enter the installation directory ```nps.exe install``` | ||
|
||
- default ports | ||
|
||
The default configuration file of nps use 80,443,8080,8024 ports | ||
|
||
80 and 443 ports for host mode default ports | ||
|
||
8080 for web management access port | ||
|
||
8024 for net bridge port, to communicate between server and client | ||
|
||
- start up | ||
|
||
For linux、darwin ```sudo nps start``` | ||
|
||
For windows, run cmd as administrator and enter the program directory ```nps.exe start``` | ||
|
||
```After installation, the windows configuration file is located at C:\Program Files\nps, linux or darwin is located at /etc/nps``` | ||
|
||
**If you don't find it started successfully, you can check the log (Windows log files are located in the current running directory, linux and darwin are located in /var/log/nps.log).** | ||
|
||
- Access server IP:web service port (default is 8080). | ||
- Login with username and password (default is admin/123, must be modified when officially used). | ||
- Create a client. | ||
|
||
### Client connection | ||
- Click the + sign in front of the client in web management and copy the startup command. | ||
- Execute the startup command, Linux can be executed directly, Windows will replace ./npc with npc.exe and execute it with cmd. | ||
|
||
|
||
If you need to register to the system service, you can check [Register to the system service](https://ehang-io.github.io/nps/#/use?id=注册到系统服务) | ||
|
||
### Configuration | ||
- After the client connects, configure the corresponding penetration service in the web. | ||
- For more advanced usage, see [Complete Documentation](https://ehang-io.github.io/nps/) | ||
|
||
## Contribution | ||
- If you encounter a bug, you can submit it to the dev branch directly. | ||
- If you encounter a problem, you can feedback through the issue. | ||
- The project is under development, and there is still a lot of room for improvement. If you can contribute code, please submit PR to the dev branch. | ||
- If there is feedback on new features, you can feedback via issues or qq group. |
Oops, something went wrong.