管理ss端口的微信小程序

以前租了一臺服務器,在裏面裝了ss,用來看視頻或查資料,後來朋友也想用,就開多了幾個端口給他們用,最近了解了一下微信小程序,決定使用微信小程序做爲前端,每一個人能夠本身去小程序裏申請端口,並在裏面查看本身的端口信息。前端

這樣作的好處有:python

  • 不用再去服務器裏手動添加刪除端口
  • 能夠在服務端裏對每一個端口的可用流量進行限制
  • 省去使用網頁做爲前端時的註冊登陸步驟
  • 因爲使用了微信的帳號體系,因此能夠保證每一個人看到的是本身的端口信息

目前這個小程序已經經過了微信的審覈並上線使用,下面大概講一下它的構成。git

該小程序只支持python版的ss,一共有三個模塊:github

關係圖以下小程序

服務端微信小程序

核心模塊,技術使用了Spring Boot,H2,Ehcache和RESTful API,這裏使用H2和Ehcache這些內嵌式工具的緣由是但願這個模塊儘可能輕量化,不用安裝其餘軟件就能運行,畢竟用這個小程序的人很少,不用考慮性能問題。服務器

功能:微信

  • 與客戶端通訊
  • 收集由代理端傳遞過來的端口流量數據
  • 向代理端發送命令,如添加端口和刪除端口等
  • 當用戶流量超過最大可用值時,禁用端口

代理端框架

技術使用了Spring Boot,Ehcache,Netty和RESTful API,這裏使用Netty這個通訊框架的緣由是ss只支持UDP通訊,而用Netty實現UDP通訊比較簡單,因爲UDP通訊是不可靠的,因此須要把代理端放在ss服務器上運行,即有多少個ss服務器,就有多少個代理端。工具

功能:

  • 向ss發送由服務端傳遞過來的命令,如添加端口和刪除端口等
  • 向服務端發送由ss傳遞過來的端口流量數據

客戶端

功能:

  • 申請端口,查看端口信息和刪除端口
  • 與服務端通訊

效果圖

申請端口

查看端口信息和刪除端口

 

相關文章
相關標籤/搜索