開源的java內網穿透 - 維基代理(wiki-proxy)
1、簡介
- 維基代理(wiki-proxy)、開源的java內網穿透項目。
- 技術棧:cdkjFramework(維基框架)、JPA、Netty
- 遵循MIT許可,因此您可以對它進行復制、修改、傳播并用于任何個人或商業行為。
- 官網地址:https://www.framewiki.com/
2、項目結構
- wiki-proxy 維基代理項目
- assets 框架資源文件
- client 代理客戶端
- proxy-client 代理客戶端項目
- proxy-client-web 代理客戶端項目
- proxy-admin 代理監控項目(基于vue3 + element-plus開發)
- proxy-core 代理核心庫
- proxy-util 代理工具庫
- server 代理服務端
- proxy-server 代理服務端業務代碼
- proxy-server-web 代理服務端接口
3、運行
3.1 生成證書,使用 keytool 工具生成測試證書如下所示(建議使用Let's Encrypt生成正式證書)
keytool -genkey -alias wiki-proxy -keyalg RSA -keysize 2048 -validity 3650 -keypass wiki-proxy@SaFePwd2025! -storepass wiki-proxy@SaFePwd2025! -keystore "./wiki-proxy.jks"
3.2 修改服務端配置文件
spring:
application:
name: wiki-proxy-server
proxy:
server:
# 服務端(TCP)端口
service-port: 10010
# 暴露端口 可以為多個
port:
- 443
# 證書存放路徑
ssl-key-store-path: "D:\\Project\\wiki-proxy\\server\\proxy-server-web\\src\\main\\resources\\wiki-proxy.jks"
# 證書密碼
ssl-key-store-password: "wiki-proxy@SaFePwd2025!"
# 證書類型
ssl-key-store-type: PKCS12
# 協議 默認為 TLSv1.2 版本
protocol: TLSv1.2
# 算法 默認為 sunx509
algorithm: sunx509
# 交互密鑰 AES 需要與客戶端一致
aes-key: 8AUWlb+IWD+Fhbs0xnXCCg==
# 交互簽名 key 需要與客戶端一致
token-key: tokenKey
3.3 服務端啟動(Spring Boot 項目)
com.framewiki.proxy.server.ProxyServerApplication
3.4 修改客戶端配置文件
spring:
application:
name: wiki-proxy-client
proxy:
client:
# 服務端ip
service-ip: 127.0.0.1
# 服務端 (TCP) 端口
service-port: 10010
ip:
- 127.0.0.1 # 目標代理ip
dest-port: # 目標代理端口
- 50501
port:
- 443 # 服務端暴露端口
# 證書存放路徑
ssl-key-store-path: "D:\\Project\\wiki-proxy\\server\\proxy-server-web\\src\\main\\resources\\wiki-proxy.jks"
# 證書密碼
ssl-key-store-password: "wiki-proxy@SaFePwd2025!"
# 證書類型
ssl-key-store-type: PKCS12
# 協議 默認為 TLSv1.2 版本
protocol: TLSv1.2
# 算法 默認為 sunx509
algorithm: sunx509
# 交互密鑰 AES 需要與服務端一致
aes-key: 8AUWlb+IWD+Fhbs0xnXCCg==
# 交互簽名 key 需要與服務端一致
token-key: tokenKey
3.5 客戶端啟動(Spring Boot 項目)
com.framewiki.proxy.client.ProxyClientApplication
4、部署
先將項目構建好jar包(構建方式如下圖)、也可下載發布的jar包,然后上傳至服務器指定目錄下。
4.1 部署服務端
先將wiki-proxy-server.jar包、Dockerfile、start.sh、stop.sh上傳至服務器 /user/web/wiki-proxy/server 目錄下。
4.1.1 構建并運行Docker鏡像
切換工作目錄至/user/web/wiki-proxy/server目錄下(根據自己的服務器目錄結構進行修改)
cd /user/web/wiki-proxy/server
執行如下命令構建Docker鏡像
./start.sh
4.1.2 停止Docker鏡像
./stop.sh
4.2 部署客戶端
先將wiki-proxy-client.jar包、Dockerfile、start.sh、stop.sh上傳至服務器 /user/web/wiki-proxy/client 目錄下。
4.2.1 構建并運行Docker鏡像
切換工作目錄至/user/web/wiki-proxy/client 目錄下(根據自己的服務器目錄結構進行修改)
cd /user/web/wiki-proxy/client
執行如下命令構建Docker鏡像
./start.sh
4.2.2 停止Docker鏡像
./stop.sh
5、代理示意圖
6、聯系我們
- 微信: wangnanfei-cn
- Gitee: https://gitee.com/cdkjframework/wiki-proxy
- Github倉庫:https://github.com/cdkjframework/wiki-proxy



浙公網安備 33010602011771號