Merge remote-tracking branch 'origin/feature/1.7.1' into feature/1.7.1
This commit is contained in:
@@ -133,8 +133,8 @@ module.exports = {
|
||||
// archive: false, // 是否打开归档功能,默认true。 如打开,会做的事情有:1.自动生成归档页面(在@pages文件夹)。如关闭,则反之。
|
||||
|
||||
author: { // 文章默认的作者信息,可在md文件中单独配置此信息 String | {name: String, href: String}
|
||||
name: 'Evan Xu', // 必需
|
||||
href: 'https://github.com/xugaoyi' // 可选的
|
||||
name: '傲世孤尘', // 必需
|
||||
href: 'https://gitee.com/dromara/neutrino-proxy' // 可选的
|
||||
},
|
||||
social: { // 社交图标,显示于博主信息栏和页脚栏
|
||||
// iconfontCssFile: '//at.alicdn.com/t/font_1678482_u4nrnp8xp6g.css', // 可选,阿里图标库在线css文件地址,对于主题没有的图标可自由添加
|
||||
|
||||
@@ -46,7 +46,7 @@ module.exports = {
|
||||
</style>
|
||||
`,
|
||||
// 赞助商广告
|
||||
sidebarT: `<a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="https://cdn.staticaly.com/gh/xugaoyi/blog-gitalk-comment@master/img/431669861564_.2470ykdcpbds.jpg" alt="npm" class="no-zoom" style="width: 100%;border-radius: 2px;"></a>`,
|
||||
// sidebarT: `<a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="https://cdn.staticaly.com/gh/xugaoyi/blog-gitalk-comment@master/img/431669861564_.2470ykdcpbds.jpg" alt="npm" class="no-zoom" style="width: 100%;border-radius: 2px;"></a>`,
|
||||
|
||||
|
||||
// windowRB: `
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 521 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 276 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 183 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 216 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 425 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 202 KiB |
@@ -7,7 +7,7 @@ article: false
|
||||
|
||||
## 1. 打包
|
||||
可直接前往Gitee仓库发行版页面下载所需版本已打好的包。若需手动打包,则可参照下面的执行命令:
|
||||
```
|
||||
```text
|
||||
# 服务端打包
|
||||
mvn clean install -U -pl neutrino-proxy-server -am -Dmaven.test.skip=true
|
||||
|
||||
@@ -23,7 +23,7 @@ npm run build:local
|
||||
- 使用常规的jar包部署方式即可,如:java -jar xxxx
|
||||
### 2.4 管理后台部署
|
||||
- Nginx方式部署(推荐):
|
||||
````
|
||||
```conf
|
||||
server {
|
||||
listen 9527;
|
||||
server_name localhost;
|
||||
@@ -50,26 +50,77 @@ server {
|
||||
````
|
||||
- 无nginx时
|
||||
在没有Nginx时,为了快速体验代理效果,可直接使用服务端项目提供的静态资源服务。直接将neutrino-proxy-admin打包后的文件解压放在neutrino-proxy-server.jar同级别目录下即可。例如:服务端配置的web端口为8080,则访问http://服务端IP:8080, 则会直接解析渲染neutrino-proxy-server.jar同级别目录下neutrino-proxy-admin/dist/index.html。
|
||||
-
|
||||
|
||||
::: warning
|
||||
需要注意的是,使用服务端自带的静态资源服务时,由于框架目前未支持缓存、gzip压缩,所以访问速度没有使用nginx快,正式使用推荐用nginx。
|
||||
:::
|
||||
|
||||
## 使用Vdoing主题
|
||||
## 3.配置
|
||||
|
||||
1. 安装最新的Vdoing主题包:
|
||||
```sh
|
||||
npm install vuepress-theme-vdoing -D
|
||||
```
|
||||
### 3.1 配置端口池
|
||||
端口池的作用是将代理服务需要对外暴露的端口进行集中管理,方便安全组设置时统一操作。
|
||||
|
||||
2. 在`.vuepress/config.js`中配置使用主题:
|
||||
```js
|
||||
// config.js
|
||||
module.exports = {
|
||||
theme: 'vdoing'
|
||||
本项目为了简化首次配置,默认初始化数据会将9101~9120的所有端口加入端口池。可以在服务端项目sql配置(port_pool.data.sql文件)中自行修改初始化数据,也可以运行后在端口池管理页面手动维护。
|
||||
|
||||
首次使用如果为了快速体验,建议直接使用默认端口池,则无需任何配置。
|
||||
|
||||
### 3.2 配置License
|
||||
License是客户端连接代理服务端时所需要的唯一合法凭证,一个License同时只能被一个客户端使用。
|
||||
|
||||
本项目为了简化首次配置,默认为每个用户初始化了一些license。可以在服务端项目sql配置(license.data.sql文件)中自行修改初始化数据,也可以运行后在License管理页面手动维护。
|
||||
|
||||
首次使用如果为了快速体验,建议直接使用默认License,则无需任何配置。
|
||||
|
||||
### 3.3 配置端口映射
|
||||
端口映射是代理的基本单元,一个外网端口在同一时刻被唯一的映射到一个内网IP+端口。所有流出该外网端口的流量都转发自对应的内网端口,同理所有流入该外网端口的流量都会转发到对应的内网端口。
|
||||
|
||||
本项目为了简化首次配置,默认为每个用户初始化了一些端口映射。可以在服务端项目sql配置(port_mapping.data.sql文件)中自行修改初始化数据,也可以运行后在端口映射管理页面手动维护。
|
||||
|
||||
首次使用如果为了快速体验,建议直接使用默认端口映射,则无需任何配置。
|
||||
|
||||
### 3.4 开启代理
|
||||
上述步骤完成后,就可以开始代理自己的局域网设备了。
|
||||
|
||||
比如现在有一个license:a123456,该license配置了一个或多个端口映射,其中包含9010到localhost:8080的映射(localhost表示代理客户端所在主机的端口,可以换成客户端所在局域网的任何IP)。此时修改客户端配置的服务端ip、license等启动客户端,就可以开启代理了,端口映射管理对应的记录在线状态为"在线"则证明代理成功建立。
|
||||
|
||||
该license配置也可以通过客户端启动参数、启动后引导式输入、外置配置提供,为了简化首次体验门槛,这里直接提供一个外置配置模版:
|
||||
```json
|
||||
{
|
||||
"jksPath":"classpath:/test.jks",
|
||||
"licenseKey":"b0a907332b474b25897c4dcb31fc7eb6",
|
||||
"serverIp":"localhost",
|
||||
"serverPort":9002,
|
||||
"sslEnable":true
|
||||
}
|
||||
```
|
||||
修改上述json中的licenseKey,serverIp、serverPort、sslEnabled后,保存文件命名为<font color="#9b6e23">.neutrino-proxy-client.json</font>,放在客户端当前目录下(jar包启动时,放在jar包同级别目录下。idea启动时,放在项目根目录下),然后直接启动客户端。
|
||||
|
||||
此时通过访问外网ip+端口,可以成功访问内网服务。通过此方式,可以代理任何基于TCP之上的协议,如:socket、websocket、http、ftp、ssh等。
|
||||
|
||||
## 4.开发&调试
|
||||
篇幅所限,此处不便赘述管理后台相关的开发,有vue基础的童鞋基本都可以自行开发。服务端的初始化数据足够调试工作,开发过程无需单独在管理页面操作。
|
||||
|
||||
与SpringBoot项目类似,客户端、服务端项目均由一个入口类完成整个项目的启动,分别为ProxyClient、ProxyServer。
|
||||
|
||||
内置配置采用yml风格,主要涉及Http端口、静态资源路径、协议参数、代理服务端端口、jks证书、数据源、license等。整个项目基于neutrino-core,风格类似于SpringBoot。笔者不喜欢因过分炫技而引入过多花式操作,因为项目的定位是个人开发者,且满足使用的同时兼顾学习其原理的需求。基本使用方式与SpringBoot类似,尽可能降低首次学习成本。
|
||||
|
||||
neutrino-core项目test目录下包含众多核心封装的测试代码,通过调试这些代码,能尽可能减少大家学习的障碍。
|
||||
|
||||
|
||||
## 5.运行截图
|
||||
### 用户管理
|
||||
<img src="/img/run-example/user-manager1.png"></img>
|
||||
### 端口池管理
|
||||
<img src="/img/run-example/port-pool1.png"></img>
|
||||
### License管理
|
||||
<img src="/img/run-example/license1.png"></img>
|
||||
### 端口映射管理
|
||||
<img src="/img/run-example/port-mapping1.png"></img>
|
||||
### 客户端启动示例
|
||||
<img src="/img/run-example/client-run1.png"></img>
|
||||
|
||||
<!--
|
||||
## 4.开发&调试
|
||||
|
||||
::: tip
|
||||
1. 不建议在原默认vuepress项目上单独安装使用本主题包,而是clone我的整个项目再替换你自己的内容即可。
|
||||
@@ -96,3 +147,4 @@ module.exports = {
|
||||
}
|
||||
```
|
||||
:::
|
||||
-->
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
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
|
||||
@@ -1,208 +0,0 @@
|
||||
---
|
||||
title: 资源
|
||||
date: 2020-05-12 15:10:15
|
||||
permalink: /pages/db78e2
|
||||
article: false
|
||||
---
|
||||
|
||||
## 插件推荐
|
||||
|
||||
* [vuepress-plugin-fulltext-search](https://github.com/leo-buneev/vuepress-plugin-fulltext-search) 全文搜索
|
||||
|
||||
* [vuepress-plugin-thirdparty-search](https://github.com/xugaoyi/vuepress-plugin-thirdparty-search) 可以添加第三方搜索链接的搜索框
|
||||
|
||||
* [vuepress-plugin-one-click-copy](https://www.npmjs.com/package/vuepress-plugin-one-click-copy) 代码块一键复制
|
||||
|
||||
* [vuepress-plugin-comment](https://github.com/dongyuanxin/vuepress-plugin-comment) 评论区
|
||||
|
||||
* [vuepress-plugin-vssue](https://vssue.js.org/) 评论区(单页)
|
||||
|
||||
* [vuepress-plugin-vssue-global](https://github.com/u2sb/vuepress-plugin-vssue-global) 评论区(全局)
|
||||
|
||||
* [vuepress-plugin-smplayer](https://github.com/u2sb/vuepress-plugin-smplayer) 播放器
|
||||
|
||||
* [vuepress-plugin-flowchart](https://www.npmjs.com/package/vuepress-plugin-flowchart) 流程图
|
||||
|
||||
* [vuepress-plugin-mathjax](https://www.npmjs.com/package/vuepress-plugin-mathjax) 数学公式
|
||||
|
||||
* [vuepress-plugin-tabs](https://www.npmjs.com/package/vuepress-plugin-tabs/) 选项卡
|
||||
|
||||
* [vuepress-plugin-element-ui](https://www.npmjs.com/package/vuepress-plugin-element-ui/) Element UI
|
||||
|
||||
* [花里胡哨的插件](https://moefyit.github.io/moefy-vuepress/) 鼠标点击特效、背景彩带、音乐播放器等花里胡哨的插件
|
||||
|
||||
**更多插件...**
|
||||
|
||||
- [Awesome VuePress](https://github.com/vuepressjs/awesome-vuepress)
|
||||
|
||||
- [在npm中搜索"vuepress–plugin"](https://www.npmjs.com/search?q=vuepress%E2%80%93plugin)
|
||||
|
||||
|
||||
## 社区优秀解决方案
|
||||
|
||||
### [1. 站点信息模块](https://notes.youngkbt.cn/about/website/info/)
|
||||
在首页添加`站点信息模块`,效果:
|
||||
|
||||

|
||||
|
||||
在文章页添加`文章字数`、`阅读时间`、`浏览量`,效果:
|
||||
|
||||

|
||||
|
||||
### [2. 私密文章功能](https://notes.youngkbt.cn/about/website/private/)
|
||||
|
||||
当大家想要「云端备份」文章到博客时,又不希望别人看到,该功能能满足你。
|
||||
|
||||
### [3. 首页大图模块](https://notes.youngkbt.cn/about/website/index-big-img/)
|
||||
|
||||
喜欢首页大图模式的朋友可以参考此教程。
|
||||
|
||||
### [4. 优雅的全文搜索方案](https://wiki.eryajf.net/pages/dfc792/#%E5%89%8D%E8%A8%80)
|
||||
|
||||
|
||||
|
||||
## 文章管理和发布
|
||||
|
||||
使用 [此插件 src-sy-post-publisher](https://github.com/terwer/src-sy-post-publisher) 发布[思源笔记](https://b3log.org/siyuan/)的文章到Vuepress等平台。
|
||||
|
||||
## 图标&配图
|
||||
|
||||
说明:以下图标**非主题内置**,你可以选择喜欢的图标右键保存或到图标库下载。更多图标:[阿里图标库](https://www.iconfont.cn/home/index)
|
||||
|
||||
### 静态图标
|
||||
<table class="icons-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/编程.png" width=60>
|
||||
<p class="name">编程</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/服务器.png" width=60>
|
||||
<p class="name">服务器</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/机器学习.png" width=60>
|
||||
<p class="name">机器学习</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/计算机网络.png" width=60>
|
||||
<p class="name">计算机网络</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/面向对象.png" width=60>
|
||||
<p class="name">面向对象</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/软件开发.png" width=60>
|
||||
<p class="name">软件开发</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/数据结构.png" width=60>
|
||||
<p class="name">数据结构</p>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/数据库.png" width=60>
|
||||
<p class="name">数据库</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/思维导图.png" width=60>
|
||||
<p class="name">思维导图</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/算法.png" width=60>
|
||||
<p class="name">算法</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/网络技术.png" width=60>
|
||||
<p class="name">网络技术</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/系统.png" width=60>
|
||||
<p class="name">系统</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/系统分析.png" width=60>
|
||||
<p class="name">系统分析</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/png/项目管理.png" width=60>
|
||||
<p class="name">项目管理</p>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<style>
|
||||
.icons-table td{
|
||||
padding: 1em;
|
||||
}
|
||||
.icons-table p.name{
|
||||
font-size: 14px;
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
### 萌系图标
|
||||
|
||||
- [猫咪系列](https://www.iconfont.cn/collections/detail?spm=a313x.7781069.1998910419.dc64b3430&cid=37776)
|
||||
</br>
|
||||
- [数码宝贝](https://www.iconfont.cn/collections/detail?spm=a313x.7781069.1998910419.dc64b3430&cid=38124)
|
||||

|
||||
- [水果系列](https://www.iconfont.cn/collections/detail?spm=a313x.7781069.1998910419.dc64b3430&cid=38124)
|
||||

|
||||
|
||||
|
||||
### 动态图标
|
||||
<table class="icons-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/gif/猫1.gif" width=60>
|
||||
<p class="name">猫1</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/gif/猫2.gif" width=60>
|
||||
<p class="name">猫2</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/gif/猫3.gif" width=60>
|
||||
<p class="name">猫3</p>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<img src="/img/gif/猫4.gif" width=60>
|
||||
<p class="name">猫4</p>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### 插画
|
||||
[免费插画](https://undraw.co/illustrations)</br>
|
||||
[2D/3D/手绘插画](https://storytale.io/)</br>
|
||||
[阿里插画库](https://www.iconfont.cn/illustrations/index)</br>
|
||||
|
||||
### 配图
|
||||
[可画-文章配图](https://www.canva.cn/)
|
||||
|
||||
### Logo
|
||||
[logo生成1](https://www.designevo.com/logo-maker/)</br>
|
||||
[logo生成2](https://instantlogodesign.com/)
|
||||
|
||||
### Emoji表情
|
||||
[Emoji百科](https://emojipedia.org/)
|
||||
|
||||
::: tip 小技巧
|
||||
在任意输入框快速打开emoji表情方法:</br>
|
||||
Windows系统下按<kbd>Win</kbd> + <kbd>.</kbd></br>
|
||||
Mac系统下按<kbd>Control</kbd> + <kbd>Command</kbd> + <kbd>空格</kbd>
|
||||
:::
|
||||
|
||||
## 共享资源
|
||||
如果您有不错的资源,欢迎在 [资源分享区](https://github.com/xugaoyi/vuepress-theme-vdoing/discussions/categories/%E8%B5%84%E6%BA%90%E5%88%86%E4%BA%AB) 留言。
|
||||
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="/img/Apifox-860x320.png" alt="npm" class="no-zoom" style="width: 100%;border-radius: 2px;"></a>
|
||||
Reference in New Issue
Block a user