Merge pull request #328 from cnlh/dev

Dev
This commit is contained in:
ffdfgdfg 2019-12-24 13:28:10 +08:00 committed by GitHub
commit 346cb58613
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 63 additions and 17 deletions

View File

@ -5,6 +5,7 @@
cd /go cd /go
go get -u fyne.io/fyne fyne.io/fyne/cmd/fyne go get -u fyne.io/fyne fyne.io/fyne/cmd/fyne
mkdir -p /go/src/github.com/cnlh/nps mkdir -p /go/src/github.com/cnlh/nps
cp -R /app/* /go/src/github.com/cnlh/nps cp -R /app/* /go/src/github.com/cnlh/nps
cd /go/src/github.com/cnlh/nps cd /go/src/github.com/cnlh/nps

View File

@ -1,5 +1,5 @@
#/bash/sh #/bash/sh
export VERSION=0.25.2 export VERSION=0.25.3
sudo apt-get install gcc-mingw-w64-i686 sudo apt-get install gcc-mingw-w64-i686
env GOOS=windows GOARCH=386 CGO_ENABLED=1 CC=i686-w64-mingw32-gcc go build -ldflags "-s -w -extldflags -static -extldflags -static" -buildmode=c-shared -o npc_sdk.dll cmd/npc/sdk.go env GOOS=windows GOARCH=386 CGO_ENABLED=1 CC=i686-w64-mingw32-gcc go build -ldflags "-s -w -extldflags -static -extldflags -static" -buildmode=c-shared -o npc_sdk.dll cmd/npc/sdk.go

View File

@ -25,7 +25,7 @@ import (
) )
var ( var (
level string level string
) )
func main() { func main() {
@ -57,6 +57,12 @@ func main() {
Description: "一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发支持内网http代理、内网socks5代理同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理集成多用户模式。", Description: "一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发支持内网http代理、内网socks5代理同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理集成多用户模式。",
Option: options, Option: options,
} }
svcConfig.Arguments = append(svcConfig.Arguments, "service")
if len(os.Args) > 1 && os.Args[1] == "service" {
logs.SetLogger(logs.AdapterFile, `{"level":`+level+`,"filename":"`+logPath+`","daily":false,"maxlines":100000,"color":true}`)
} else {
logs.SetLogger(logs.AdapterConsole, `{"level":`+level+`,"color":true}`)
}
if !common.IsWindows() { if !common.IsWindows() {
svcConfig.Dependencies = []string{ svcConfig.Dependencies = []string{
"Requires=network.target", "Requires=network.target",
@ -69,8 +75,7 @@ func main() {
logs.Error(err) logs.Error(err)
return return
} }
logs.SetLogger(logs.AdapterConsole, `{"level":`+level+`,"color":true}`) if len(os.Args) > 1 && os.Args[1] != "service" {
if len(os.Args) > 1 {
switch os.Args[1] { switch os.Args[1] {
case "reload": case "reload":
daemon.InitDaemon("nps", common.GetRunPath(), common.GetTmpPath()) daemon.InitDaemon("nps", common.GetRunPath(), common.GetTmpPath())
@ -93,7 +98,6 @@ func main() {
} }
return return
case "start", "restart", "stop", "uninstall": case "start", "restart", "stop", "uninstall":
logs.SetLogger(logs.AdapterFile, `{"level":`+level+`,"filename":"`+logPath+`","daily":false,"maxlines":100000,"color":true}`)
err := service.Control(s, os.Args[1]) err := service.Control(s, os.Args[1])
if err != nil { if err != nil {
logs.Error("Valid actions: %q\n", service.ControlAction, err.Error()) logs.Error("Valid actions: %q\n", service.ControlAction, err.Error())

View File

@ -8,6 +8,9 @@
## 热更新支持 ## 热更新支持
对于绝大多数配置在web管理中的修改将实时使用无需重启客户端或者服务端 对于绝大多数配置在web管理中的修改将实时使用无需重启客户端或者服务端
## web端保护
在一分钟内如果密码错误次数超过10次该ip在一分钟内将不能再次登陆。
## 客户端地址显示 ## 客户端地址显示
在web管理中将显示客户端的连接地址 在web管理中将显示客户端的连接地址

View File

@ -18,7 +18,7 @@
停止和重启可用stop和restart 停止和重启可用stop和restart
**如果发现没有启动成功,可以使用`nps(.exe) debug`运行调试,或查看日志**(Windows日志文件位于当前运行目录下linux和darwin位于/var/log/nps.log) **如果发现没有启动成功,可以使用`nps(.exe) stop`,然后运行`nps.(exe)`运行调试,或查看日志**(Windows日志文件位于当前运行目录下linux和darwin位于/var/log/nps.log)
- 访问服务端ip:web服务端口默认为8080 - 访问服务端ip:web服务端口默认为8080
- 使用用户名和密码登陆默认admin/123正式使用一定要更改 - 使用用户名和密码登陆默认admin/123正式使用一定要更改
- 创建客户端 - 创建客户端

View File

@ -2,9 +2,9 @@
## 无配置文件模式 ## 无配置文件模式
此模式的各种配置在服务端web管理中完成,客户端除运行一条命令外无需任何其他设置 此模式的各种配置在服务端web管理中完成,客户端除运行一条命令外无需任何其他设置
``` ```
./npc -debug=true -server=ip:port -vkey=web界面中显示的密钥 ./npc -server=ip:port -vkey=web界面中显示的密钥
``` ```
## 注册到系统服务 ## 注册到系统服务(开机启动、守护进程)
对于linux、darwin 对于linux、darwin
- 注册:`sudo ./npc install 其他参数(例如-server=xx -vkey=xx或者-config=xxx` - 注册:`sudo ./npc install 其他参数(例如-server=xx -vkey=xx或者-config=xxx`
- 启动:`sudo npc start` - 启动:`sudo npc start`

37
gui/npc/AndroidManifest.xml Executable file
View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="0.25.3"
package="org.nps.client"
platformBuildVersionCode="15"
platformBuildVersionName="4.0.4-1406430">
<uses-permission
android:name="android.permission.INTERNET"/>
<application
android:label="Npc"
android:debuggable="true">
<activity
android:label="Npc"
android:name="org.golang.app.GoNativeActivity"
android:configChanges="0xa0">
<meta-data
android:name="android.app.lib_name"
android:value="npc"/>
<intent-filter>
<action
android:name="android.intent.action.MAIN"/>
<category
android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -34,6 +34,7 @@ type Mux struct {
func NewMux(c net.Conn, connType string) *Mux { func NewMux(c net.Conn, connType string) *Mux {
//c.(*net.TCPConn).SetReadBuffer(0) //c.(*net.TCPConn).SetReadBuffer(0)
//c.(*net.TCPConn).SetWriteBuffer(0) //c.(*net.TCPConn).SetWriteBuffer(0)
_ = c.SetDeadline(time.Time{})
m := &Mux{ m := &Mux{
conn: c, conn: c,
connMap: NewConnMap(), connMap: NewConnMap(),
@ -173,7 +174,7 @@ func (s *Mux) ping() {
s.sendInfo(common.MUX_PING_FLAG, common.MUX_PING, now) s.sendInfo(common.MUX_PING_FLAG, common.MUX_PING, now)
// send the ping flag and get the latency first // send the ping flag and get the latency first
ticker := time.NewTicker(time.Second * 5) ticker := time.NewTicker(time.Second * 5)
defer ticker.Stop() defer ticker.Stop()
for { for {
if s.IsClose { if s.IsClose {
break break
@ -198,7 +199,7 @@ func (s *Mux) ping() {
} }
atomic.AddUint32(&s.pingOk, 1) atomic.AddUint32(&s.pingOk, 1)
} }
return return
}() }()
} }

View File

@ -1,6 +1,6 @@
package version package version
const VERSION = "0.25.2" const VERSION = "0.25.3"
// Compulsory minimum version, Minimum downward compatibility to this version // Compulsory minimum version, Minimum downward compatibility to this version
func GetVersion() string { func GetVersion() string {

View File

@ -119,7 +119,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
<button class="btn btn-success" href="#" id="add"><i <button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i>新增 class="fa fa-fw fa-lg fa-eye"></i>新增
</button> </button>
</div> </div>

View File

@ -128,7 +128,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
<button class="btn btn-success" href="#" id="add"><i <button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span> class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span>
</button> </button>
</div> </div>

View File

@ -101,7 +101,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
&nbsp;<button class="btn btn-success" href="#" id="add"><i &nbsp;<button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i>新增 class="fa fa-fw fa-lg fa-eye"></i>新增
</button> </button>
</div> </div>

View File

@ -101,7 +101,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
<button class="btn btn-success" href="#" id="add"><i <button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span> class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span>
</button> </button>
</div> </div>

View File

@ -97,7 +97,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
&nbsp;<button class="btn btn-success" href="#" id="add"><i &nbsp;<button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i>新增 class="fa fa-fw fa-lg fa-eye"></i>新增
</button> </button>
</div> </div>

View File

@ -100,7 +100,7 @@
<div class="hr-line-dashed"></div> <div class="hr-line-dashed"></div>
<div class="form-group"> <div class="form-group">
<div class="col-sm-4 col-sm-offset-2"> <div class="col-sm-4 col-sm-offset-2">
&nbsp;<button class="btn btn-success" href="#" id="add"><i &nbsp;<button class="btn btn-success" type="button" id="add"><i
class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span> class="fa fa-fw fa-lg fa-eye"></i><span langtag="info-save">保存</span>
</button> </button>
</div> </div>