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. iceberg调研-查询Iceberg表流程

    1.查询表结构 show create table data_lake_ods.dws_service_subclazz_lesson_user_learn_stat_rt_v2 CREATE TAB ...

  2. QT5笔记:34. 视口和窗口

    ![image-20220504160327597](QT5 使用.assets/image-20220504160327597.png) 例子: void Widget::paintEvent(QP ...

  3. autMan奥特曼机器人-跳过注册页面直接进入登陆页面

    1.将下面4行内容存成txt文件[注意将"账号"和"密码"等字眼替换为自己的真正账号和密码],文件名改成sets.conf,放到autman主文件夹,见下图最下 ...

  4. 错误模块名称:vrfcore.dll

    记录一下. 应用程序莫名报这个错,其它电脑上正常. 可能是Application Verifier这个工具影响到了. 进入注册表:win+R->regedit->HKEY_LOCAL_MA ...

  5. 面试题58 - I. 翻转单词顺序

    地址:https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/ <?php/**输入一个英文句子,翻转句子中单词的顺序,但单 ...

  6. DeFi(去中心化金融)的硬核知识

    1. ​DeFi流动性挖矿:躺着赚利息的"矿工"​ 简单来说,流动性挖矿就像你往银行存钱赚利息,但这里存的是加密货币,利息更高,还能随时提现.比如你往Uniswap这样的去中心化交 ...

  7. My'Bug

    修改时未校验工作经历是否为空

  8. 基础命令:dd、tar、ln、find、逻辑符号、alisa别名、md5sun校验、lrzsz文件上传下载、wget

    目录 3.0 dd读取.转换并输出数据 3.1 压缩 (tar.zip).解压缩(tar xf.unzip) 3.2 ln软硬链接 3.2.1 软链接: 3.2.2 硬链接: 3.3 find文件查找 ...

  9. Windows下安装使用OpenLDAP

    LDAP:(轻量级目录访问协议,Lightweight Directory Access Protocol)它是基于 X.500标准的,但是简单多了并且可以根据需要定制.与X.500不同,LDAP支持 ...

  10. BUUCTF---萌萌哒的八戒(猪圈密码)

    1. 问题 2.知识点 猪圈密码 3.解题 对应解题,套上flag{whenthepigwanttoeat}