Skip to content

Commit

Permalink
增加webui版本基本教程
Browse files Browse the repository at this point in the history
  • Loading branch information
asforest committed Dec 10, 2024
1 parent 386d67d commit 4d8211e
Show file tree
Hide file tree
Showing 2 changed files with 218 additions and 98 deletions.
155 changes: 117 additions & 38 deletions docs/v2/installation/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,50 @@ mcpatch v2的版本号分三段:`0`.`1`.`2`。当前两段也就是`0`或者`1

首先在桌面上(或者任何你喜欢的地方)创建一个目录,叫`guanli`。然后将刚刚下载好的管理端程序放进去。

双击即可启动管理端。启动成功后可以看到有`> `的字样,此时进入了交互式命令行模式。按回车就可以出现管理端支持的命令列表
如果你是从命令行版本的管理端升级到webui版本的管理端,请删除config.toml文件重新生成,否则webui版本的管理端可能无法正常工作

我们输出`check`命令按下回车键,它会提示修改的文件数量为多少多少,我们先忽视这个消息。
<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
双击即可启动管理端。启动成功后可以看到有`> `的字样,此时进入了交互式命令行模式。按回车就可以出现管理端支持的命令列表。

回到`guanli`目录下,你会注意到管理端程序旁边新增了一个名为`workspace`的文件夹,这就是工作空间目录。
我们输出`check`命令按下回车键,它会提示修改的文件数量为多少多少,我们先忽视这个消息。
</TabItem>

<TabItem value="webui" label="WebUI版本">
双击即可启动管理端。

启动成功之后,会自动创建配置文件和生成一组默认的账号密码。我们需要复制密码到安全的地方妥善保存,因为密码只会显示一次。

管理端默认会同时启动webui服务(port: 6710)和私有协议服务(port: 6700)。我们打开浏览器,输入`http://127.0.0.0.1`即可打开webui界面。

如果你忘记了用户名或者是密码,可以删除user.toml文件后,重启管理端,就可以重新生成账号密码。
</TabItem>
</Tabs>

接着回到`guanli`目录下,你会注意到管理端程序旁边新增了一个名为`workspace`的文件夹,这就是工作空间目录。

此时,`guanli`目录大概长这样:
```
guanli/
├─ workspace/ # 工作空间
└─ m-0.0.11-x86_64-pc-windows-msvc.exe # 管理端程序
```

<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
```
guanli/
├─ workspace/ # 工作空间目录
├─ public/ # 公共目录
└─ m-0.0.11-x86_64-pc-windows-msvc.exe # 管理端程序
```
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
```
guanli/
├─ workspace/ # 工作空间目录
├─ public/ # 公共目录
├─ config.toml # 管理端配置文件
├─ user.toml # 管理端的认证相关配置文件,账号密码等数据
└─ m.exe # 管理端程序
```
</TabItem>
</Tabs>

无论是要向客户端添加新文件、修改现有文件、删除文件、移动文件,你只需要在`workspace`目录中对相应的文件进行操作。每当管理端进行打包操作时,管理端会对比`workspace`目录中文件的变化,来生成更新包。

Expand All @@ -60,6 +92,8 @@ guanli/

现在把目前需要更新的文件全部放到工作空间目录里,暂时不更新的文件以后再放,这能减少更新包的大小。

如果你在使用WebUI版本,可以使用左侧菜单中的在线文件管理功能直接上传,也可以将文件手动添加到工作空间目录里。

那么,下面是一些常见的栗子可以参考。(不存在的文件夹需要手动创建)

<Tabs>
Expand Down Expand Up @@ -162,19 +196,32 @@ guanli/

## 四、打包

切回管理端窗口。(如果你已经退出了,那么再次双击运行即可)

看到`> `的字样后。输入`pack <version>`即可开始打包,`<version>`是要打包的版本号,不能和现有的重复。
<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
切回管理端窗口。(如果你已经退出了,那么再次双击运行即可)

版本号只能包括大小写字母,数字,以及`!@#$()_+-=;',.`这几个符号,不要使用中文,空格,或其它字符,会出问题。
看到`> `的字样后。输入`pack <version>`即可开始打包,`<version>`是要打包的版本号,不能和现有的重复。

版本号只能包括大小写字母,数字,以及`!@#$()_+-=;',.`这几个符号,不要使用中文,空格,或其它字符,会出问题。

