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、联系我们

开源的java内网穿透 - 维基代理(wiki-proxy)的更多相关文章

  1. 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区

    1.关于作者 dromara开源组织成员,dromara/neutrino-proxy项目作者 名称:傲世孤尘.雨韵诗泽 名言: 扎根土壤,心向太阳.积蓄能量,绽放微光. 拘浊酒邀明月,借赤日暖苍穹. ...

  2. 聊聊第一个开源项目(内网穿透) - CProxy

    文章首发:聊聊第一个开源项目 - CProxy 作者:会玩code 初衷 最近在学C++,想写个项目练练手.对网络比较感兴趣,之前使用过ngrok(GO版本的内网穿透项目),看了部分源码,想把自己的一 ...

  3. 【代理】内网穿透工具 frp&frps

    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发. ### frp 的作 ...

  4. 借助FRP反向代理实现内网穿透

    一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...

  5. frp实现基于反向代理的内网穿透

    个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...

  6. Mac配置内网穿透

    闲语: Java开发过程中,往往会对接第三方,而在对接过程中,双方间使用的最多的"通讯"方式就是异步通知.可是异步通知过程中,只能通知到外网地址,可是在调试过程我们都是在本地进行- ...

  7. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...

  8. 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】

    Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...

  9. 内网穿透+VS2015自带IIS express实现本地调试(微信等需要将开发环境暴漏到外网的情况使用)

    今天一个兼职结束了,又要开始寻找新的兼职公司了 ,为了贴补家用啊,为了给儿子更好的生活加油! 抒情完毕进入正题,本篇文章要解决的问题是其实在开发微信支付,微信公众号等回调地址必须是外网可访问的80端口 ...

  10. 分享一个内网穿透工具frp

    首先简单介绍一下内网穿透: 内网穿透:通过公网,访问局域网里的IP地址与端口,这需要将局域网里的电脑端口映射到公网的端口上:这就需要用到反向代理,即在公网服务器上必须运行一个服务程序,然后在局域网中需 ...

随机推荐

  1. Java学习记录01

    营销核心 营销核心是让利,外围是怎么去让利,三环是公共平台 策略模式学习 意图:定义一系列方法将其封装,并且相互可以替代 目的:解决if-else带来的复杂性和难以维护性 关键实现:多个方法类实现同一 ...

  2. 越“挖”越有料,天翼云“息壤”助攻DeepSeek变身万能搭子!

    还在为DeepSeek服务器繁忙而抓狂? 还在为API调用费用涨价而头疼? 还在为数据安全而担忧? 别急! 天翼云"息壤"算力互联调度平台出马 全面解锁DeepSeek新玩法 带你 ...

  3. Typecho Mirages 主题自定义公告样式

    使用步骤 将以下代码加入到 <head> 标签中.对于本主题,依次进入 控制台 - 外观 - 设置外观 - 主题自定义扩展,将代码加入到 自定义 HTML 元素拓展 - 标签: head ...

  4. NetPad:一个.NET开源、跨平台的C#编辑器

    前言 今天大姚给大家分享一个基于.NET开源.跨平台的C#编辑器和游乐场:NetPad. 项目介绍 NetPad是一个基于.NET开源(MIT License).跨平台的C#编辑器和游乐场,它允许用户 ...

  5. Linux - 搭建一套Apache大数据集群

    一.服务器操作系统 主机名 操作系统 node01 Centos 7.9 node02 Centos 7.9 node03 Centot 7.9 二.大数据服务版本 服务 版本 下载 JDK jdk- ...

  6. 【ABAQUS 二次开发笔记】使用keyword 、python和matlab一起处理Odb数据

    用conversion shell element (S4R单元)建模层合板,有6层ply,每个lamina(ply)有3个 integration point,共计18个integration po ...

  7. 对接服务升级后仅支持tls1.2,jdk1.7默认使用tls1.0,导致调用失败

    背景 如标题所说,我手里维护了一个重要的老项目,使用jdk1.7,里面对接了很多个第三方服务,协议多种多样,其中涉及http/https的,调用方式也是五花八门,比如:commons-httpclie ...

  8. sap 管理--企业解决方案 -设备管理

    1.什么是sap 管理 2.设备管理管的是什么 3.设备的几种状态 4.设备bom(物料清单) 5.测量点计数器 1.什么是sap 管理 System Applications and Product ...

  9. 5个步骤完成 Vue3 开发调试工具安装教程

    Vue3 开发调试工具安装教程 5个步骤 第一步:点击浏览器右上角,更多工具 – 扩展程序 第二步:点击右上角 – 开发者模式 开关 第三步:点击 "添加已解压的扩展程序" 第四步 ...

  10. vmware vsphere 6.5

    vmware vsphere 6.5是vsphere软件的经典版本,也是一款业界领先的服务器虚拟化平台,作为基础平台,是任何云计算环境的理想之选,其组件包括vCenter Server.ESXi.vS ...