-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
249 lines (190 loc) · 83.2 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>docker版v2raya安装</title>
<url>/2023/08/24/docker%E7%89%88v2raya%E5%AE%89%E8%A3%85/</url>
<content><![CDATA[<h3 id="1-简介"><a href="#1-简介" class="headerlink" title="1.简介"></a>1.简介</h3><p>v2ray无论是客户端还是服务器,其实用的都是v2raycore,只是流入流出的方向不同。但其配置比较繁琐,服务器端可以使用<a href="https://intmainreturn0.com/v2ray-config-gen/">v2ray配置生成器</a>来生成配置文件,但是客户端需要考虑分流,节点导入等各种功能,对于新手(即使老手)来说简直地狱难度,好在有大佬开发了客户端,这样就可以在图像化界面下,点点鼠标,输点东西就可以了。</p>
<p>windows下可以使用<a href="https://github.com/2dust/v2rayN">v2rayN</a>作为客户端,Linux下就可以使用本次介绍的<a href="https://github.com/v2rayA/v2rayA">v2rayA</a>了(当然v2rayA是一个web客户端,基本所有的系统都可以使用)</p>
<h3 id="2-安装"><a href="#2-安装" class="headerlink" title="2.安装"></a>2.安装</h3><p>本次采用docker安装,可以参考<a href="https://v2raya.org/">v2rayA官方文档</a></p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> /docker/v2raya</span><br><span class="line"><span class="comment"># 不使用全局代理</span></span><br><span class="line">docker run -d \</span><br><span class="line"> -p 2017:2017 \</span><br><span class="line"> -p 20170-20172:20170-20172 \</span><br><span class="line"> --restart=always \</span><br><span class="line"> --name v2raya \</span><br><span class="line"> -e TZ=<span class="string">"Asia/Shanghai"</span> \</span><br><span class="line"> -e V2RAYA_LOG_FILE=/etc/v2raya/v2raya.<span class="built_in">log</span> \ <span class="comment">#这里指定的是容器内日志的位置</span></span><br><span class="line"> -v /docker/v2raya:/etc/v2raya \</span><br><span class="line"> mzz2017/v2raya</span><br><span class="line"><span class="comment"># 使用全局代理</span></span><br><span class="line">docker run -d \</span><br><span class="line"> --restart=always \</span><br><span class="line"> --privileged \</span><br><span class="line"> --network=host \</span><br><span class="line"> --name v2raya \</span><br><span class="line"> -e TZ=<span class="string">"Asia/Shanghai"</span> \</span><br><span class="line"> -e V2RAYA_LOG_FILE=/etc/v2raya/v2raya.<span class="built_in">log</span> \</span><br><span class="line"> -v /lib/modules:/lib/modules:ro \</span><br><span class="line"> -v /etc/resolv.conf:/etc/resolv.conf \</span><br><span class="line"> -v /etc/v2raya:/etc/v2raya \</span><br><span class="line"> mzz2017/v2raya</span><br></pre></td></tr></table></figure>
<h3 id="3-配置"><a href="#3-配置" class="headerlink" title="3.配置"></a>3.配置</h3><p>v2raya的web端口是2017,因此浏览器输入 你的IP:2017即可进入v2raya的配置页面</p>
<h4 id="3-1-配置用户"><a href="#3-1-配置用户" class="headerlink" title="3.1.配置用户"></a>3.1.配置用户</h4><p>进入之后,弹出让创建用户,填入用户名和密码(别忘记了,虽然能改,但比较麻烦)</p>
<h4 id="3-2-配置节点"><a href="#3-2-配置节点" class="headerlink" title="3.2.配置节点"></a>3.2.配置节点</h4><p>节点可以导入,也可以创建。订阅了机场的话,就导入订阅连接,没有机场的话,就创建一个。</p>
<h4 id="3-3-配置端口分流等"><a href="#3-3-配置端口分流等" class="headerlink" title="3.3.配置端口分流等"></a>3.3.配置端口分流等</h4><p>点击右上角设置</p>
<p><img src="/2023/08/24/docker%E7%89%88v2raya%E5%AE%89%E8%A3%85/image-20230805194434365.png" alt="image-20230805194434365"></p>
<p><img src="/2023/08/24/docker%E7%89%88v2raya%E5%AE%89%E8%A3%85/image-20230805194621523.png" alt="image-20230805194621523"></p>
<h4 id="3-4-启动"><a href="#3-4-启动" class="headerlink" title="3.4.启动"></a>3.4.启动</h4><p><img src="/2023/08/24/docker%E7%89%88v2raya%E5%AE%89%E8%A3%85/image-20230805195041827.png" alt="image-20230805195041827"></p>
<p>启动后,右上角的启动会变成正在运行</p>
]]></content>
<categories>
<category>魔法上网</category>
</categories>
</entry>
<entry>
<title>Hexo和Github配合搭建个人博客</title>
<url>/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/</url>
<content><![CDATA[<h3 id="1-软件安装"><a href="#1-软件安装" class="headerlink" title="1.软件安装"></a>1.软件安装</h3><h4 id="1-1-安装Node-js"><a href="#1-1-安装Node-js" class="headerlink" title="1.1.安装Node.js"></a>1.1.安装Node.js</h4><p><a href="https://nodejs.org/en/download">Node.js下载</a></p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 验证是否安装成功</span></span><br><span class="line">node -v</span><br><span class="line">npm -v</span><br></pre></td></tr></table></figure>
<p>修改NPM源为国内源</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 查看当前源地址</span></span><br><span class="line">npm config get registry</span><br><span class="line"><span class="comment"># 设为国内淘宝npm源地址</span></span><br><span class="line">npm config <span class="built_in">set</span> registry https://registry.npm.taobao.org</span><br><span class="line"><span class="comment"># 设回源地址</span></span><br><span class="line">npm config <span class="built_in">set</span> registry https://registry.npmjs.org/</span><br></pre></td></tr></table></figure>
<p>NPM常用命令</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 安装插件</span></span><br><span class="line">npm install hexo-deployer-git</span><br><span class="line"><span class="comment"># 安装全局插件,全局插件不受所在目录的限制</span></span><br><span class="line">npm install -g hexo-cli</span><br><span class="line"><span class="comment"># 查看安装的插件,-g查看全局,</span></span><br><span class="line">npm list -g</span><br><span class="line">npm list</span><br></pre></td></tr></table></figure>
<h4 id="1-2-安装git"><a href="#1-2-安装git" class="headerlink" title="1.2.安装git"></a>1.2.安装git</h4><p><a href="https://git-scm.com/downloads">git下载</a></p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 验证是否安装成功</span></span><br><span class="line">git --version</span><br></pre></td></tr></table></figure>
<h4 id="1-3-安装hexo"><a href="#1-3-安装hexo" class="headerlink" title="1.3.安装hexo"></a>1.3.安装hexo</h4><p>进入你要部署博客所在的分区(例如D盘),鼠标右键,Git Bash Here</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">npm install -g hexo-cli</span><br></pre></td></tr></table></figure>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230818081850029.png" alt="image-20230818081850029"></p>
<h3 id="2-hexo初体验"><a href="#2-hexo初体验" class="headerlink" title="2.hexo初体验"></a>2.hexo初体验</h3><h4 id="2-1-hexo初始化"><a href="#2-1-hexo初始化" class="headerlink" title="2.1.hexo初始化"></a>2.1.hexo初始化</h4><p>进入你要部署博客所在的分区(例如D盘),鼠标邮件,Git Bash Here</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 如果在D盘执行,就会在D盘下面新建一个myblog文件夹,并把初始化的东西放进去</span></span><br><span class="line">hexo init myblog</span><br><span class="line"><span class="comment"># 安装hexo所需要的插件(只安装这个目录下)</span></span><br><span class="line">npm install</span><br></pre></td></tr></table></figure>
<p>报如下错误后,可能是源里面不含此版本的包,改回官方地址源后解决</p>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230818083506745.png" alt="image-20230818083506745"></p>
<h4 id="2-2-预览"><a href="#2-2-预览" class="headerlink" title="2.2.预览"></a>2.2.预览</h4><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 生成静态网页</span></span><br><span class="line">hexo g</span><br><span class="line"><span class="comment"># 打开本地服务</span></span><br><span class="line">hexo s</span><br><span class="line"><span class="comment"># 如果4000端口被占用,可以指定端口</span></span><br><span class="line">hexo server -p 5000</span><br></pre></td></tr></table></figure>
<p>通过<a href="http://localhost:4000即可访问hexo">http://localhost:4000即可访问hexo</a></p>
<h3 id="3-修改主题"><a href="#3-修改主题" class="headerlink" title="3.修改主题"></a>3.修改主题</h3><h4 id="3-1-下载主题"><a href="#3-1-下载主题" class="headerlink" title="3.1.下载主题"></a>3.1.下载主题</h4><p>可以参考<a href="https://github.com/theme-next/hexo-theme-next/blob/master/docs/zh-CN/INSTALLATION.md">hexo官方安装文档</a></p>
<p>在D:/myblog下,鼠标邮件,Git Bash Here。此方式会下载所有next的版本</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">git <span class="built_in">clone</span> https://github.com/theme-next/hexo-theme-next themes/next</span><br><span class="line"><span class="comment"># 查看tags列表</span></span><br><span class="line"><span class="built_in">cd</span> themes/next</span><br><span class="line">git tag -l</span><br><span class="line"><span class="comment"># 如果你参考的配置文档是基于更老版本的,可以checkout过去</span></span><br><span class="line">git checkout tags/v6.0.1</span><br><span class="line"><span class="comment"># 切换会master分支</span></span><br><span class="line">git checkout master</span><br></pre></td></tr></table></figure>
<h4 id="3-2-更换主题"><a href="#3-2-更换主题" class="headerlink" title="3.2.更换主题"></a>3.2.更换主题</h4><p>修改D:\myblog\_config.yml文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">theme:</span> <span class="string">landscape</span></span><br><span class="line"><span class="comment"># 修改为</span></span><br><span class="line"><span class="attr">theme:</span> <span class="string">next</span></span><br></pre></td></tr></table></figure>
<h4 id="3-3-预览"><a href="#3-3-预览" class="headerlink" title="3.3.预览"></a>3.3.预览</h4><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">hexo g</span><br><span class="line">hexo s</span><br><span class="line"><span class="comment"># 127.0.0.1:4000</span></span><br></pre></td></tr></table></figure>
<h3 id="4-配置"><a href="#4-配置" class="headerlink" title="4.配置"></a>4.配置</h3><p>配置文件分两种:</p>
<ol>
<li>全局配置文件,位于站点根目录,.\_config.yml</li>
<li>主题配置文件,位于主题目录下,.\themes\next_config.yml</li>
</ol>
<h4 id="4-1-配置next风格"><a href="#4-1-配置next风格" class="headerlink" title="4.1.配置next风格"></a>4.1.配置next风格</h4><p>修改主题配置文件,把#去掉就启动了对应的风格</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="comment"># Schemes</span></span><br><span class="line"><span class="comment">#scheme: Muse</span></span><br><span class="line"><span class="comment">#scheme: Mist</span></span><br><span class="line"><span class="comment">#scheme: Pisces</span></span><br><span class="line"><span class="attr">scheme:</span> <span class="string">Gemini</span></span><br></pre></td></tr></table></figure>
<h4 id="4-2-修改全局配置site"><a href="#4-2-修改全局配置site" class="headerlink" title="4.2.修改全局配置site"></a>4.2.修改全局配置site</h4><p>修改全局配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="comment"># Site</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">monkey's</span> <span class="string">blog</span></span><br><span class="line"><span class="attr">subtitle:</span> <span class="string">'王侯将相宁有种乎?!'</span></span><br><span class="line"><span class="attr">description:</span> <span class="string">'欢迎来到我的小天地💜'</span></span><br><span class="line"><span class="attr">keywords:</span></span><br><span class="line"><span class="attr">author:</span> <span class="string">monkey</span></span><br><span class="line"><span class="attr">language:</span> <span class="string">zh-CN</span></span><br><span class="line"><span class="attr">timezone:</span> <span class="string">'Asia/Shanghai'</span></span><br></pre></td></tr></table></figure>
<p>修改url地址</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">url:</span> <span class="string">https://xxxxx.github.io</span></span><br></pre></td></tr></table></figure>
<h4 id="4-3-修改侧边栏按钮"><a href="#4-3-修改侧边栏按钮" class="headerlink" title="4.3.修改侧边栏按钮"></a>4.3.修改侧边栏按钮</h4><h5 id="4-3-1-开启分类功能"><a href="#4-3-1-开启分类功能" class="headerlink" title="4.3.1.开启分类功能"></a>4.3.1.开启分类功能</h5><p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">menu:</span></span><br><span class="line"> <span class="attr">home:</span> <span class="string">/</span> <span class="string">||</span> <span class="string">fa</span> <span class="string">fa-home</span></span><br><span class="line"> <span class="comment">#about: /about/ || fa fa-user</span></span><br><span class="line"> <span class="comment">#tags: /tags/ || fa fa-tags</span></span><br><span class="line"> <span class="attr">categories:</span> <span class="string">/categories/</span> <span class="string">||</span> <span class="string">fa</span> <span class="string">fa-th</span></span><br><span class="line"> <span class="attr">archives:</span> <span class="string">/archives/</span> <span class="string">||</span> <span class="string">fa</span> <span class="string">fa-archive</span></span><br><span class="line"> <span class="comment">#schedule: /schedule/ || fa fa-calendar</span></span><br><span class="line"> <span class="comment">#sitemap: /sitemap.xml || fa fa-sitemap</span></span><br><span class="line"> <span class="comment">#commonweal: /404/ || fa fa-heartbeat</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Enable / Disable menu icons / item badges.</span></span><br><span class="line"><span class="attr">menu_settings:</span></span><br><span class="line"> <span class="attr">icons:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">badges:</span> <span class="literal">true</span> <span class="comment"># 是否显示分类/标签/归档页的文章数量</span></span><br></pre></td></tr></table></figure>
<h5 id="4-3-2-新增分类页面"><a href="#4-3-2-新增分类页面" class="headerlink" title="4.3.2.新增分类页面"></a>4.3.2.新增分类页面</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">hexo new page categories</span><br></pre></td></tr></table></figure>
<h5 id="4-3-3-修改分类页面的属性"><a href="#4-3-3-修改分类页面的属性" class="headerlink" title="4.3.3.修改分类页面的属性"></a>4.3.3.修改分类页面的属性</h5><p>修改文件.\source\categories\index.md,加入type之后,就不会把分类页面当文章了</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">categories</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2023-08-22 17:22:59</span></span><br><span class="line"><span class="attr">type:</span> <span class="string">"categories"</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></table></figure>
<h4 id="4-4-去掉网页底部由-Hexo-NexT-Gemini强力驱动"><a href="#4-4-去掉网页底部由-Hexo-NexT-Gemini强力驱动" class="headerlink" title="4.4.去掉网页底部由 Hexo& NexT.Gemini强力驱动"></a>4.4.去掉网页底部由 Hexo& NexT.Gemini强力驱动</h4><p>修改<code>themes/next/layout/_partials/footer.swig</code>文件,注释掉</p>
<figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="comment"><!-- {%- if theme.footer.powered %}</span></span><br><span class="line"><span class="comment"> <div class="powered-by"></span></span><br><span class="line"><span class="comment"> {%- set next_site = 'https://theme-next.org' %}</span></span><br><span class="line"><span class="comment"> {%- if theme.scheme !== 'Gemini' %}</span></span><br><span class="line"><span class="comment"> {%- set next_site = 'https://' + theme.scheme | lower + '.theme-next.org' %}</span></span><br><span class="line"><span class="comment"> {%- endif %}</span></span><br><span class="line"><span class="comment"> {{- __('footer.powered', next_url('https://hexo.io', 'Hexo', {class: 'theme-link'}) + ' & ' + next_url(next_site, 'NexT.' + theme.scheme, {class: 'theme-link'})) }}</span></span><br><span class="line"><span class="comment"> </div></span></span><br><span class="line"><span class="comment">{%- endif %} --></span></span><br></pre></td></tr></table></figure>
<h4 id="4-5-代码块风格配置"><a href="#4-5-代码块风格配置" class="headerlink" title="4.5.代码块风格配置"></a>4.5.代码块风格配置</h4><p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">codeblock:</span></span><br><span class="line"> <span class="comment"># Code Highlight theme</span></span><br><span class="line"> <span class="comment"># Available values: normal | night | night eighties | night blue | night bright | solarized | solarized dark | galactic</span></span><br><span class="line"> <span class="comment"># See: https://github.com/chriskempson/tomorrow-theme</span></span><br><span class="line"> <span class="attr">highlight_theme:</span> <span class="string">night</span></span><br><span class="line"> <span class="comment"># Add copy button on codeblock</span></span><br><span class="line"> <span class="attr">copy_button:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># Show text copy result.</span></span><br><span class="line"> <span class="attr">show_result:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># Available values: default | flat | mac</span></span><br><span class="line"> <span class="attr">style:</span> <span class="string">mac</span></span><br></pre></td></tr></table></figure>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230822103637230.png" alt="image-20230822103637230"></p>
<h4 id="4-6-显示文章阅读进度"><a href="#4-6-显示文章阅读进度" class="headerlink" title="4.6.显示文章阅读进度"></a>4.6.显示文章阅读进度</h4><p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">back2top:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># Back to top in sidebar.</span></span><br><span class="line"> <span class="attr">sidebar:</span> <span class="literal">false</span></span><br><span class="line"> <span class="comment"># Scroll percent label in b2t button.</span></span><br><span class="line"> <span class="attr">scrollpercent:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure>
<h4 id="4-7-本地搜索"><a href="#4-7-本地搜索" class="headerlink" title="4.7.本地搜索"></a>4.7.本地搜索</h4><h5 id="4-7-1-安装插件"><a href="#4-7-1-安装插件" class="headerlink" title="4.7.1.安装插件"></a>4.7.1.安装插件</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">npm install hexo-generator-searchdb --save</span><br></pre></td></tr></table></figure>
<h5 id="4-7-2-修改全局配置文件"><a href="#4-7-2-修改全局配置文件" class="headerlink" title="4.7.2.修改全局配置文件"></a>4.7.2.修改全局配置文件</h5><p>全局配置文件,新增以下代码到末尾</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">search:</span></span><br><span class="line"><span class="attr">path:</span> <span class="string">search.xml</span></span><br><span class="line"><span class="attr">field:</span> <span class="string">post</span></span><br><span class="line"><span class="attr">format:</span> <span class="string">html</span></span><br><span class="line"><span class="attr">limit:</span> <span class="number">10000</span></span><br></pre></td></tr></table></figure>
<h5 id="4-7-3-修改主题配置文件"><a href="#4-7-3-修改主题配置文件" class="headerlink" title="4.7.3.修改主题配置文件"></a>4.7.3.修改主题配置文件</h5><p>修改主题配置文件,开启本地搜索功能</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">local_search:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># If auto, trigger search by changing input.</span></span><br><span class="line"> <span class="comment"># If manual, trigger search by pressing enter key or search button.</span></span><br><span class="line"> <span class="attr">trigger:</span> <span class="string">manual</span></span><br><span class="line"> <span class="comment"># Show top n results per article, show all results by setting to -1</span></span><br><span class="line"> <span class="attr">top_n_per_article:</span> <span class="number">1</span></span><br><span class="line"> <span class="comment"># Unescape html strings to the readable one.</span></span><br><span class="line"> <span class="attr">unescape:</span> <span class="literal">false</span></span><br><span class="line"> <span class="comment"># Preload the search data when the page loads.</span></span><br><span class="line"> <span class="attr">preload:</span> <span class="literal">false</span></span><br></pre></td></tr></table></figure>
<h5 id="4-7-4-修改网站图标"><a href="#4-7-4-修改网站图标" class="headerlink" title="4.7.4.修改网站图标"></a>4.7.4.修改网站图标</h5><p>把apple_touch_icon和safari_pinned_tab注释掉,把下载的图标放到.\themes\next\source\images下并改名</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">favicon:</span></span><br><span class="line"> <span class="attr">small:</span> <span class="string">/images/favicon-16x16-M.png</span></span><br><span class="line"> <span class="attr">medium:</span> <span class="string">/images/favicon-32x32-M.png</span></span><br><span class="line"> <span class="comment">#apple_touch_icon: /images/apple-touch-icon-next.png</span></span><br><span class="line"> <span class="comment">#safari_pinned_tab: /images/logo.svg</span></span><br><span class="line"> <span class="comment">#android_manifest: /images/manifest.json</span></span><br><span class="line"> <span class="comment">#ms_browserconfig: /images/browserconfig.xml</span></span><br></pre></td></tr></table></figure>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230822115518727.png" alt="image-20230822115518727"></p>
<h4 id="4-8-字数统计"><a href="#4-8-字数统计" class="headerlink" title="4.8.字数统计"></a>4.8.字数统计</h4><h5 id="4-8-1-安装插件"><a href="#4-8-1-安装插件" class="headerlink" title="4.8.1.安装插件"></a>4.8.1.安装插件</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">npm install hexo-symbols-count-time --save</span><br></pre></td></tr></table></figure>
<h5 id="4-8-2-修改全局配置文件"><a href="#4-8-2-修改全局配置文件" class="headerlink" title="4.8.2.修改全局配置文件"></a>4.8.2.修改全局配置文件</h5><p>添加如下到结尾</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">symbols_count_time:</span></span><br><span class="line"> <span class="attr">symbols:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">time:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">total_symbols:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">total_time:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">exclude_codeblock:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">awl:</span> <span class="number">2</span> <span class="comment"># 每个字数的长度,汉语大概是2</span></span><br><span class="line"> <span class="attr">wpm:</span> <span class="number">275</span> <span class="comment"># 平均每分钟阅读多少个字</span></span><br><span class="line"> <span class="attr">suffix:</span> <span class="string">"mins."</span></span><br></pre></td></tr></table></figure>
<p><strong>Note for Chinese users:</strong> because in Chinese language average word length about <code>~1.5</code> and if you at most cases write posts in Chinese (without mixed English), recommended to set <code>awl</code> to <code>2</code> and <code>wpm</code> to <code>300</code>.But if you usualy mix your posts with English, <code>awl</code> to <code>4</code> and <code>wpm</code> to <code>275</code> will be nice.</p>
<h5 id="4-8-2-修改主题配置文件"><a href="#4-8-2-修改主题配置文件" class="headerlink" title="4.8.2.修改主题配置文件"></a>4.8.2.修改主题配置文件</h5><p>默认即可,无需修改</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">symbols_count_time:</span></span><br><span class="line"> <span class="attr">separated_meta:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">item_text_post:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">item_text_total:</span> <span class="literal">false</span></span><br></pre></td></tr></table></figure>
<h4 id="4-9-修改头像"><a href="#4-9-修改头像" class="headerlink" title="4.9.修改头像"></a>4.9.修改头像</h4><p>把下载的的gif动图放到.\themes\next\source\images下并改名为avatar.gif</p>
<p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">avatar:</span></span><br><span class="line"> <span class="comment"># Replace the default image and set the url here.</span></span><br><span class="line"> <span class="attr">url:</span> <span class="string">/images/avatar.gif</span></span><br><span class="line"> <span class="comment"># If true, the avatar will be dispalyed in circle.</span></span><br><span class="line"> <span class="attr">rounded:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># If true, the avatar will be rotated with the cursor.</span></span><br><span class="line"> <span class="attr">rotated:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure>
<h4 id="4-10-增加加载动画"><a href="#4-10-增加加载动画" class="headerlink" title="4.10.增加加载动画"></a>4.10.增加加载动画</h4><h5 id="4-10-1-获取模块"><a href="#4-10-1-获取模块" class="headerlink" title="4.10.1.获取模块"></a>4.10.1.获取模块</h5><p>进入next目录下</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">git</span> <span class="string">clone</span> <span class="string">https://github.com/theme-next/theme-next-pace</span> <span class="string">source/lib/pace</span></span><br></pre></td></tr></table></figure>
<h5 id="4-10-2-打开加载动画功能"><a href="#4-10-2-打开加载动画功能" class="headerlink" title="4.10.2.打开加载动画功能"></a>4.10.2.打开加载动画功能</h5><p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">pace:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># Themes list:</span></span><br><span class="line"> <span class="comment"># big-counter | bounce | barber-shop | center-atom | center-circle | center-radar | center-simple</span></span><br><span class="line"> <span class="comment"># corner-indicator | fill-left | flat-top | flash | loading-bar | mac-osx | material | minimal</span></span><br><span class="line"> <span class="attr">theme:</span> <span class="string">minimal</span></span><br></pre></td></tr></table></figure>
<h4 id="4-11-添加文章阅读数"><a href="#4-11-添加文章阅读数" class="headerlink" title="4.11.添加文章阅读数"></a>4.11.添加文章阅读数</h4><p>修改主题配置文件,enable修改为true即可</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">busuanzi_count:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">total_visitors:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">total_visitors_icon:</span> <span class="string">fa</span> <span class="string">fa-user</span></span><br><span class="line"> <span class="attr">total_views:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">total_views_icon:</span> <span class="string">fa</span> <span class="string">fa-eye</span></span><br><span class="line"> <span class="attr">post_views:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">post_views_icon:</span> <span class="string">fa</span> <span class="string">fa-eye</span></span><br></pre></td></tr></table></figure>
<h4 id="4-12-增加站点运行时间"><a href="#4-12-增加站点运行时间" class="headerlink" title="4.12.增加站点运行时间"></a>4.12.增加站点运行时间</h4><p>修改.\themes\next\layout_partials\footer.swig文件,在最后面追加如下代码</p>
<figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="comment"><!-- 网站运行时间的设置 --></span></span><br><span class="line"><span class="tag"><<span class="name">span</span> <span class="attr">id</span>=<span class="string">"timeDate"</span>></span>载入天数...<span class="tag"></<span class="name">span</span>></span></span><br><span class="line"><span class="tag"><<span class="name">span</span> <span class="attr">id</span>=<span class="string">"times"</span>></span>载入时分秒...<span class="tag"></<span class="name">span</span>></span></span><br><span class="line"><span class="tag"><<span class="name">script</span>></span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">var</span> now = <span class="keyword">new</span> <span class="title class_">Date</span>();</span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">function</span> <span class="title function_">createtime</span>(<span class="params"></span>) {</span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">var</span> grt= <span class="keyword">new</span> <span class="title class_">Date</span>(<span class="string">"08/21/2023 10:00:00"</span>); <span class="comment">//此处修改你的建站时间或者网站上线时间</span></span></span><br><span class="line"><span class="language-javascript"> now.<span class="title function_">setTime</span>(now.<span class="title function_">getTime</span>()+<span class="number">250</span>);</span></span><br><span class="line"><span class="language-javascript"> days = (now - grt ) / <span class="number">1000</span> / <span class="number">60</span> / <span class="number">60</span> / <span class="number">24</span>; dnum = <span class="title class_">Math</span>.<span class="title function_">floor</span>(days);</span></span><br><span class="line"><span class="language-javascript"> hours = (now - grt ) / <span class="number">1000</span> / <span class="number">60</span> / <span class="number">60</span> - (<span class="number">24</span> * dnum); hnum = <span class="title class_">Math</span>.<span class="title function_">floor</span>(hours);</span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">if</span>(<span class="title class_">String</span>(hnum).<span class="property">length</span> ==<span class="number">1</span> ){hnum = <span class="string">"0"</span> + hnum;} minutes = (now - grt ) / <span class="number">1000</span> /<span class="number">60</span> - (<span class="number">24</span> * <span class="number">60</span> * dnum) - (<span class="number">60</span> * hnum);</span></span><br><span class="line"><span class="language-javascript"> mnum = <span class="title class_">Math</span>.<span class="title function_">floor</span>(minutes); <span class="keyword">if</span>(<span class="title class_">String</span>(mnum).<span class="property">length</span> ==<span class="number">1</span> ){mnum = <span class="string">"0"</span> + mnum;}</span></span><br><span class="line"><span class="language-javascript"> seconds = (now - grt ) / <span class="number">1000</span> - (<span class="number">24</span> * <span class="number">60</span> * <span class="number">60</span> * dnum) - (<span class="number">60</span> * <span class="number">60</span> * hnum) - (<span class="number">60</span> * mnum);</span></span><br><span class="line"><span class="language-javascript"> snum = <span class="title class_">Math</span>.<span class="title function_">round</span>(seconds); <span class="keyword">if</span>(<span class="title class_">String</span>(snum).<span class="property">length</span> ==<span class="number">1</span> ){snum = <span class="string">"0"</span> + snum;}</span></span><br><span class="line"><span class="language-javascript"> <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">"timeDate"</span>).<span class="property">innerHTML</span> = <span class="string">"本站已安全运行 "</span>+dnum+<span class="string">" 天 "</span>;</span></span><br><span class="line"><span class="language-javascript"> <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">"times"</span>).<span class="property">innerHTML</span> = hnum + <span class="string">" 小时 "</span> + mnum + <span class="string">" 分 "</span> + snum + <span class="string">" 秒."</span>;</span></span><br><span class="line"><span class="language-javascript"> }</span></span><br><span class="line"><span class="language-javascript"><span class="built_in">setInterval</span>(<span class="string">"createtime()"</span>,<span class="number">250</span>);</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag"></<span class="name">script</span>></span></span><br></pre></td></tr></table></figure>
<h4 id="4-13-增加版权声明"><a href="#4-13-增加版权声明" class="headerlink" title="4.13.增加版权声明"></a>4.13.增加版权声明</h4><p>修改主题配置文件</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">creative_commons:</span></span><br><span class="line"> <span class="attr">license:</span> <span class="string">by-nc-sa</span></span><br><span class="line"> <span class="attr">sidebar:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">post:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">language:</span> <span class="string">zh-CN</span></span><br></pre></td></tr></table></figure>
<h4 id="4-14-禁止自动生成目录编号"><a href="#4-14-禁止自动生成目录编号" class="headerlink" title="4.14.禁止自动生成目录编号"></a>4.14.禁止自动生成目录编号</h4><p>我习惯编写md文件是,自己添加目录的编号,例如1.2,1.3,因此禁用主题的自动编号生成功能</p>
<p>修改主题配置文件,number设置为false</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">toc:</span></span><br><span class="line"> <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line"> <span class="comment"># Automatically add list number to toc.</span></span><br><span class="line"> <span class="attr">number:</span> <span class="literal">false</span></span><br><span class="line"> <span class="comment"># If true, all words will placed on next lines if header width longer then sidebar width.</span></span><br><span class="line"> <span class="attr">wrap:</span> <span class="literal">false</span></span><br><span class="line"> <span class="comment"># If true, all level of TOC in a post will be displayed, rather than the activated part of it.</span></span><br><span class="line"> <span class="attr">expand_all:</span> <span class="literal">false</span></span><br><span class="line"> <span class="comment"># Maximum heading depth of generated toc.</span></span><br><span class="line"> <span class="attr">max_depth:</span> <span class="number">6</span></span><br></pre></td></tr></table></figure>
<h3 id="5-新增文章"><a href="#5-新增文章" class="headerlink" title="5.新增文章"></a>5.新增文章</h3><h4 id="5-1-图片显示"><a href="#5-1-图片显示" class="headerlink" title="5.1.图片显示"></a>5.1.图片显示</h4><h5 id="5-1-1-安装插件"><a href="#5-1-1-安装插件" class="headerlink" title="5.1.1.安装插件"></a>5.1.1.安装插件</h5><p><strong>注意,必须要这要安装插件,不要直接安装</strong></p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">npm install https://github.com/CodeFalling/hexo-asset-image --save</span><br></pre></td></tr></table></figure>
<h5 id="5-1-2-修改全局配置文件"><a href="#5-1-2-修改全局配置文件" class="headerlink" title="5.1.2.修改全局配置文件"></a>5.1.2.修改全局配置文件</h5><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">post_asset_folder:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure>
<h5 id="5-1-3-修改typora使用相对路径"><a href="#5-1-3-修改typora使用相对路径" class="headerlink" title="5.1.3.修改typora使用相对路径"></a>5.1.3.修改typora使用相对路径</h5><p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230823110852706.png" alt="image-20230823110852706"></p>
<h4 id="5-2-新增文章"><a href="#5-2-新增文章" class="headerlink" title="5.2.新增文章"></a>5.2.新增文章</h4><h5 id="5-2-1-修改模板"><a href="#5-2-1-修改模板" class="headerlink" title="5.2.1.修改模板"></a>5.2.1.修改模板</h5><p>修改文件.\scaffolds\post.md</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">---</span><br><span class="line">title: {{ title }}</span><br><span class="line">date: {{ date }}</span><br><span class="line">categories: 其他</span><br><span class="line">description: {{ title }}</span><br><span class="line">---</span><br></pre></td></tr></table></figure>
<p>修改完后,新增文章的头会自动套用这个模板,可以根据自己的需求调整</p>
<h5 id="5-2-2-新增"><a href="#5-2-2-新增" class="headerlink" title="5.2.2.新增"></a>5.2.2.新增</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">hexo new <span class="built_in">test</span></span><br></pre></td></tr></table></figure>
<p>执行后,会在.\\source_posts\_posts下生成test.md和test文件夹(5.1.2修改的效果)</p>
<h5 id="5-2-3-已有文章发布"><a href="#5-2-3-已有文章发布" class="headerlink" title="5.2.3.已有文章发布"></a>5.2.3.已有文章发布</h5><p>把已经编写好的md文件和图片文件夹放到_post目录下,图片文件夹和md文件要同名</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">hexo clean</span><br><span class="line">hexo g</span><br><span class="line">hexo s</span><br></pre></td></tr></table></figure>
<h3 id="6-发布到github"><a href="#6-发布到github" class="headerlink" title="6.发布到github"></a>6.发布到github</h3><h4 id="6-1-新增仓库"><a href="#6-1-新增仓库" class="headerlink" title="6.1.新增仓库"></a>6.1.新增仓库</h4><p>仓库名必须要${你的github用户名}.github.io</p>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230823114141176.png" alt="image-20230823114141176"></p>
<h4 id="6-2-修改全局配置文件"><a href="#6-2-修改全局配置文件" class="headerlink" title="6.2.修改全局配置文件"></a>6.2.修改全局配置文件</h4><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">git</span></span><br><span class="line"> <span class="attr">repository:</span> <span class="string">https://github.com/xxx/xxx.github.io</span></span><br><span class="line"> <span class="attr">branch:</span> <span class="string">main</span></span><br></pre></td></tr></table></figure>
<h4 id="6-3-获取github-token"><a href="#6-3-获取github-token" class="headerlink" title="6.3.获取github token"></a>6.3.获取github token</h4><p>登录Github—》点击头像—》Settings—》Developer Settings—》Personal access tokens—》Tokens(classic)—》Generate new token(classic)—》只需要库的权限</p>
<p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230819090229711.png" alt="image-20230819090229711"></p>
<h4 id="6-4-安装扩展"><a href="#6-4-安装扩展" class="headerlink" title="6.4.安装扩展"></a>6.4.安装扩展</h4><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">npm install hexo-deployer-git</span><br></pre></td></tr></table></figure>
<h4 id="6-5-部署"><a href="#6-5-部署" class="headerlink" title="6.5.部署"></a>6.5.部署</h4><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">hexo d</span><br></pre></td></tr></table></figure>
<p>弹框的时候,用户名输入Github用户名,密码输入token</p>
<h3 id="7-hexo多电脑同步"><a href="#7-hexo多电脑同步" class="headerlink" title="7.hexo多电脑同步"></a>7.hexo多电脑同步</h3><p>参考:<a href="https://blog.csdn.net/K1052176873/article/details/122879462">Hexo在多台电脑上提交和更新</a></p>
<h4 id="7-1-Github新建私有仓库"><a href="#7-1-Github新建私有仓库" class="headerlink" title="7.1.Github新建私有仓库"></a>7.1.Github新建私有仓库</h4><p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230824135632313.png" alt="image-20230824135632313"></p>
<h4 id="7-2-clone私有仓库"><a href="#7-2-clone私有仓库" class="headerlink" title="7.2.clone私有仓库"></a>7.2.clone私有仓库</h4><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> d:</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/xxxx/hexo.git</span><br></pre></td></tr></table></figure>
<p>clone后,会在D:下创建一个hexo目录,并且里面有一个.git目录</p>
<p>复制myblog目录下所有文件到此目录下</p>
<h4 id="7-3-上传所需文件至私有仓库"><a href="#7-3-上传所需文件至私有仓库" class="headerlink" title="7.3.上传所需文件至私有仓库"></a>7.3.上传所需文件至私有仓库</h4><p><img src="/2023/08/23/Hexo%E5%92%8CGithub%E9%85%8D%E5%90%88%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/image-20230824140848843.png" alt="image-20230824140848843"></p>
<p>删除所有主题目录的.git目录,不然无法上传</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /d/hexo</span><br><span class="line">git add .</span><br><span class="line">git commit -m <span class="string">"hexo source file"</span></span><br><span class="line">git push</span><br></pre></td></tr></table></figure>
<h4 id="7-4-后续写文章"><a href="#7-4-后续写文章" class="headerlink" title="7.4. 后续写文章"></a>7.4. 后续写文章</h4><p>后续写文章需要在此此hexo环境下,本例为/d/hexo,写完后</p>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">git pull</span><br><span class="line"><span class="comment"># 开始写文章</span></span><br><span class="line">git add .</span><br><span class="line">git commit -m <span class="string">"add blog"</span></span><br><span class="line">git push</span><br><span class="line"><span class="comment"># 部署</span></span><br><span class="line">git d -g</span><br></pre></td></tr></table></figure>
<h4 id="7-5-新电脑操作"><a href="#7-5-新电脑操作" class="headerlink" title="7.5.新电脑操作"></a>7.5.新电脑操作</h4><h5 id="7-5-1-clone仓库"><a href="#7-5-1-clone仓库" class="headerlink" title="7.5.1.clone仓库"></a>7.5.1.clone仓库</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /d</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/xxxx/hexo.git</span><br></pre></td></tr></table></figure>
<h5 id="7-5-2-安装npm扩展"><a href="#7-5-2-安装npm扩展" class="headerlink" title="7.5.2.安装npm扩展"></a>7.5.2.安装npm扩展</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /d/hexo</span><br><span class="line">npm install </span><br></pre></td></tr></table></figure>
<h5 id="7-5-3-写文章"><a href="#7-5-3-写文章" class="headerlink" title="7.5.3.写文章"></a>7.5.3.写文章</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">git pull</span><br><span class="line"><span class="comment"># 开始写文章</span></span><br><span class="line">git add .</span><br><span class="line">git commit -m <span class="string">"add blog"</span></span><br><span class="line">git push</span><br><span class="line"><span class="comment"># 部署</span></span><br><span class="line">git d -g</span><br></pre></td></tr></table></figure>
]]></content>
<categories>
<category>博客搭建</category>
</categories>
</entry>
<entry>
<title>docker版v2ray安装</title>
<url>/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/</url>
<content><![CDATA[<h3 id="1-v2ray简介"><a href="#1-v2ray简介" class="headerlink" title="1.v2ray简介"></a>1.v2ray简介</h3><p>使用v2ray可以很方便的构建代理,理解v2ray的核心是理解v2ray的数据流向,理解了v2ray的流向,配置就简单了</p>
<p>详细可以参考<a href="https://www.v2ray.com/">v2ray官方文档</a>,<a href="https://guide.v2fly.org/basics/vmess.html#%E9%85%8D%E7%BD%AE%E5%89%8D%E7%9A%84%E5%87%86%E5%A4%87">新 V2Ray 白话文指南</a>,<a href="https://github.com/v2fly/v2ray-core">v2ray GitHub</a></p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230323110843442.png" alt="image-20230323110843442"></p>
<p>浏览器输入<code>www.google.com</code>,然后浏览器以socks协议将数据转化并发送给v2ray客户端(客户端的inbond),之后v2ray客户端(客户端的outbond)以vmess协议将数据转化并发送给v2ray服务器端(服务器端inbond),之后v2ray服务器再将数据解密(vmess协议加密的数据)并发送给目标网站,完成整个请求过程。</p>
<h3 id="2-docker安装v2ray"><a href="#2-docker安装v2ray" class="headerlink" title="2.docker安装v2ray"></a>2.docker安装v2ray</h3><p>参考:<a href="https://guide.v2fly.org/app/docker-deploy-v2ray.html">Docker 部署 V2Ray</a></p>
<p>使用docker-compose部署docker,需要注意的是:</p>
<ol>
<li>如果没有指定网络,会默认生成一个$(docker-compose所在目录的网络)_default,参考<a href="https://titangene.github.io/article/networking-in-docker-compose.html">透過 Docker Compose 設定 network</a></li>
<li>mkcp协议使用udp传输,因此要绑定udp,如果用tcp,可以不指定</li>
<li>v2ray 5默认配置文件位置不再是/etc/v2ray/config.json,因此需要加入command</li>
</ol>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /data/docker_data</span><br><span class="line"><span class="built_in">mkdir</span> v2ray</span><br><span class="line"><span class="built_in">cd</span> v2ray</span><br><span class="line"><span class="built_in">mkdir</span> <span class="built_in">log</span></span><br><span class="line"><span class="built_in">mkdir</span> config</span><br><span class="line">docker network create all_net</span><br><span class="line">vi docker-compose.yml</span><br></pre></td></tr></table></figure>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">v2ray:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">v2fly/v2fly-core</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">v2ray</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">on-failure:3</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">/data/docker_data/v2ray/config/config.json:/etc/v2ray/config.json</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">/data/docker_data/v2ray/log:/var/log/v2ray</span></span><br><span class="line"> <span class="attr">command:</span> <span class="string">"run -config=/etc/v2ray/config.json"</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"6038:6038"</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"6038:6038/udp"</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TZ=Asia/Shanghai</span></span><br><span class="line"><span class="attr">networks:</span></span><br><span class="line"> <span class="attr">default:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">all_net</span></span><br><span class="line"> <span class="attr">external:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">docker-compose up -d</span><br><span class="line">docker-compose logs</span><br></pre></td></tr></table></figure>
<h3 id="3-三种常用配置"><a href="#3-三种常用配置" class="headerlink" title="3.三种常用配置"></a>3.三种常用配置</h3><p><a href="https://intmainreturn0.com/v2ray-config-gen/">v2ray配置文件在线生成</a></p>
<p><a href="https://github.com/KiriKira/vTemplate">v2ary常用配置模板集合</a></p>
<p><a href="https://www.uuidgenerator.net/">UUID生成器</a></p>
<h4 id="3-4-VMESS-TCP"><a href="#3-4-VMESS-TCP" class="headerlink" title="3.4.VMESS+TCP"></a>3.4.VMESS+TCP</h4><p>服务器端配置:</p>
<figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"log"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"access"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/access.log"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"error"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/error.log"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"loglevel"</span><span class="punctuation">:</span> <span class="string">"warning"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"inbound"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"port"</span><span class="punctuation">:</span> <span class="number">12345</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"vmess"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"clients"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"cb76a5c7-51e5-84d1-d0ff-da110e3f3c32"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outbound"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"freedom"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"inboundDetour"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outboundDetour"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"blackhole"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"tag"</span><span class="punctuation">:</span> <span class="string">"blocked"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"routing"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"strategy"</span><span class="punctuation">:</span> <span class="string">"rules"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"rules"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"type"</span><span class="punctuation">:</span> <span class="string">"field"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ip"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"0.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"10.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"100.64.0.0/10"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"127.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"169.254.0.0/16"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"172.16.0.0/12"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.0.0.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.0.2.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.168.0.0/16"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"198.18.0.0/15"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"198.51.100.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"203.0.113.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"::1/128"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"fc00::/7"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"fe80::/10"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outboundTag"</span><span class="punctuation">:</span> <span class="string">"blocked"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></table></figure>
<p>客户端配置:</p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230325121843667.png" alt="image-20230325121843667"></p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230325121746728.png" alt="image-20230325121746728"></p>
<h4 id="3-2-vmess-mkcp"><a href="#3-2-vmess-mkcp" class="headerlink" title="3.2.vmess+mkcp"></a>3.2.vmess+mkcp</h4><p>vmess+mkcp,mkcp对于丢包严重的网络进行了优化,同时可以伪装(BT下载,视频通话),伪装不代表你可以为所欲为,保持个人的判断,对信息有明确的甄别,学习先进的技术才是根本</p>
<p>服务器端配置:</p>
<figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"log"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"access"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/access.log"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"error"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/error.log"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"loglevel"</span><span class="punctuation">:</span> <span class="string">"warning"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"inbound"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"port"</span><span class="punctuation">:</span> <span class="number">6038</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"vmess"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"clients"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"4552a7f9-dc8d-a0c9-422f-032ea2a3783f"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"streamSettings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"network"</span><span class="punctuation">:</span> <span class="string">"kcp"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"kcpSettings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"header"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"type"</span><span class="punctuation">:</span> <span class="string">"srtp"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outbound"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"freedom"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"inboundDetour"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outboundDetour"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"blackhole"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span><span class="punctuation">}</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"tag"</span><span class="punctuation">:</span> <span class="string">"blocked"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"routing"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"strategy"</span><span class="punctuation">:</span> <span class="string">"rules"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"rules"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"type"</span><span class="punctuation">:</span> <span class="string">"field"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"ip"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="string">"0.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"10.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"100.64.0.0/10"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"127.0.0.0/8"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"169.254.0.0/16"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"172.16.0.0/12"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.0.0.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.0.2.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"192.168.0.0/16"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"198.18.0.0/15"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"198.51.100.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"203.0.113.0/24"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"::1/128"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"fc00::/7"</span><span class="punctuation">,</span></span><br><span class="line"> <span class="string">"fe80::/10"</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">"outboundTag"</span><span class="punctuation">:</span> <span class="string">"blocked"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"><span class="punctuation">}</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p>客户端配置:</p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230325121211275.png" alt="image-20230325121211275"></p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230325121014442.png" alt="image-20230325121014442"></p>
<h4 id="3-3-WebSocket-TLS-Web"><a href="#3-3-WebSocket-TLS-Web" class="headerlink" title="3.3.WebSocket+TLS+Web"></a>3.3.WebSocket+TLS+Web</h4><h5 id="3-3-1-配置v2ray"><a href="#3-3-1-配置v2ray" class="headerlink" title="3.3.1.配置v2ray"></a>3.3.1.配置v2ray</h5><p>docker-compose.yml,不再开放端口</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">v2ray:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">v2fly/v2fly-core</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">v2ray</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">on-failure:3</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">/data/docker_data/v2ray/config/config.json:/etc/v2ray/config.json</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">/data/docker_data/v2ray/log:/var/log/v2ray</span></span><br><span class="line"> <span class="attr">command:</span> <span class="string">"run -config=/etc/v2ray/config.json"</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TZ=Asia/Shanghai</span></span><br><span class="line"><span class="attr">networks:</span></span><br><span class="line"> <span class="attr">default:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">all_net</span></span><br><span class="line"> <span class="attr">external:</span> <span class="literal">true</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p>服务器端配置:</p>
<figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"log"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"access"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/access.log"</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"error"</span><span class="punctuation">:</span> <span class="string">"/var/log/v2ray/error.log"</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"loglevel"</span><span class="punctuation">:</span> <span class="string">"warning"</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"inbounds"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"port"</span><span class="punctuation">:</span> <span class="number">10000</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"vmess"</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"clients"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"id"</span><span class="punctuation">:</span> <span class="string">"b831381d-6324-4d53-ad4f-8cda48b30811"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"> <span class="punctuation">}</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"streamSettings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"network"</span><span class="punctuation">:</span> <span class="string">"ws"</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"wsSettings"</span><span class="punctuation">:</span> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"path"</span><span class="punctuation">:</span> <span class="string">"/ray"</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"outbounds"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line"> <span class="punctuation">{</span></span><br><span class="line"> <span class="attr">"protocol"</span><span class="punctuation">:</span> <span class="string">"freedom"</span><span class="punctuation">,</span> </span><br><span class="line"> <span class="attr">"settings"</span><span class="punctuation">:</span> <span class="punctuation">{</span> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">}</span></span><br><span class="line"> <span class="punctuation">]</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></table></figure>
<h5 id="3-3-2-安装NPM"><a href="#3-3-2-安装NPM" class="headerlink" title="3.3.2.安装NPM"></a>3.3.2.安装NPM</h5><figure class="highlight sh"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /data/docker_data</span><br><span class="line"><span class="built_in">mkdir</span> npm</span><br><span class="line"><span class="built_in">cd</span> npm</span><br><span class="line"><span class="built_in">mkdir</span> letsencrypt</span><br><span class="line"><span class="built_in">mkdir</span> data</span><br><span class="line">vi docker-compose.yml</span><br></pre></td></tr></table></figure>
<figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3'</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">app:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">'jc21/nginx-proxy-manager:latest'</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">npm</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'80:80'</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'81:81'</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'443:443'</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./data:/data</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./letsencrypt:/etc/letsencrypt</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TZ=Asia/Shanghai</span></span><br><span class="line"><span class="attr">networks:</span></span><br><span class="line"> <span class="attr">default:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">all_net</span></span><br><span class="line"> <span class="attr">external:</span> <span class="literal">true</span> </span><br></pre></td></tr></table></figure>
<figure class="highlight sh"><table><tr><td class="code"><pre><span class="line">docker-compose up -d</span><br><span class="line">docker-compose logs</span><br></pre></td></tr></table></figure>
<h5 id="3-3-3-进入NPM设置"><a href="#3-3-3-进入NPM设置" class="headerlink" title="3.3.3.进入NPM设置"></a>3.3.3.进入NPM设置</h5><p>浏览器输入http://域名:81进入后台管理页面,默认用户名/密码为<a href="mailto:admin@exampel.com">admin@exampel.com</a>/changeme,登陆后需要修改密码,建议用密码生成工具生成强密码</p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230326085237745.png" alt="image-20230326085237745"></p>
<p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230325130309828.png" alt="image-20230325130309828"></p>
<h5 id="3-3-4-客户端配置"><a href="#3-3-4-客户端配置" class="headerlink" title="3.3.4.客户端配置"></a>3.3.4.客户端配置</h5><p><img src="/2023/08/24/docker%E7%89%88v2ray%E5%AE%89%E8%A3%85/image-20230326085718252.png" alt="image-20230326085718252"></p>
<h5 id="3-3-5-常见异常"><a href="#3-3-5-常见异常" class="headerlink" title="3.3.5. 常见异常"></a>3.3.5. 常见异常</h5><p><code>[Warning] [3354002692] app/proxyman/outbound: failed to process outbound traffic > proxy/vmess/outbound: failed to find an available destination > common/retry: [transport/internet/websocket: failed to dial WebSocket > transport/internet/websocket: failed to dial to (wss://xxx.xxx.top/ray): > read tcp 192.168.31.95:1523->xxx.xxx.xxx.xxx:443: wsarecv: An existing connection was forcibly closed by the remote host. </code></p>
<p>客户端发生上述错误后,查看VPS端NPM日志,发现没有接到任何客户端的请求(说明不是v2ray的错误,因为NPM还没有转发请求)</p>
<p>客户端配置<code>传输层安全</code>为空后,发现NPM日志接收到了客户端的请求,不过是http的(说明问题发生在https上,要么vps 443端口没开,要么证书有问题)</p>
<p>经过排查后,发现443端口是开放的,然后NPM重新申请证书,还是不可以,最后更换域名重新申请证书后,问题解决。</p>
]]></content>
<categories>
<category>魔法上网</category>
</categories>
</entry>
</search>