NeutrinoProxy基于 Netty 的內(nèi)網(wǎng)穿透工具
中微子代理(neutrino-proxy) 是一款基于netty的內(nèi)網(wǎng)穿透神器。該項(xiàng)目采用最為寬松的MIT協(xié)議,因此您可以對(duì)它進(jìn)行復(fù)制、修改、傳播并用于任何個(gè)人或商業(yè)行為。
- Gitee地址:https://gitee.com/dromara/neutrino-proxy
- 官網(wǎng)地址:http://neutrino-proxy.dromara.org
服務(wù)端管理后臺(tái)截圖:
主要特點(diǎn):
- 1、流量監(jiān)控:首頁圖表、報(bào)表管理多維度流量監(jiān)控。全方位掌握實(shí)時(shí)、歷史代理數(shù)據(jù)。
- 2、用戶/License:支持多用戶、多客戶端使用。后臺(tái)禁用實(shí)時(shí)生效。
- 3、端口池:對(duì)外端口統(tǒng)一管理,支持用戶、License獨(dú)占端口。
- 4、端口映射:新增、編輯、刪除、禁用實(shí)時(shí)生效。
- 5、Docker:服務(wù)端支持Docker一鍵部署。
- 6、SSL證書:支持SSL,保護(hù)您的信息安全。
- 7、域名映射:支持綁定子域名,方便本地調(diào)試三方回調(diào)
- 8、采用最為寬松的MIT協(xié)議,免去你的后顧之憂
快速使用
更多使用姿勢(shì)、細(xì)節(jié)請(qǐng)通過官網(wǎng)或結(jié)尾微信二維碼加我備注"中微子代理"入群交流。
1、 部署服務(wù)端
1.1、 Docker一鍵部署
當(dāng)前最新版本為1.8.0,下面的腳本中,可以使用:
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.0指定版本安裝,推薦使用latest直接安裝最新版。
使用默認(rèn)sqlite數(shù)據(jù)庫
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 \\
-d --restart=always --name neutrino-proxy \\
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
指定自己的mysql數(shù)據(jù)庫
- 在服務(wù)器上創(chuàng)建目錄:/root/neutrino-proxy/config
- 在該目錄下創(chuàng)建
app.yml文本文件,并配置如下內(nèi)容:
neutrino:
data:
db:
type: mysql
# 自己的數(shù)據(jù)庫實(shí)例,創(chuàng)建一個(gè)空的名為'neutrino-proxy'的數(shù)據(jù)庫即可,首次啟動(dòng)服務(wù)端會(huì)自動(dòng)初始化
url: jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false
driver-class: com.mysql.jdbc.Driver
# 數(shù)據(jù)庫帳號(hào)
username: xxx
# 數(shù)據(jù)庫密碼
password: xxx
- 然后執(zhí)行如下命令:
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 \\
-v /root/neutrino-proxy/config:/root/neutrino-proxy/config \\
-d --restart=always --name neutrino \\
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
1.2、使用jar包自行部署
- 首先確保服務(wù)器上已安裝java8運(yùn)行環(huán)境
- 打開發(fā)行版頁面,下載最新的release包:
neutrino-proxy-server.jar、neutrino-proxy-admin.zip - 在服務(wù)器上新建部署目錄:
/work/projects/neutrino-proxy-server - 將
neutrino-proxy-server.jar、neutrino-proxy-admin.zip上傳至服務(wù)器部署目錄。 - 解壓
neutrino-proxy-admin.zip文件 - 執(zhí)行命令
java -jar neutrino-proxy-server.jar啟動(dòng)服務(wù)端完成部署,默認(rèn)使用sqlite數(shù)據(jù)庫。 - 若需要指定自己的mysql數(shù)據(jù)庫,同樣的需要在當(dāng)前目錄下新建
app.yml文件,文件內(nèi)容同上。執(zhí)行命令java -jar neutrino-proxy-server.jar config=app.yml啟動(dòng)服務(wù)端完成部署 - 可參照 https://gitee.com/dromara/neutrino-proxy/blob/master/bin/server_start.sh 使用shell腳本啟動(dòng)服務(wù)端。
2、管理后臺(tái)配置
- 服務(wù)端部署成功后,訪問
http://{服務(wù)端IP}:8888打開后臺(tái)管理頁面。 - 使用默認(rèn)的管理員帳號(hào)登錄:admin/123456
- 打開
代理配置>License管理頁面,可以看到系統(tǒng)已經(jīng)自動(dòng)為管理員初始化了一條License記錄,復(fù)制該LicenseKey備用,后續(xù)客戶端配置需要。 - 打開
代理配置>端口映射頁面,可以看到系統(tǒng)已經(jīng)自動(dòng)為初始化了幾條端口映射。可根據(jù)需要自行添加、修改。這里我們以9101 -> 127.0.0.1:8080映射為例
3、啟動(dòng)客戶端
- 首先確保本地已安裝java8運(yùn)行環(huán)境
- 打開發(fā)行版頁面,下載最新的release包:
neutrino-proxy-client.jar - 在本地
neutrino-proxy-client.jar同級(jí)別目錄下新建app.yml文件,并配置如下內(nèi)容:
neutrino:
proxy:
client:
# ssl證書密鑰(使用jjar包內(nèi)自帶的證書,則此處無需修改)
key-store-password: 123456
# ssl證書管理密鑰(使用jjar包內(nèi)自帶的證書,則此處無需修改。自定義證書,則此處配置對(duì)應(yīng)的路徑)
jks-path: classpath:/test.jks
# 代理服務(wù)端IP
server-ip: localhost
# 代理服務(wù)端IP, 若是非ssl端口,則ssl-enable需要配置為false
server-port: 9002
# 是否啟用ssl
ssl-enable: true
# licenseKey,客戶端憑證。此處需要配置剛剛從管理后臺(tái)復(fù)制的LicenseKey
license-key: xxxx
- 執(zhí)行命令
java -jar neutrino-proxy-client.jar啟動(dòng)客戶端 - 查看服務(wù)端License管理,刷新頁面,對(duì)應(yīng)的License在線狀態(tài)為
在線,則表明客戶端已正常連接。
4、代理驗(yàn)證
- 本地啟動(dòng)被代理服務(wù),如:redis、本地web項(xiàng)目、本地mysql等等
- 先確保本地能正常訪問被代理服務(wù),如果本地都不能訪問,不用想代理更不可能!!!
- 通過服務(wù)端IP+9101(上面License配置的端口映射重的服務(wù)端端口)訪問本地被代理服務(wù)
聯(lián)系我們
筆者時(shí)間、能力有限,且開源項(xiàng)目非一朝一夕之事,存在眾多問題亦在所難免。使用、學(xué)習(xí)過程中有任何問題歡迎大家與我聯(lián)系。
對(duì)項(xiàng)目有什么想法或者建議,可以加我微信拉交流群,或者創(chuàng)建issues,一起完善項(xiàng)目
- 微信號(hào):yuyunshize
- Email: [email protected]
- 中微子代理官網(wǎng):http://neutrino-proxy.dromara.org
- 中微子代理倉庫:https://gitee.com/dromara/neutrino-proxy
評(píng)論
圖片
表情