:::tip

如果要写版本更新记录,需要在打包开始之前,提前把更新记录用使用utf-8编码写在`guanli/logs.txt`文件里,管理端打包时会自动读取这个文件。
如果要写版本更新记录,需要在打包开始之前,提前把更新记录用使用utf-8编码写在`guanli/logs.txt`文件里,管理端打包时会自动读取这个文件。

:::

看到“打包完成!”的字样即代表打包成功了,更新包会存放在public目录下,会按版本号进行命名。
看到“打包完成!”的字样即代表打包成功了,更新包会存放在public目录下,会按版本号进行命名。
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
点击左侧菜单切换到终端界面。

点击“打包新版本”按钮,输入版本号和更新记录即可。

版本号只能包括大小写字母,数字,以及`!@#$()_+-=;',.`这几个符号,不要使用中文,空格,或其它字符,会出问题。
</TabItem>
</Tabs>



此时,`guanli`目录大概长这样:
```
Expand All @@ -184,12 +231,19 @@ guanli/
│ └─ index.json
├─ workspace/ # 工作空间
│ └─ 各种文件
├─ logs.txt # 更新记录
├─ config.toml # 上传脚本配置文件
└─ m-0.0.11-x86_64-pc-windows-msvc.exe # 管理端程序
```

如果对打包结果不放心,可以使用`test`对更新包进行校验,这会模拟客户端的解压过程,检查文件是否损坏。
<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
如果对打包结果不放心,可以使用`test`对更新包进行校验,这会模拟客户端的解压过程,检查文件是否损坏。
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
如果对打包结果不放心,可以点击“测试更新包”按钮对更新包进行校验,这会模拟客户端的解压过程,检查文件是否损坏。
</TabItem>
</Tabs>



:::danger[万分小心!!!]

Expand All @@ -199,11 +253,29 @@ guanli/

## 五、后续打包

后续的文件维护很简单!直接对工作空间目录下的文件或者目录进行增加,删除,修改替换,移动,重命名都可。想怎么操作怎么操作。修改到自己满意为止后,完后输入`pack <version>`打包即可。
后续的文件维护很简单!直接对工作空间目录下的文件或者目录进行增加,删除,修改替换,移动,重命名都可。想怎么操作怎么操作。

<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
修改到自己满意为止后,完后输入`pack <version>`打包即可。
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
修改到自己满意为止后,点击“打包新版本”按钮即可。
</TabItem>
</Tabs>


管理端会自动感知到你做的所有文件修改,并打成更新包,再将这些修改同步到客户端。整个过程操作起来方便和直观,只需要把工作空间目录当成普通目录一样修改就好了。

如果对工作空间目录下的文件进行了修改,但又发现改的不对。可以使用管理端的`revert`命令来丢弃刚刚的修改,将文件状态退回上一次打包的时候。

<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
如果对工作空间目录下的文件进行了修改,但又发现改的不对。可以使用管理端的`revert`命令来丢弃刚刚的修改,将文件状态退回上一次打包的时候。
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
如果对工作空间目录下的文件进行了修改,但又发现改的不对。可以点击“回退工作空间”按钮来丢弃刚刚的修改,将文件状态退回上一次打包的时候。
</TabItem>
</Tabs>

下面是一些管理端中,常被问到的问题:

Expand Down Expand Up @@ -238,29 +310,36 @@ guanli/

管理端自带的服务端使用私有协议,这是mcpatch自己基于tcp设计的一套文件传输协议。相较HTTP协议的优点是配置难度低和免备案即可使用。其开箱即用的特性,非常适合小服使用或者本地测试。

要启动管理端自带的服务端功能,首先需要启动管理端,然后输入`serve`按回车即可启动。(注意命令是`serve`不是`server`不要打错)

默认的端口是6700,如果需要调整,可用修改管理端的配置文件`config.toml`中的`serve-listen-port`字段。
<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
要启动管理端自带的服务端功能,首先需要启动管理端,然后输入`serve`按回车即可启动。(注意命令是`serve`不是`server`不要打错)

想要关闭服务端可以叉掉终端的窗口,或者按Ctrl + C即可。

管理端一般都是同时开两个管理端进程实例,一个打包用,用完叉掉。一个跑内置服务端,一直挂在后台
默认的端口是6700,如果需要调整,可用修改管理端的配置文件`config.toml`中的`serve-listen-port`字段。

