Skip to content

Commit 44da85d

Browse files
committed
main
1 parent 96e5268 commit 44da85d

File tree

1 file changed

+317
-0
lines changed

1 file changed

+317
-0
lines changed
Lines changed: 317 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,317 @@
1+
# Redia 高级路径替换语法教程
2+
3+
本文档详细介绍 Redia 系统中 Emby Reverse、Drive115 和 Drive123 模块使用的路径替换、复制小号和随机选择语法,帮助用户灵活配置云盘路径映射。
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+
#### 示例 1:基本路径替换
33+
34+
```
35+
/CloudNAS/115open => /115open
36+
```
37+
38+
**说明**:将路径前缀 `/CloudNAS/115open` 替换为 `/115open`
39+
40+
#### 示例 2:URL 路径替换
41+
42+
```
43+
http://192.168.9.89:19798/static/http/192.168.9.89:19798/False/%2F115open => /115open
44+
```
45+
46+
**说明**
47+
48+
- 支持 HTTP/HTTPS URL 的路径替换
49+
- 协议部分会被系统正确处理
50+
- URL 编码的路径会被自动解码
51+
52+
#### 示例 3:清空路径前缀
53+
54+
```
55+
/old/path => ""
56+
```
57+
58+
**说明**
59+
60+
- 使用空字符串 `""` 可以移除路径前缀
61+
- 例如:`/old/path/file.mp4` 会被替换为 `/file.mp4`
62+
63+
#### 示例 4:多行配置
64+
65+
在配置文件中,可以配置多行路径替换规则:
66+
67+
```
68+
/CloudNAS/115open => /115open
69+
/CloudNAS/123 => /123
70+
/CloudNAS/阿里云盘 => /阿里云盘
71+
```
72+
73+
**注意**:系统会按顺序从上到下匹配,找到第一个匹配的规则后立即停止,因此建议将更具体、更精确的规则放在前面。
74+
75+
---
76+
77+
## 复制小号语法
78+
79+
### 基本格式
80+
81+
使用 `>>`(空格 + 双大于号 + 空格)来分隔源云盘和目标云盘,实现跨账号文件复制(秒传)。
82+
83+
```
84+
源云盘名称 >> 目标云盘名称
85+
```
86+
87+
### 工作原理
88+
89+
1. 系统识别到 `>>` 语法后,会从源云盘复制文件到目标云盘
90+
2. 使用秒传技术(`upload_file_init`),无需实际下载上传,速度极快
91+
3. 支持多个目标云盘,用逗号分隔,系统会随机打乱顺序尝试
92+
93+
### 示例
94+
95+
```
96+
/CloudNAS/115 => /115主号 >> /115小号1/电影
97+
```
98+
99+
**说明**
100+
101+
- 当路径为 `/115主号/电影/xxx.mp4`
102+
- 系统会从 `115主号` 云盘复制文件到 `115小号1/电影` 目录下
103+
- 目标路径为 `/115小号1/电影/xxx.mp4`
104+
- `/电影` 可以自行指定,留空则默认复制到根目录的 `/Redia` 文件夹下
105+
106+
**多目标示例**
107+
108+
```
109+
/CloudNAS/115 => /115主号 >> /115小号1,/115小号2,/115小号3
110+
```
111+
112+
系统会随机选择一个目标小号进行复制。
113+
114+
---
115+
116+
## 随机选择语法
117+
118+
### 基本格式
119+
120+
在云盘名称中使用**逗号**分隔多个云盘名称,系统会随机打乱顺序并依次尝试。
121+
122+
```
123+
云盘名称1,云盘名称2,云盘名称3
124+
```
125+
126+
### 工作原理
127+
128+
1. 系统检测到逗号分隔的多个云盘名称
129+
2. 使用 `random.shuffle()` 随机打乱顺序
130+
3. 依次尝试每个云盘,直到成功获取下载链接
131+
4. 如果所有云盘都失败,返回 `None`
132+
133+
### 示例
134+
135+
#### 示例 1:基本随机选择
136+
137+
**重要提示**:成功的前提是待选网盘的指定位置都有相同的文件。
138+
139+
```
140+
/CloudNAS/115open => /115账号1,/115账号2,/115账号3
141+
```
142+
143+
**说明**
144+
145+
- 系统会随机打乱顺序,例如:`[115账号2, 115账号1, 115账号3]`
146+
- 先尝试 `115账号2`,如果失败则尝试 `115账号1`,以此类推
147+
- 直到成功获取下载链接或全部失败
148+
149+
#### 示例 2:中文逗号支持
150+
151+
```
152+
/115账号1,115账号2,115账号3/电影/xxx.mp4
153+
```
154+
155+
**说明**
156+
157+
- 系统支持中文逗号(``),会自动转换为英文逗号
158+
- 效果与使用英文逗号完全相同
159+
160+
---
161+
162+
## 组合使用示例
163+
164+
### 示例 1:路径替换 + 复制小号 + 随机选择
165+
166+
```
167+
/CloudNAS/115open => /115主号 >> /115小号1,/115小号2,/115小号3
168+
```
169+
170+
**执行流程**
171+
172+
1. **路径替换**`/CloudNAS/115open/电影/xxx.mp4` => `/115主号/电影/xxx.mp4`
173+
2. **复制小号**:从 `115主号` 复制到随机选择的小号(例如:`115小号2`
174+
3. **返回结果**:返回 `115小号2` 的下载链接
175+
176+
### 示例 2:路径替换 + 随机选择
177+
178+
```
179+
/CloudNAS/115open => /115账号1,/115账号2,/115账号3
180+
```
181+
182+
**执行流程**
183+
184+
1. **路径替换**`/CloudNAS/115open/电影/xxx.mp4` => `/115账号1/电影/xxx.mp4`(或随机选择的账号)
185+
2. **随机选择**:系统随机选择一个账号尝试获取下载链接
186+
3. **返回结果**:返回成功账号的下载链接
187+
188+
### 示例 3:复制小号 + 随机选择
189+
190+
```
191+
/115主号 >> /115小号1,/115小号2,/115小号3
192+
```
193+
194+
**执行流程**
195+
196+
1. **复制小号**:从 `115主号` 复制文件
197+
2. **随机选择**:随机选择一个目标小号进行复制
198+
3. **返回结果**:返回成功复制的小号下载链接
199+
200+
---
201+
202+
## 注意事项
203+
204+
### 1. 路径替换规则顺序
205+
206+
- 系统按配置顺序从上到下匹配
207+
- 找到第一个匹配的规则后立即停止
208+
- **建议**:将更具体、更精确的规则放在前面,避免被通用规则提前匹配
209+
210+
### 2. 云盘名称匹配
211+
212+
- 云盘名称必须与配置中设置的 `name` 字段完全匹配
213+
- **区分大小写**,例如 `115主号``115主號` 是不同的
214+
- 支持中英文名称,但必须完全一致
215+
216+
### 3. 复制小号限制
217+
218+
- 目前仅支持 **115 到 115****123 到 123** 的跨账号复制
219+
- **不支持跨平台复制**(如 115 到 123、115 到阿里云盘等)
220+
- 复制使用秒传技术,需要文件在目标账号中已存在(文件哈希值相同)
221+
- 如果目标账号中没有该文件,复制操作会失败
222+
223+
### 4. 随机选择机制
224+
225+
- 每次请求都会重新随机打乱顺序
226+
- 如果某个云盘失败,会自动尝试下一个
227+
- 所有云盘都失败时,返回 `None`
228+
- **注意**:随机选择会增加响应时间,建议合理配置云盘数量
229+
230+
### 5. 特殊字符处理
231+
232+
- 路径中的特殊字符会被自动 URL 编码/解码
233+
- 支持中文路径和特殊字符
234+
- 空格、中文字符等都会被正确处理
235+
236+
### 6. 性能考虑
237+
238+
- 随机选择会依次尝试,可能增加响应时间
239+
- 建议将成功率高的云盘放在前面(虽然顺序会被打乱,但可以优先尝试)
240+
- 复制小号操作需要调用 API,可能有一定延迟(通常为 1-3 秒)
241+
- 建议合理配置规则数量,避免过多规则影响性能
242+
243+
### 7. 语法符号要求
244+
245+
- `=>``>>` 前后必须有空格
246+
- 逗号分隔多个云盘时,逗号前后可以有空格(可选)
247+
- 格式错误会导致规则无法识别
248+
249+
---
250+
251+
## 常见问题
252+
253+
### Q1: 为什么路径替换没有生效?
254+
255+
**A**: 请检查以下几点:
256+
257+
1. **格式检查**:路径替换规则格式是否正确(`=>` 前后必须有空格)
258+
2. **路径匹配**:源路径是否完全匹配(区分大小写,包括前后斜杠)
259+
3. **规则顺序**:规则顺序是否正确(更具体的规则应在前面)
260+
4. **配置保存**:是否已保存配置文件并重启服务
261+
262+
### Q2: 复制小号失败怎么办?
263+
264+
**A**: 可能的原因及解决方法:
265+
266+
1. **文件不存在**:目标账号中没有该文件(秒传需要文件已存在),需要先在目标账号中上传该文件
267+
2. **Cookies 失效**:Cookies 失效,需要重新配置源账号和目标账号的 Cookies
268+
3. **配置错误**:源账号或目标账号配置错误,检查云盘名称是否正确
269+
4. **网络问题**:网络连接不稳定,检查网络连接
270+
271+
### Q3: 随机选择总是失败?
272+
273+
**A**: 请检查以下内容:
274+
275+
1. **云盘配置**:所有云盘名称是否正确配置,是否与 `name` 字段完全匹配
276+
2. **账号信息**:云盘的 Cookies/账号信息是否有效,是否已过期
277+
3. **文件路径**:文件路径在云盘中是否存在,路径是否正确
278+
4. **文件一致性**:所有待选云盘的指定位置是否都有相同的文件
279+
280+
### Q4: 可以同时使用多个语法吗?
281+
282+
**A**: 可以!语法可以灵活组合使用:
283+
284+
- **路径替换 + 复制小号**:先替换路径,再复制到小号
285+
- **路径替换 + 随机选择**:先替换路径,再随机选择云盘
286+
- **复制小号 + 随机选择**:复制到随机选择的目标云盘
287+
- **三者同时使用**:路径替换 → 复制小号 → 随机选择目标
288+
289+
### Q5: 如何调试路径替换规则?
290+
291+
**A**: 建议的调试方法:
292+
293+
1. **逐步测试**:先配置简单的规则测试是否生效
294+
2. **查看日志**:查看系统日志,了解规则匹配情况
295+
3. **单独测试**:将复杂规则拆分为多个简单规则分别测试
296+
4. **检查格式**:确保所有语法符号格式正确
297+
298+
### Q6: 复制小号需要多长时间?
299+
300+
**A**: 复制小号使用秒传技术,通常需要:
301+
302+
- **成功情况**:1-3 秒(取决于网络和 API 响应速度)
303+
- **失败情况**:立即返回失败(文件不存在或配置错误)
304+
- **注意**:如果目标账号中没有该文件,秒传会失败,需要先上传文件
305+
306+
---
307+
308+
## 总结
309+
310+
Redia 的高级路径替换语法提供了强大的路径映射和云盘管理功能,通过合理配置路径替换、复制小号和随机选择语法,可以实现灵活的云盘资源管理和负载均衡。建议在使用时:
311+
312+
1. 仔细阅读本文档,理解各语法的原理和限制
313+
2. 从简单配置开始,逐步增加复杂度
314+
3. 注意规则顺序和格式要求
315+
4. 遇到问题时参考常见问题部分进行排查
316+
317+
如有其他问题,欢迎查阅相关文档或联系技术支持。

0 commit comments

Comments
 (0)