diff --git a/.gitignore b/.gitignore index 5fb1825a..60a727db 100644 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,6 @@ hs_err_pid* **/gifs/ **/deploy/ -**/app-**.yml \ No newline at end of file +**/app-**.yml + +**/memo/** \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..533a797c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +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 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 \ No newline at end of file diff --git a/README.md b/README.md index 0e7e3921..6e79c61f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ # 1、简介 - 中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。 -- 技术栈:Solon、MybatisPlus +- 技术栈:Solon、MybatisPlus、Netty - 遵循MIT许可,因此您可以对它进行复制、修改、传播并用于任何个人或商业行为。 # 2、名称由来 @@ -148,6 +148,37 @@ neutrino.proxy.client.license-key=b0a907332b474b25897c4dcb31fc7eb6 - 微信: yuyunshize - Gitee: https://gitee.com/asgc/neutrino-proxy +# 10、贡献者列表 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ # ❤️ 感谢 * [Solon](https://gitee.com/noear/solon?from=NeutrinoProxy) * [Hutool](https://hutool.cn?from=NeutrinoProxy) diff --git a/bin/admin_build.sh b/bin/admin_build_dev.sh similarity index 88% rename from bin/admin_build.sh rename to bin/admin_build_dev.sh index b843861a..d1a4be1a 100644 --- a/bin/admin_build.sh +++ b/bin/admin_build_dev.sh @@ -2,7 +2,7 @@ # 中微子代理管理后台编译打包脚本,基础参数请自行修改 #环境 -env=docker +env=dev nvmDir=$HOME/.nvm nodeVersion=v13.12.0 deployDir="deploy" @@ -39,4 +39,5 @@ npm i npm run build:$env #拷贝 cd .. -cp -rf ./neutrino-proxy-admin/dist $adminDeployDir +cp -rf ./neutrino-proxy-admin/dist $adminDeployDir/ +cp -rf ./neutrino-proxy-admin/dist/ $giteePagesDir \ No newline at end of file diff --git a/bin/admin_build_docker.sh b/bin/admin_build_docker.sh new file mode 100644 index 00000000..44f5d63d --- /dev/null +++ b/bin/admin_build_docker.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# 中微子代理管理后台编译打包脚本,基础参数请自行修改 + +#环境 +env=docker +nvmDir=$HOME/.nvm +nodeVersion=v13.12.0 +deployDir="deploy" +serverDeployDir=$deployDir"/server" +adminDeployDir=$serverDeployDir"/neutrino-proxy-admin" +giteePagesDir=$deployDir"/gitee-pages" + +#设置nvm生效 +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + +#初始化文件夹 +cd .. +rm -rf $adminDeployDir +if [ ! -d "$deployDir" ];then + mkdir $deployDir +fi +if [ ! -d "$serverDeployDir" ];then + mkdir $serverDeployDir +fi +if [ ! -d "$adminDeployDir" ];then + mkdir $adminDeployDir +fi +#切node版本 +nvm use $nodeVersion +#进入admin项目目录 +cd ./neutrino-proxy-admin +#删除之前的build +rm -rf ./dist +#安装依赖 +npm i +#编译 +npm run build:$env +#拷贝 +cd .. +cp -rf ./neutrino-proxy-admin/dist $adminDeployDir/ +cp -rf ./neutrino-proxy-admin/dist/ $giteePagesDir \ No newline at end of file diff --git a/bin/client_build.sh b/bin/client_build.sh index d6df7fcd..d7e2312e 100644 --- a/bin/client_build.sh +++ b/bin/client_build.sh @@ -11,13 +11,13 @@ clientDeployDir=$deployDir"/client" #切到项目根目录 cd .. #初始化文件夹 -rm -rf $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 # 拷贝到deploy目录下 diff --git a/bin/server_build.sh b/bin/server_build.sh index 15bb8f32..875e8ff9 100644 --- a/bin/server_build.sh +++ b/bin/server_build.sh @@ -11,13 +11,14 @@ serverDeployDir=$deployDir"/server" #切到项目根目录 cd .. #初始化文件夹 -rm -rf $serverDeployDir if [ ! -d "$deployDir" ];then mkdir $deployDir fi if [ ! -d "$serverDeployDir" ];then mkdir $serverDeployDir fi +rm -rf $serverDeployDir/neutrino-proxy-server.jar + #客户端打包 mvn clean install -U -pl neutrino-proxy-server -am -Dmaven.test.skip=true # 拷贝到deploy目录下 diff --git a/neutrino-proxy-admin/favicon.ico b/neutrino-proxy-admin/favicon.ico old mode 100644 new mode 100755 index 4b526ba9..f7240fb6 Binary files a/neutrino-proxy-admin/favicon.ico and b/neutrino-proxy-admin/favicon.ico differ diff --git a/neutrino-proxy-admin/src/api/portGroup.js b/neutrino-proxy-admin/src/api/portGroup.js new file mode 100644 index 00000000..c7d5d81b --- /dev/null +++ b/neutrino-proxy-admin/src/api/portGroup.js @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +export function fetchList(query) { + return request({ + url: '/port-group/page', + method: 'get', + params: query + }) +} + +export function portGroupList() { + return request({ + url: '/port-group/list', + method: 'get' + }) +} + +export function updateEnableStatus(id, enable) { + return request({ + url: '/port-group/update/enable-status', + method: 'post', + data: { + id: id, + enable: enable + } + }) +} + +export function createPortGroup(data) { + return request({ + url: '/port-group/create', + method: 'post', + data + }) +} + +export function deleteGroup(id) { + return request({ + url: '/port-group/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/neutrino-proxy-admin/src/api/portPool.js b/neutrino-proxy-admin/src/api/portPool.js index 0d6115c8..7dc48ba3 100644 --- a/neutrino-proxy-admin/src/api/portPool.js +++ b/neutrino-proxy-admin/src/api/portPool.js @@ -14,6 +14,15 @@ export function portPoolList() { method: 'get' }) } +export function availablePortList(licenseId) { + return request({ + url: '/port-pool/get-available-port-list', + method: 'get', + params: { + licenseId: licenseId + } + }) +} export function updateEnableStatus(id, enable) { return request({ diff --git a/neutrino-proxy-admin/src/lang/zh.js b/neutrino-proxy-admin/src/lang/zh.js index e021cbf8..92d042cf 100644 --- a/neutrino-proxy-admin/src/lang/zh.js +++ b/neutrino-proxy-admin/src/lang/zh.js @@ -48,6 +48,7 @@ export default { user: '用户管理', system: '系统管理', portPool: '端口池管理', + portGroup: '端口分组管理', proxy: '代理配置', license: 'License管理', portMapping: '端口映射', @@ -118,6 +119,11 @@ export default { confirm: '确 定', userId: '用户ID', userName: '用户名', + group: '分组', + groupName: '分组名称', + groupPossessor: '分组所属', + possessorType: '所属类', + possessorId: '分组所属', license: 'License', createTime: '创建时间', updateTime: '更新时间', diff --git a/neutrino-proxy-admin/src/router/index.js b/neutrino-proxy-admin/src/router/index.js index 7e44c8d4..020c9374 100644 --- a/neutrino-proxy-admin/src/router/index.js +++ b/neutrino-proxy-admin/src/router/index.js @@ -75,6 +75,7 @@ export const asyncRouterMap = [ }, children: [ { path: 'user', component: _import('system/user'), name: 'user', meta: { title: 'user' }}, + { path: 'portGroup', component: _import('system/portGroup'), name: 'portGroup', meta: { title: 'portGroup' }}, { path: 'portPool', component: _import('system/portPool'), name: 'portPool', meta: { title: 'portPool' }}, { path: 'jobManager', component: _import('system/jobManager'), name: 'jobManager', meta: { title: 'jobManager' }} ] diff --git a/neutrino-proxy-admin/src/views/log/clientConnectLog.vue b/neutrino-proxy-admin/src/views/log/clientConnectLog.vue index dea91b46..45d3731f 100644 --- a/neutrino-proxy-admin/src/views/log/clientConnectLog.vue +++ b/neutrino-proxy-admin/src/views/log/clientConnectLog.vue @@ -48,8 +48,8 @@
- +
@@ -80,8 +80,8 @@ export default { total: null, listLoading: false, listQuery: { - currentPage: 1, - pageSize: 10, + current: 1, + size: 10, jobId: undefined }, dialogVisible: false, diff --git a/neutrino-proxy-admin/src/views/log/jobLog.vue b/neutrino-proxy-admin/src/views/log/jobLog.vue index 76dffcc2..33b9182b 100644 --- a/neutrino-proxy-admin/src/views/log/jobLog.vue +++ b/neutrino-proxy-admin/src/views/log/jobLog.vue @@ -46,8 +46,8 @@ -->
- +
@@ -79,8 +79,8 @@ export default { total: null, listLoading: false, listQuery: { - currentPage: 1, - pageSize: 10, + current: 1, + size: 10, jobId: undefined }, jobList: [], diff --git a/neutrino-proxy-admin/src/views/log/loginLog.vue b/neutrino-proxy-admin/src/views/log/loginLog.vue index 9ea21d1b..d4ace377 100644 --- a/neutrino-proxy-admin/src/views/log/loginLog.vue +++ b/neutrino-proxy-admin/src/views/log/loginLog.vue @@ -28,8 +28,8 @@
- +
@@ -51,8 +51,8 @@ export default { total: null, listLoading: false, listQuery: { - currentPage: 1, - pageSize: 10, + current: 1, + size: 10, jobId: undefined } } diff --git a/neutrino-proxy-admin/src/views/proxy/license.vue b/neutrino-proxy-admin/src/views/proxy/license.vue index 620a8b17..306ad48d 100644 --- a/neutrino-proxy-admin/src/views/proxy/license.vue +++ b/neutrino-proxy-admin/src/views/proxy/license.vue @@ -1,6 +1,15 @@ + + +