想要关闭服务端可以叉掉终端的窗口,或者按Ctrl + C即可。

管理端一般都是同时开两个管理端进程实例,一个打包用,用完叉掉。一个跑内置服务端,一直挂在后台

---

通常我们都习惯从bat启动这个自带服务端。但服务端除了使用交互式命令行启动以外,也支持从普通命令行参数启动。

我们可以在`guanli`目录下,也就是管理端程序旁边新建一个`serve.bat`文件。(名字随意)

然后将下面的内容粘贴进去,然后双击启动即可。(其中`<mcpatch-manager>`需要替换成实际的文件名)

```bat
@echo off
<mcpatch-manager> serve
```
</TabItem>
<TabItem value="webui" label="WebUI版本" default>
WebUI版本默认会自动启动私有协议服务端,监听端口为6700,默认情况下无需手动开启,可以直接使用。
</TabItem>
</Tabs>

如果需要在内网穿透环境下使用管理端自带的服务端功能,协议记得选择TCP协议。

---

通常我们都习惯从bat启动这个自带服务端。但服务端除了使用交互式命令行启动以外,也支持从普通命令行参数启动。

我们可以在`guanli`目录下,也就是管理端程序旁边新建一个`serve.bat`文件。(名字随意)

然后将下面的内容粘贴进去,然后双击启动即可。(其中`<mcpatch-manager>`需要替换成实际的文件名)

```bat
@echo off
<mcpatch-manager> serve
```

## 七、配置客户端

当管理端部署安装好之后,就可以开始配置客户端程序这边了。
Expand Down
161 changes: 101 additions & 60 deletions docs/v2/installation/upload.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,108 @@
---
title: 上传对象存储
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

管理端打包后,可能要把更新包上传到自己的服务器,或者对象存储上供大家下载。

管理端本身没有直接上传文件的能力,但可以通过“上传脚本模板”这个特性间接将更新包上传到服务器上。
<Tabs groupId="manager-edition">
<TabItem value="cmd" label="命令行版本" default>
管理端本身没有直接上传文件的能力,但可以通过“上传脚本模板”这个特性间接将更新包上传到服务器上。

配置好后,每次打包完成自动生成一个上传脚本,双击运行后也可以自动把更新包上传到自定义的服务器上。

在使用这个功能之前,需要提前准备好对应的cli上传工具,比如要上传到对象存储,就要准备对象存储的命令行工具。

打开管理端的文件夹,编辑管理端的配置文件`config.toml`,将`upload-script-output`后面的`.txt`替换成`.bat`好方便在Windows系统上运行。

再在管理端exe文件旁边创建一个空文件`upload-template.txt`。

这个文件就是模板文件了,打包后会按这个模板文件的内容,自动生成一个新的上传脚本。

这里以windows平台上传到腾讯对象存储为例,其它平台和上传方式也是同理。

