diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 8b13789..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/README.md b/README.md index 5cb41e0..d68a3a2 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,9 @@ sh bridge-init.sh 添加QQ群: 567510628 +## Contribution + +欢迎提交 PR、Issues,感谢为AnyLink做出贡献 ## Other Screenshot diff --git a/admin/api_user.go b/admin/api_user.go index 718edba..960cafa 100644 --- a/admin/api_user.go +++ b/admin/api_user.go @@ -175,6 +175,13 @@ func UserOffline(w http.ResponseWriter, r *http.Request) { RespSucess(w, nil) } +func UserReline(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + token := r.FormValue("token") + sessdata.CloseCSess(token) + RespSucess(w, nil) +} + type userAccountMailData struct { Issuer string LinkAddr string diff --git a/admin/server.go b/admin/server.go index b3d6f4f..ddb2b52 100644 --- a/admin/server.go +++ b/admin/server.go @@ -35,6 +35,7 @@ func StartAdmin() { r.HandleFunc("/user/del", UserDel) r.HandleFunc("/user/online", UserOnline) r.HandleFunc("/user/offline", UserOffline) + r.HandleFunc("/user/reline", UserReline) r.HandleFunc("/user/otp_qr", UserOtpQr) r.HandleFunc("/user/ip_map/list", UserIpMapList) r.HandleFunc("/user/ip_map/detail", UserIpMapDetail) diff --git a/base/app_ver.go b/base/app_ver.go index 9f285e4..abc866e 100644 --- a/base/app_ver.go +++ b/base/app_ver.go @@ -2,5 +2,5 @@ package base const ( APP_NAME = "AnyLink" - APP_VER = "0.0.9" + APP_VER = "0.1.0" ) diff --git a/main.go b/main.go index 7ce3137..3deb10a 100644 --- a/main.go +++ b/main.go @@ -1,4 +1,7 @@ // AnyLink 是一个企业级远程办公vpn软件,可以支持多人同时在线使用。 + +// +build linux + package main import ( diff --git a/sessdata/session.go b/sessdata/session.go index 35e8567..6331cf7 100644 --- a/sessdata/session.go +++ b/sessdata/session.go @@ -296,6 +296,17 @@ func CloseSess(token string) { sess.CSess.Close() } +func CloseCSess(token string) { + sessMux.Lock() + defer sessMux.Unlock() + sess, ok := sessions[token] + if !ok { + return + } + + sess.CSess.Close() +} + func DelSessByStoken(stoken string) { stoken = strings.TrimSpace(stoken) sarr := strings.Split(stoken, "@")