Compare commits

..
24 Commits
Author SHA1 Message Date
songyinyin b718c048ea test github action v22 2023-10-25 16:31:14 +08:00
songyinyin d202caa499 test github action v21 2023-10-25 16:16:26 +08:00
songyinyin 8591e224dc test github action v20 windows xcopy 2023-10-25 16:15:32 +08:00
songyinyin 5953256c11 test github action v19 2023-10-25 16:02:55 +08:00
songyinyin 8d5b7edf12 test github action v18 add sql 2023-10-25 16:01:55 +08:00
songyinyin e74dc64a9a test github action v17 2023-10-25 14:10:31 +08:00
songyinyin 47b6a24a42 test github action v16 2023-10-25 13:10:31 +08:00
songyinyin 0095ffc65c test github action v15 name 2023-10-25 12:06:36 +08:00
songyinyin 299d75957b test github action v15 2023-10-25 11:57:57 +08:00
songyinyin db13fb49b1 test github action v14 2023-10-25 11:42:02 +08:00
songyinyin 94cac52ad2 test github action v13 all os 2023-10-25 11:33:17 +08:00
songyinyin 32780f34a4 test github action v13 2023-10-25 11:14:44 +08:00
songyinyin 8dd58035a6 test github action v12 2023-10-25 10:58:21 +08:00
songyinyin ee55a4104a test github action v11 2023-10-25 10:53:55 +08:00
songyinyin 1651f2ca1c test github action v10 2023-10-25 10:50:38 +08:00
songyinyin ba93dcbeac test github action v09 2023-10-25 10:36:20 +08:00
songyinyin cbc7ea7d25 test github action v08 2023-10-25 10:33:24 +08:00
songyinyin e0c6885b03 test github action v07 2023-10-25 10:30:58 +08:00
songyinyin c6694b7dc8 test github action v06 2023-10-25 10:27:48 +08:00
songyinyin a2a5beaf5b test github action v05 2023-10-24 19:13:39 +08:00
songyinyin 418a44a7c2 test github action v04 2023-10-24 19:09:55 +08:00
songyinyin d78a1d7d9b test github action v03 2023-10-24 19:04:30 +08:00
songyinyin bd4f4a056d test github action v02 2023-10-24 18:48:10 +08:00
songyinyin 364d77f38f test github action 2023-10-24 18:38:24 +08:00
31 changed files with 154 additions and 249 deletions
+1 -4
View File
@@ -2,7 +2,4 @@ root=true
[*.{groovy,java,kt,xml}]
indent_style = space
indent_size = 4
[*.sh]
end_of_line=lf
indent_size = 4
+4 -3
View File
@@ -1,4 +1,4 @@
name: Build linux and mac native image
name: jar release
on:
workflow_dispatch:
@@ -12,7 +12,8 @@ jobs:
fail-fast: false
matrix:
# see: https://docs.github.com/zh/actions/using-jobs/choosing-the-runner-for-a-job
os: ['ubuntu-20.04', 'macos-12']
# os: ['ubuntu-20.04', 'macos-12']
os: ['ubuntu-20.04']
name: build - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
# https://github.com/softprops/action-gh-release/issues/236#issuecomment-1150530128
@@ -29,7 +30,7 @@ jobs:
run: |
cd neutrino-proxy-admin
npm install
npm run build:docker
npm run build:dev
cp -rf ./dist/ ./../neutrino-proxy-server/src/main/resources/static/
- name: GitHub Action for GraalVM JDK 17
uses: graalvm/setup-graalvm@v1
+10 -9
View File
@@ -1,10 +1,10 @@
name: Build windows native image
name: jar release
on:
workflow_dispatch:
push:
tags:
- 'v*'
- 'win*'
jobs:
build:
@@ -12,6 +12,7 @@ jobs:
fail-fast: false
matrix:
# see: https://docs.github.com/zh/actions/using-jobs/choosing-the-runner-for-a-job
# os: ['ubuntu-20.04', 'windows-latest', 'macos-latest']
os: ['windows-2022']
name: build - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
@@ -29,7 +30,7 @@ jobs:
run: |
cd neutrino-proxy-admin
npm install
npm run build:docker
npm run build:dev
cp -r ./dist/ ./../neutrino-proxy-server/src/main/resources/static/
- name: GitHub Action for GraalVM JDK 17
uses: graalvm/setup-graalvm@v1
@@ -49,24 +50,24 @@ jobs:
mvn clean install -pl neutrino-proxy-core -am -DskipTests --no-transfer-progress
cd neutrino-proxy-server
mvn clean native:compile -P native --file pom.xml --no-transfer-progress
cp target/neutrino-proxy-server.exe ./neutrino-proxy-server.exe
xcopy target/neutrino-proxy-server.exe .
- name: Archive zip (neutrino-proxy-server)
uses: thedoctor0/zip-release@master
with:
type: 'zip'
path: 'neutrino-proxy-server.exe'
path: 'neutrino-proxy-server-${{ github.ref_name }}'
filename: neutrino-proxy-server-${{ matrix.os }}-${{ github.ref_name }}.zip
- name: Build with Maven (neutrino-proxy-client)
run: |
cd neutrino-proxy-client
mvn clean package --file pom.xml --no-transfer-progress
mvn clean native:compile -P native --file pom.xml --no-transfer-progress
cp target/neutrino-proxy-client.exe ./neutrino-proxy-client.exe
xcopy target/neutrino-proxy-client.exe .
- name: Archive zip (neutrino-proxy-client)
uses: thedoctor0/zip-release@master
with:
type: 'zip'
path: 'neutrino-proxy-client.exe'
path: 'neutrino-proxy-client-${{ github.ref_name }}'
filename: neutrino-proxy-client-${{ matrix.os }}-${{ github.ref_name }}.zip
# GitHub 上创建 release
- name: Release
@@ -76,7 +77,7 @@ jobs:
files: |
neutrino-proxy-server/target/neutrino-proxy-server.jar
neutrino-proxy-client/target/neutrino-proxy-client.jar
neutrino-proxy-server-${{ matrix.os }}-${{ github.ref_name }}.zip
neutrino-proxy-client-${{ matrix.os }}-${{ github.ref_name }}.zip
neutrino-proxy-server.exe
neutrino-proxy-client.exe
prerelease: true
token: ${{ secrets.GITHUB_TOKEN }}
-1
View File
@@ -57,6 +57,5 @@ hs_err_pid*
neutrino-proxy-vuepress/deploy.sh
.NEUTRINO_PROXY_CLIENT_ID
logs
data
**/cert/**
neutrino-proxy-server/src/main/resources/static/**
-16
View File
@@ -1,16 +0,0 @@
- 2022-06-16 1.0.0版本发布,基于自研应用框架、纯配置无管理后台
- 2022-10-12 1.5.0版本发布,底层框架优化,新增管理后台
- 2022-11-23 1.6.0版本发布,新增日志管理模块,新增首页流量统计
- 2023-01-08 中微子代理Gitee Star突破100
- 2023-01-16 加入Dromara组织
- 2023-02-23 1.6.4版本发布,管理后台增、删、改、禁用实时生效,启动参数、GZip优化
- 2023-03-12 1.7.0版本发布,底层框架更换为Solon + MybatisPlus
- 2023-03-26 1.7.1版本发布,新增端口池分组、新增报表管理模块、首页图表优化
- 2023-04-03 1.8.0版本发布,端口映射支持选择协议,HTTP映射支持子域名
- 2023-05-27 1.8.2版本发布,增加HTTPS支持
- 2023-06-03 1.8.3版本发布,客户端重连优化、服务端验证客户端身份逻辑优化
- 2023-06-08 1.8.4版本发布,增加对mariadb的支持、配置文件支持指定日志级别、重连参数
- 2023-07-04 1.8.5版本发布,后台若干细节优化、配置文件优化
- 2023-09-07 1.8.6版本发布,后台若干细节优化
- 2023-09-22 1.9.0版本发布,端口映射支持UDP协议
- 2023-09-25 中微子代理Gitee Star数突破1000
+2 -2
View File
@@ -4,8 +4,8 @@
<p align="center">
<a href='https://gitee.com/dromara/neutrino-proxy/stargazers'><img src='https://gitee.com/dromara/neutrino-proxy/badge/star.svg?theme=dark' alt='star'></img></a>
<a href='https://gitee.com/dromara/neutrino-proxy/members'><img src='https://gitee.com/dromara/neutrino-proxy/badge/fork.svg?theme=dark' alt='fork'></img></a>
<a target="_blank" href="https://www.oracle.com/java/technologies/javase/javase-jdk17-downloads.html">
<img src="https://img.shields.io/badge/JDK-17+-red.svg" />
<a target="_blank" href="https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html">
<img src="https://img.shields.io/badge/JDK-8+-red.svg" />
</a>
<a href="./LICENSE">
<img src="https://img.shields.io/badge/license-MIT-red" alt="license MIT">
-74
View File
@@ -1,74 +0,0 @@
# 1.x
## 1.0.0
> 第一个基本可用版本
- 基于自研底层应用框架、Netty
- 纯配置实现、无管理后台
- 支持TCP代理
## 1.5.0
- 管理后台新增用户管理、License管理、端口映射、调度管理、客户端连接日志、调度日志
- 支持默认sqlite数据库
- 底层框架Aop、Banner、SqlMapper、Ioc、@Value注解、Yml配置加载、静态资源服务等优化
- 底层框架新增@Async@Singleton等注解
- 新增AsgcCompiler、ApplicationEvent机制封装
## 1.6.0
- 新增日志管理模块,调度日志迁移至日志管理
- 管理后台新增登录日志
- 新增首页流量统计
## 1.6.4
- 支持代理服务端用户(删除/禁用)、端口池(删除/禁用/启用)、License(删除/禁用/启用)、端口映射(新增/删除/禁用/启用)实时生效
- 启动参数优化
- 服务端静态资源服务支持缓存、gzip压缩,提升响应速度
## 1.7.0
- 底层框架更换为Solon + MybatisPlus
## 1.7.1
- 针对管理后台各页面的排序、搜索条件的优化
- 增加端口池分组、相关的端口映射优化
- 增加了报表管理模块:用户流量报表、license流量报表、用户流量月度明细、license流量月度明细
- 完成首页图表展示:license统计、端口映射统计、今日流量统计、汇总流量统计、最近15日流量折线图
## 1.8.0
- 端口映射支持选择协议
- HTTP协议下映射支持配置子域名(前提是server端配置了域名)
## 1.8.2
- 增加HTTPS的支持。
## 1.8.3
- 客户端重连优化
- 服务端验证客户端身份逻辑优化
## 1.8.4
- 增加对mariadb的支持
- 服务端/客户端,支持配置文件、启动参数指定日志级别
- 客户端支持配置文件指定重连间隔,是否开启无限重连
## 1.8.5
- 后台端口池管理支持批量删除
- 端口映射下拉选择端口支持搜索
- 客户端/服务端配置增加心跳日志开关,有需要时开启,方便排查问题
- 客户端/服务端读写超时逻辑微调
## 1.8.6
- 端口映射选择端口支持分页
- 新增/更新端口映射,增加端口占用检测(端口映射编辑时,如果端口号没有变动,则不验证。避免出现端口映射正在使用时,无法更新端口映射其他信息的问题)
- 下拉搜索license,支持模糊搜索
- license下拉用户搜索,支持模糊搜索
- 端口映射HTTP(S)新增打开网页按钮
- 客户端断开连接时,记录日志空指针异常问题修复
## 1.9.0
- 端口映射支持UDP协议
- 端口映射HTTP(S)新增打开网页按钮,优先使用域名打开
- 新增/编辑端口映射时端口占用检测功能屏蔽,解决docker下使用的各种问题
# 2.x
## 2.0.0
- solon版本升级为`2.5.11`
- jdk版本升级为17
- 支持原生编译改造
- 默认支持的数据库由sqlite改为h2
+3 -3
View File
@@ -1,12 +1,12 @@
FROM openjdk:17-jdk-alpine
FROM openjdk:8-jdk-alpine
#同步时间
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
apk update && apk add wget unzip vim && apk add -U tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN mkdir -p /root/neutrino-proxy/config
WORKDIR /root/neutrino-proxy
COPY ./target/neutrino-proxy-client.jar /root/neutrino-proxy/neutrino-proxy-client.jar
COPY ./src/main/resources/app.yml /root/neutrino-proxy/config
COPY ../neutrino-proxy-client/target/neutrino-proxy-client.jar /root/neutrino-proxy/neutrino-proxy-client.jar
COPY ../neutrino-proxy-client/src/main/resources/app.yml /root/neutrino-proxy/config
#VOLUME ["/root/neutrino-proxy"]
ENTRYPOINT ["java","-jar","neutrino-proxy-client.jar","config=./config/app.yml"]
@@ -16,12 +16,12 @@ public class ProxyClient {
public static void main(String[] args) {
Solon.start(ProxyClient.class, args, app -> {
setAlias("neutrino.proxy.tunnel.server-ip", "serverIp");
setAlias("neutrino.proxy.tunnel.server-port", "serverPort");
setAlias("neutrino.proxy.tunnel.ssl-enable", "sslEnable");
setAlias("neutrino.proxy.tunnel.jks-path", "jksPath");
setAlias("neutrino.proxy.tunnel.key-store-password", "keyStorePassword");
setAlias("neutrino.proxy.tunnel.license-key", "licenseKey");
setAlias("neutrino.proxy.tunnel.serverIp", "serverIp");
setAlias("neutrino.proxy.tunnel.serverPort", "serverPort");
setAlias("neutrino.proxy.tunnel.sslEnable", "sslEnable");
setAlias("neutrino.proxy.tunnel.jksPath", "jksPath");
setAlias("neutrino.proxy.tunnel.keyStorePassword", "keyStorePassword");
setAlias("neutrino.proxy.tunnel.licenseKey", "licenseKey");
});
}
@@ -3,7 +3,7 @@ solon.logging.appender:
console:
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta(${PID:-}) --- %-15([%15.15thread]) %-56(%cyan(%-40.40logger{39}%L)) : %msg%n"
file:
enable: true
enable: false
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- %-15([%15.15thread]) %-56(%-40.40logger{39}%L) : %msg%n"
name: "logs/${neutrino.application.name}"
rolling: "logs/${neutrino.application.name}_%d{yyyy-MM-dd}_%i.log.gz"
@@ -25,6 +25,6 @@ public class NeutrinoCoreRuntimeNativeRegistrar implements RuntimeNativeRegistra
metadata.registerReflection(ProxyMessage.class, MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_DECLARED_METHODS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
metadata.registerReflection(ProxyMessage.UdpBaseInfo.class, MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_DECLARED_METHODS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
metadata.registerArg("--add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -march=compatibility");
metadata.registerArg("--add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED");
}
}
+6 -4
View File
@@ -1,13 +1,15 @@
FROM openjdk:17-jdk-alpine
FROM openjdk:8-jdk-alpine
#同步时间
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
apk update && apk add wget unzip vim && apk add -U tzdata && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN mkdir -p /root/neutrino-proxy/config
RUN mkdir -p /root/neutrino-proxy/neutrino-proxy-admin
WORKDIR /root/neutrino-proxy
COPY ./target/neutrino-proxy-server.jar /root/neutrino-proxy/neutrino-proxy-server.jar
COPY ./src/main/resources/app.yml /root/neutrino-proxy/config
COPY ../neutrino-proxy-server/target/neutrino-proxy-server.jar /root/neutrino-proxy/neutrino-proxy-server.jar
COPY ../neutrino-proxy-server/src/main/resources/app.yml /root/neutrino-proxy/config
COPY ../neutrino-proxy-admin/dist /root/neutrino-proxy/neutrino-proxy-admin/dist
#VOLUME ["/root/neutrino-proxy"]
ENTRYPOINT ["java","-jar","neutrino-proxy-server.jar","config=./config/app.yml"]
#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/aoshiguchen-docker-images:1.7
#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/aoshiguchen-docker-images:1.7
@@ -12,7 +12,7 @@ solon.logging.appender:
console:
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta(${PID:-}) --- %-15([%15.15thread]) %-56(%cyan(%-40.40logger{39}%L)) : %msg%n"
file:
enable: true
enable: false
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- %-15([%15.15thread]) %-56(%-40.40logger{39}%L) : %msg%n"
name: "logs/${solon.app.name}"
rolling: "logs/${solon.app.name}_%d{yyyy-MM-dd}_%i.log"
@@ -77,7 +77,7 @@ neutrino:
# 数据库类型,目前支持h2、mysql、mariadb
type: ${DB_TYPE:h2}
# 数据库连接URL
url: ${DB_URL:jdbc:h2:file:./data/db;MODE=MySQL;AUTO_SERVER=TRUE}
url: ${DB_URL:jdbc:h2:file:~/.neutrino-proxy/data/db;MODE=MySQL;AUTO_SERVER=TRUE}
# 数据库用户名
username: ${DB_USER:}
# 数据库密码
@@ -30,7 +30,7 @@ module.exports = {
{text: '后台操作指南', link: '/pages/793dcc/'},
]
},
{text: '支持', link: '/pages/a3f096/'},
{text: '演示', link: '/pages/db78e2/'},
{text: 'Gitee', link: 'https://gitee.com/dromara/neutrino-proxy'},
],
sidebarDepth: 2, // 侧边栏显示深度,默认1,最大2(显示到h3标题)
@@ -0,0 +1,58 @@
---
title: 常见问题汇总
date: 2023-07-01 13:35:00
permalink: /pages/a00001/
---
## 1. 客户端启动后连不上服务端,一直在重连
### 1.1. 启动日志包含`not found license-key config`相关字样
出现这种情况,说明客户端没获取到配置的license,可按如下检查:
- 客户端是否有配置app.yml,app.yml中是否有配置`license-key`
- 客户端启动参数是否指定app.yml配置,若未指定客户端不会加载任何jar外部的配置文件
- 客户端启动参数指定的配置文件路径是否正确?如:`java -jar neutrino-proxy-client.jar config=app.yml`,代表`app.yml`文件与jar在同级别目录下,如果不在同级别目录,请使用绝对/相对路径指定
- 除此之外license还可以用以下方法直接在启动参数中指定:
- `java -jar -DLICENSE_KEY=xxxx -DSERVER_IP=x.x.x.x -DSERVER_PORT=9000 -DSSL_ENABLE=false neutrino-proxy-client.jar`
- `java -jar neutrino-proxy-client.jar serverIp=x.x.x.x serverPort=9000 sslEnable=false licenseKey=xxxx`
### 1.2. 配置文件确定都已经配置,且启动参数正确指定了,但是没有出现`认证成功日志`
- 确认客户端配置的`server-ip`,必须是服务端所在机器的ip,且保证客户端所在机器能正常ping通
- 确认客户端配置的`server-port``ssl-enable`,默认情况应配置为9000、false或9002、true,除非服务端app.yml有改动隧道对外端口
- 确认服务端对外的9000、9002端口是否已经放开
- 服务端如果采用docker部署,需要确保容器的9000、9002端口映射到宿主机
## 2. 关于中微子代理涉及的2类SSL证书
### 2.1. HTTPS证书
该证书用于服务端支持HTTPS,若需要在服务端`app.yml`中配置即可
### 2.2. 隧道SSL证书
该证书用于对客户端-服务端之间的数据通信进行加密,因此客户端/服务端均需要配置该证书。可参考如下命令生成:
```
keytool -genkey -alias test1 -keyalg RSA -keysize 1024 -validity 3650 -keypass 123456 -storepass 123456 -keystore "./test.jks"
```
## 3. 1.9.0 版本udp代理无效
### 问题描述
代理本地udp端口9231,公网访问代理端口无效,代理端口测试发送成功,但是本地服务没有收到,使用路由器的ddns功能也可以成功代理。
### 解决方案
+ 防火墙开放端口的时候一定要指定udp协议
+ 还有如果想收到回复需要配置两个响应参数
+ 响应数量根据实际响应数量配置,可以配置的大一些,但是不能比实际小
+ 超时时间根据实际响应时间配置,比如正常响应时间是10s,这里就可以配置15000毫秒等
<img :src="$withBase('/img/run-example/question_3_1.png')"></img>
+ 相关链接:[1.9.0版本udp代理无效 · Issue #I83XOI · dromara/neutrino-proxy - Gitee.com](https://gitee.com/dromara/neutrino-proxy/issues/I83XOI)
+ 贡献者:gitee:眉黛如画
## 4. Vue项目出现Invalid Host header 的解决方案
### 问题描述
内网穿透 Vue项目出现Invalid Host header 的解决方案
### 解决方案
manifest.json中配置
```
"h5":{
"devServer":{
"disableHostCheck":true
}
},
```
+ 相关链接:[内网穿透 Vue项目出现Invalid Host header 的解决方案](https://blog.csdn.net/weixin_41549915/article/details/96132925)
+ 贡献者:wx:明天会更好
@@ -1,20 +0,0 @@
---
title: 客户端连接服务端失败
date: 2023-10-25 17:55:20
permalink: /pages/31d253/
---
## 1.1. 启动日志包含`not found license-key config`相关字样
出现这种情况,说明客户端没获取到配置的license,可按如下检查:
- 客户端是否有配置app.yml,app.yml中是否有配置`license-key`
- 客户端启动参数是否指定app.yml配置,若未指定客户端不会加载任何jar外部的配置文件
- 客户端启动参数指定的配置文件路径是否正确?如:`java -jar neutrino-proxy-client.jar config=app.yml`,代表`app.yml`文件与jar在同级别目录下,如果不在同级别目录,请使用绝对/相对路径指定
- 除此之外license还可以用以下方法直接在启动参数中指定:
- `java -jar -DLICENSE_KEY=xxxx -DSERVER_IP=x.x.x.x -DSERVER_PORT=9000 -DSSL_ENABLE=false neutrino-proxy-client.jar`
- `java -jar neutrino-proxy-client.jar serverIp=x.x.x.x serverPort=9000 sslEnable=false licenseKey=xxxx`
## 1.2. 配置文件确定都已经配置,且启动参数正确指定了,但是没有出现`认证成功日志`
- 确认客户端配置的`server-ip`,必须是服务端所在机器的ip,且保证客户端所在机器能正常ping通
- 确认客户端配置的`server-port``ssl-enable`,默认情况应配置为9000、false或9002、true,除非服务端app.yml有改动隧道对外端口
- 确认服务端对外的9000、9002端口是否已经放开
- 服务端如果采用docker部署,需要确保容器的9000、9002端口映射到宿主机
@@ -1,14 +0,0 @@
---
title: 易混淆的2类证书
date: 2023-10-25 17:56:59
permalink: /pages/e4c3d7/
---
## 2.1. HTTPS证书
该证书用于服务端支持HTTPS,若需要在服务端`app.yml`中配置即可
## 2.2. 隧道SSL证书
该证书用于对客户端-服务端之间的数据通信进行加密,因此客户端/服务端均需要配置该证书。可参考如下命令生成:
```
keytool -genkey -alias test1 -keyalg RSA -keysize 1024 -validity 3650 -keypass 123456 -storepass 123456 -keystore "./test.jks"
```
@@ -1,16 +0,0 @@
---
title: udp代理无效
date: 2023-10-25 17:58:35
permalink: /pages/7b990f/
---
## 问题描述
代理本地udp端口9231,公网访问代理端口无效,代理端口测试发送成功,但是本地服务没有收到,使用路由器的ddns功能也可以成功代理。
## 解决方案
+ 防火墙开放端口的时候一定要指定udp协议
+ 还有如果想收到回复需要配置两个响应参数
+ 响应数量根据实际响应数量配置,可以配置的大一些,但是不能比实际小
+ 超时时间根据实际响应时间配置,比如正常响应时间是10s,这里就可以配置15000毫秒等
<img :src="$withBase('/img/run-example/question_3_1.png')"></img>
+ 相关链接:[1.9.0版本udp代理无效 · Issue #I83XOI · dromara/neutrino-proxy - Gitee.com](https://gitee.com/dromara/neutrino-proxy/issues/I83XOI)
+ 贡献者:gitee:眉黛如画
@@ -1,19 +0,0 @@
---
title: Vue项目出现Invalid Host header 的解决方案
date: 2023-10-25 17:59:29
permalink: /pages/441163/
---
## 问题描述
内网穿透 Vue项目出现Invalid Host header 的解决方案
## 解决方案
manifest.json中配置
```
"h5":{
"devServer":{
"disableHostCheck":true
}
},
```
+ 相关链接:[内网穿透 Vue项目出现Invalid Host header 的解决方案](https://blog.csdn.net/weixin_41549915/article/details/96132925)
+ 贡献者:wx:明天会更好
@@ -0,0 +1,15 @@
---
title: 演示环境
date: 2020-05-12 15:10:15
permalink: /pages/db78e2
article: false
---
### 演示环境
> 由于部分用户使用演示环境代理非法网站导致演示环境服务器被封禁,因此不再提供演示服务。
可使用分配好的游客license试用。服务器带宽较低,仅供学习使用!
管理后台地址:<a href="http://103.163.47.16:9527" target="_blank">http://103.163.47.16:9527</a>
游客账号:visitor/123456
+4 -4
View File
@@ -23,10 +23,10 @@ features: # 可选的
details: 服务端支持Docker一键部署。
- title: 隧道SSL加密
details: 隧道通信支持SSL,保护您的数据安全
- title: 多种协议
details: 支持TCP、HTTP、HTTPS、UDP
- title: 原生部署
details: 支持原生部署,更简单、性能更好的使用体验
- title: HTTPS
details: 支持HTTPS
- title: 多客户端支持
details: 暂未支持
# 文章列表显示方式: detailed 默认,显示详细版文章列表(包括作者、分类、标签、摘要、分页等)| simple => 显示简约版文章列表(仅标题和日期)| none 不显示文章列表
postList: none
+1 -1
View File
@@ -76,7 +76,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
<version>5.1.49</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
-6
View File
@@ -44,9 +44,3 @@ cp -rf ./neutrino-proxy-admin/dist $adminDeployDir/
cp -rf ./neutrino-proxy-admin/dist/ $giteePagesDir
cd $serverDeployDir
zip -r neutrino-proxy-admin.zip "neutrino-proxy-admin/"
#拷贝到neutrino-proxy-server项目静态资源目录下
cd ../..
rm -rf ./neutrino-proxy-server/src/main/resources/static
mkdir -p neutrino-proxy-server/src/main/resources/static
cp -rf ./neutrino-proxy-admin/dist/ ./neutrino-proxy-server/src/main/resources/static
+7 -8
View File
@@ -1,7 +1,7 @@
#!/bin/sh
# 中微子代理客户端编译打包脚本,基础参数请自行修改
export JAVA_HOME=/Users/yangwen/my/service/graalvm/graalvm-community-openjdk-17.0.8+7.1/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
export MAVEN_HOME=/Users/yangwen/my/service/maven/apache-maven-3.8.1
export PATH=:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
@@ -11,13 +11,12 @@ clientDeployDir=$deployDir"/client"
#切到项目根目录
cd ../..
#初始化文件夹
#if [ ! -d "$deployDir" ];then
# mkdir $deployDir
#fi
#if [ ! -d "$clientDeployDir" ];then
# mkdir $clientDeployDir
#fi
mkdir -p $clientDeployDir
if [ ! -d "$deployDir" ];then
mkdir $deployDir
fi
if [ ! -d "$clientDeployDir" ];then
mkdir $clientDeployDir
fi
rm -rf $clientDeployDir/neutrino-proxy-client.jar
#客户端打包
mvn clean install -U -pl neutrino-proxy-client -am -Dmaven.test.skip=true
+17 -17
View File
@@ -1,29 +1,29 @@
#!/bin/sh
# 镜像版本,每次更新版本时需要调整
ImageVer=2.0.0
ImageVer=1.8.5
ImageName=neutrino-proxy-client
DockerFilePath=$PWD/../../neutrino-proxy-client
DockerFilePath=$PWD/../../neutrino-proxy-client/Dockerfile
##初始化文件夹
#deployDir=$PWD/../../"deploy"
#clientDeployDir=$deployDir"/client"
#if [ ! -d "$deployDir" ];then
# mkdir $deployDir
#fi
#if [ ! -d "$clientDeployDir" ];then
# mkdir $clientDeployDir
#fi
#rm -rf $clientDeployDir/$ImageName.tar
deployDir=$PWD/../../"deploy"
clientDeployDir=$deployDir"/client"
#切到项目根目录
#初始化文件夹
if [ ! -d "$deployDir" ];then
mkdir $deployDir
fi
if [ ! -d "$clientDeployDir" ];then
mkdir $clientDeployDir
fi
rm -rf $clientDeployDir/$ImageName.tar
#echo '打包jar...'
#sh ./client_build.sh
sh ./client_build.sh
# 删除老的本地镜像
docker rmi -f $(docker images | grep $ImageName | awk '{print $3}')
# 构建镜像
docker build -t $ImageName:$ImageVer -t $ImageName:latest $DockerFilePath
docker build -t $ImageName:$ImageVer -t $ImageName:latest -f $DockerFilePath $PWD/../..
# 保存镜像到本地
#docker save -o $clientDeployDir/$ImageName.tar $ImageName:$ImageVer
# docker run -it -e LICENSE_KEY=b0a907332b474b25897c4dcb31fc7eb6 -e SERVER_IP=host.docker.internal --name np-client neutrino-proxy-client:2.0.0
docker save -o $clientDeployDir/$ImageName.tar $ImageName:$ImageVer
+2 -2
View File
@@ -1,8 +1,8 @@
#!/bin/sh
# 中微子代理客户端启动脚本,基础参数请自行修改
JAVA_OPS="-server -Xms256m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/work/$NAME/heapError/"
export JAVA_HOME=/Users/yangwen/my/service/graalvm/graalvm-community-openjdk-17.0.8+7.1/Contents/Home
JAVA_OPS="-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/work/$NAME/heapError/"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
export PATH=:$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
mkdir -p /work/$NAME/heapError/
+7 -8
View File
@@ -1,7 +1,7 @@
#!/bin/sh
# 中微子代理服务端编译打包脚本,基础参数请自行修改
export JAVA_HOME=/Users/yangwen/my/service/graalvm/graalvm-community-openjdk-17.0.8+7.1/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
export MAVEN_HOME=/Users/yangwen/my/service/maven/apache-maven-3.8.1
export PATH=:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
@@ -11,13 +11,12 @@ serverDeployDir=$deployDir"/server"
#切到项目根目录
cd ../..
#初始化文件夹
#if [ ! -d "$deployDir" ];then
# mkdir $deployDir
#fi
#if [ ! -d "$serverDeployDir" ];then
# mkdir $serverDeployDir
#fi
mkdir -p $serverDeployDir
if [ ! -d "$deployDir" ];then
mkdir $deployDir
fi
if [ ! -d "$serverDeployDir" ];then
mkdir $serverDeployDir
fi
rm -rf $serverDeployDir/neutrino-proxy-server.jar
#服务端打包
+4 -5
View File
@@ -1,18 +1,17 @@
#!/bin/sh
# 镜像版本,每次更新版本时需要调整
ImageVer=2.0.0
ImageVer=1.0.0
ImageName=neutrino-proxy
DockerFilePath=$PWD/../../neutrino-proxy-server
DockerFilePath=$PWD/../..
#echo '打包管理后台...'
sh ./admin_build_docker.sh
#echo '打包jar...'
sh ./server_build.sh
#echo '打包管理后台...'
sh ./admin_build_docker.sh
# 删除老的本地镜像
docker rmi -f $(docker images | grep $ImageName | awk '{print $3}')
# 构建镜像
docker build -t $ImageName:$ImageVer -t $ImageName:latest $DockerFilePath
# docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 --name np-server neutrino-proxy:2.0.0
+2 -2
View File
@@ -1,8 +1,8 @@
#!/bin/sh
# 中微子代理服务端启动脚本,基础参数请自行修改
JAVA_OPS="-server -Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/work/$NAME/heapError/"
export JAVA_HOME=/Users/yangwen/my/service/graalvm/graalvm-community-openjdk-17.0.8+7.1/Contents/Home
JAVA_OPS="-server -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/work/$NAME/heapError/"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
export PATH=:$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
mkdir -p /work/$NAME/heapError/