首先要从[腾讯云的官网](https://cloud.tencent.com/document/product/436/63144)下载COSCLI工具,这里要下载自己操作系统对应的版本。

将下载好的`coscli-windows.exe`移动到管理端文件夹里来,再创建一个新文件`tencent-cos.yml`作为coscli的配置文件。

打开`tencent-cos.yml`进行编辑,将下面内容粘贴进去:

```yaml
cos:
base:
secretid: aaaaa
secretkey: bbbbb
sessiontoken: ""
protocol: https
buckets:
- name: ccccc
alias: my-default-bucket
region: ""
endpoint: ddddd
```

这里有4个内容需要手动替换成自己的:

1. aaaaa:替换成自己的Secret Id
2. bbbbb:替换成自己的Secret Key
3. ccccc:替换成自己的桶名
4. ddddd:替换成自己的地域

完成后保存关闭,coscli就配置完毕了。现在来配置从脚本调用coscli的命令。

打开编辑模板文件`upload-template.txt`,将下面的内容粘贴进去,然后保存关闭:

```batch
@echo off

{{ for f in upload_files }}
coscli-windows.exe -c tencent-cos.yml sync "{f}" "cos://my-default-bucket/backgrounds/{f}" --force {{ endfor }}

{{ for f in delete_files }}
coscli-windows.exe -c tencent-cos.yml rm "cos://my-default-bucket/backgrounds/{f}" --force {{ endfor }}

pause
del %0
```

脚本最后一行代表删除自己,当上传完成后,可以按任意键继续,然后脚本会删除自己。如果上传失败了,可以手动叉掉窗口,然后重新运行一次上传。

上面是以windows平台为例子,如果是linux平台,可以用模板生成sh文件,只需要在配置文件config.toml中将生成的脚本文件后缀名修改成`.sh`。
</TabItem>
<TabItem value="webui" label="WebUI版本(s3)">
WebUI版本支持s3和webdav协议的上传。s3协议支持上传到亚马逊,阿里云,腾讯云,华为云,百度云,七牛,雨云等服务商的对象存储服务。

首先打开管理端的配置文件config.toml。

将s3下的enabled改为true,打开s3的上传功能。

s3的配置有4项,端点,桶名,id和key。

首先需要配置端点:

+ 腾讯云:`https://cos.<region>.myqcloud.com`(将`<region>`替换成对应的地域即可,比如`ap-guangzhou`)
+ 阿里云:`https://oss-<resion>.aliyuncs.com`(将`<region>`替换成对应的地域即可,比如`cn-hangzhou`)

然后需要配置桶名:

+ 腾讯云:通常格式为`<BucketName-APPID>`,既桶名+APPID
+ 阿里云:格式没有限制

最后是id和key,配置好后重新启动管理端即可生效。

</TabItem>
<TabItem value="webui-webdav" label="WebUI版本(webdav)">
WebUI版本支持s3和webdav协议的上传。

首先打开管理端的配置文件config.toml。

将webdav下的enabled改为true,打开webdav的上传功能。

host部分填写webdav的访问地址,username和password分别填写账号和密码。

配置好后重新启动管理端即可生效。

</TabItem>
</Tabs>

配置好后,每次打包完成自动生成一个上传脚本,双击运行后也可以自动把更新包上传到自定义的服务器上。

在使用这个功能之前,需要提前准备好对应的cli上传工具,比如要上传到对象存储,就要准备对象存储的命令行工具。

打开管理端的文件夹,编辑管理端的配置文件`config.toml`,将`upload-script-output`后面的`.txt`替换成`.bat`好方便在Windows系统上运行。

再在管理端exe文件旁边创建一个空文件`upload-template.txt`

这个文件就是模板文件了,打包后会按这个模板文件的内容,自动生成一个新的上传脚本。

这里以windows平台上传到腾讯对象存储为例,其它平台和上传方式也是同理。

首先要从[腾讯云的官网](https://cloud.tencent.com/document/product/436/63144)下载COSCLI工具,这里要下载自己操作系统对应的版本。

将下载好的`coscli-windows.exe`移动到管理端文件夹里来,再创建一个新文件`tencent-cos.yml`作为coscli的配置文件。

打开`tencent-cos.yml`进行编辑,将下面内容粘贴进去:

```yaml
cos:
base:
secretid: aaaaa
secretkey: bbbbb
sessiontoken: ""
protocol: https
buckets:
- name: ccccc
alias: my-default-bucket
region: ""
endpoint: ddddd
```
这里有4个内容需要手动替换成自己的:
1. aaaaa:替换成自己的Secret Id
2. bbbbb:替换成自己的Secret Key
3. ccccc:替换成自己的桶名
4. ddddd:替换成自己的地域
完成后保存关闭,coscli就配置完毕了。现在来配置从脚本调用coscli的命令。
打开编辑模板文件`upload-template.txt`,将下面的内容粘贴进去,然后保存关闭:

```batch
@echo off
{{ for f in upload_files }}
coscli-windows.exe -c tencent-cos.yml sync "{f}" "cos://my-default-bucket/backgrounds/{f}" --force {{ endfor }}
{{ for f in delete_files }}
coscli-windows.exe -c tencent-cos.yml rm "cos://my-default-bucket/backgrounds/{f}" --force {{ endfor }}
pause
del %0
```

脚本最后一行代表删除自己,当上传完成后,可以按任意键继续,然后脚本会删除自己。如果上传失败了,可以手动叉掉窗口,然后重新运行一次上传。

上面是以windows平台为例子,如果是linux平台,可以用模板生成sh文件,只需要在配置文件config.toml中将生成的脚本文件后缀名修改成`.sh`。

0 comments on commit 4d8211e

Please sign in to comment.