高级路径替换语法教程
约 2497 字大约 8 分钟
2025-12-18
指南简介
- 本文档详细介绍 Redia 系统中 Emby Reverse、Drive115 和 Drive123 模块使用的路径替换、复制小号和随机选择语法。帮助用户灵活配置云盘路径映射。
一. 路径替换语法
1. 基本格式
使用 =>(空格 + 双等号 + 大于号 + 空格)来分隔源路径和目标路径。
源路径 => 目标路径2. 工作原理
系统会按配置顺序遍历所有路径替换规则,找到第一个匹配的规则后执行替换,然后停止继续匹配后续规则。
3. 示例
示例 1: 基本路径替换
/CloudNAS/115open => 115open说明: 将路径前缀 /CloudNAS/115open 替换为 指定的网盘 115open。
示例 2: URL 路径替换
http://192.168.9.89:19798/static/http/192.168.9.89:19798/False/%2F115open => /115open说明:
- 支持 HTTP/HTTPS URL 的路径替换。
- 协议部分会被系统正确处理。
- URL 编码的路径会被自动解码。
示例 3: 清空路径前缀
/old/path => ""说明:
- 使用空字符串 "" 可以移除路径前缀。
- 例如:
/old/path/file.mp4会被替换为/file.mp4。
示例 4: 多行配置
在配置文件中,可以配置多行路径替换规则:
/CloudNAS/115open => 115open
/CloudNAS/123 => 123
/CloudNAS/阿里云盘 => 阿里云盘注意:
- 系统会按顺序从上到下匹配,找到第一个匹配的规则后立即停止。
- 因此建议将更具体、更精确的规则放在前面。
二. 复制小号语法
1. 基本格式
使用 >>(空格 + 双大于号 + 空格)来分隔源云盘和目标云盘,实现跨账号文件复制(秒传)。
源云盘名称 >> 目标云盘名称2. 工作原理
- 系统识别到
>>语法后,会从源云盘复制文件到目标云盘。 - 使用秒传技术(
upload_file_init),无需实际下载上传,速度极快。 - 支持多个目标云盘,用逗号分隔,系统会随机打乱顺序尝试。
3. 示例
/CloudNAS/115 => 115主号 >> 115小号1/电影说明:
- 当路径为
115主号/电影/xxx.mp4时。 - 系统会从
115主号云盘复制文件到115小号1/电影目录下。 - 目标路径为
115小号1/电影/xxx.mp4。 /电影可以自行指定,留空则默认复制到根目录的/Redia文件夹下。
多目标示例:
/CloudNAS/115 => 115主号 >> 115小号1,115小号2,115小号3系统会随机选择一个目标小号进行复制。
三. 随机选择语法
1. 基本格式
在云盘名称中使用 逗号 分隔多个云盘名称,系统会随机打乱顺序并依次尝试。
云盘名称1,云盘名称2,云盘名称32. 工作原理
- 系统检测到逗号分隔的多个云盘名称。
- 使用
random.shuffle()随机打乱顺序。 - 依次尝试每个云盘,直到成功获取下载链接。
- 如果所有云盘都失败,返回
None。
3. 示例
示例 1: 基本随机选择
重要提示: 成功的前提是待选网盘的指定位置都有相同的文件。
/CloudNAS/115open => 115账号1,115账号2,115账号3说明:
- 系统会随机打乱顺序,例如:
[115账号2, 115账号1, 115账号3] - 先尝试
115账号2,如果失败则尝试115账号1,以此类推。 - 直到成功获取下载链接或全部失败。
示例 2: 中文逗号支持
/115账号1,115账号2,115账号3/电影/xxx.mp4说明:
- 系统支持中文逗号(
,),会自动转换为英文逗号。 - 效果与使用英文逗号完全相同。
四. 组合使用示例
示例 1: 路径替换 + 复制小号 + 随机选择
/CloudNAS/115open => 115主号 >> 115小号1,115小号2,115小号3执行流程:
- 路径替换:
/CloudNAS/115open/电影/xxx.mp4=>115主号/电影/xxx.mp4。 - 复制小号: 从
115主号复制到随机选择的小号(例如:115小号2)。 - 返回结果: 返回
115小号2的下载链接。
示例 2: 路径替换 + 随机选择
/CloudNAS/115open => /115账号1,/115账号2,/115账号3执行流程:
- 路径替换:
/CloudNAS/115open/电影/xxx.mp4=>115账号1/电影/xxx.mp4(或随机选择的账号)。 - 随机选择: 系统随机选择一个账号尝试获取下载链接。
- 返回结果: 返回成功账号的下载链接。
五. 注意事项
1. 路径替换规则顺序
- 系统按配置顺序从上到下匹配。
- 找到第一个匹配的规则后立即停止
- 建议: 将更具体、更精确的规则放在前面,避免被通用规则提前匹配。
2. 云盘名称匹配
- 云盘名称必须与配置中设置的
name字段完全匹配。 - 区分大小写,例如
115主号和115主號是不同的。 - 支持中英文名称,但必须完全一致。
3. 复制小号限制
- 目前仅支持 115 到 115 和 123 到 123 的跨账号复制。
- 不支持跨平台复制(如 115 到 123、115 到阿里云盘等)。
4. 随机选择机制
- 每次请求都会重新随机打乱顺序。
- 如果某个云盘失败,会自动尝试下一个。
- 所有云盘都失败时,返回
None。 - 注意: 随机选择会增加响应时间,建议合理配置云盘数量。
5. 特殊字符处理
- 路径中的特殊字符会被自动 URL 编码/解码。
- 支持中文路径和特殊字符。
- 空格、中文字符等都会被正确处理。
6. 性能考虑
- 随机选择会依次尝试,可能增加响应时间。
- 建议将成功率高的云盘放在前面(虽然顺序会被打乱,但可以优先尝试)。
- 复制小号操作需要调用 API,可能有一定延迟(通常为 1-3 秒)。
- 建议合理配置规则数量,避免过多规则影响性能。
7. 语法符号要求
=>和>>前后必须有空格。- 逗号分隔多个云盘时,逗号前后可以有空格(可选)。
- 格式错误会导致规则无法识别。
六. 常见问题
Q: 为什么路径替换没有生效?
A: 请检查以下几点:
- 格式检查: 路径替换规则格式是否正确(=> 前后必须有空格)。
- 路径匹配: 源路径是否完全匹配(区分大小写,包括前后斜杠)。
- 规则顺序: 规则顺序是否正确(更具体的规则应在前面)。
- 配置保存: 是否已保存配置文件并重启服务。
Q: 复制小号失败怎么办?
A: 可能的原因及解决方法:
- 文件不存在: 目标账号中没有该文件(秒传需要文件已存在),需要先在目标账号中上传该文件。
- Cookies 失效: Cookies 失效,需要重新配置源账号和目标账号的 Cookies。
- 配置错误: 源账号或目标账号配置错误,检查云盘名称是否正确。
- 网络问题: 网络连接不稳定,检查网络连接。
Q: 随机选择总是失败?
A: 请检查以下内容:
- 云盘配置: 所有云盘名称是否正确配置,是否与
name字段完全匹配。 - 账号信息: 云盘的 Cookies/账号信息是否有效,是否已过期。
- 文件路径: 文件路径在云盘中是否存在,路径是否正确。
- 文件一致性: 所有待选云盘的指定位置是否都有相同的文件。
Q: 可以同时使用多个语法吗?
A: 可以!语法可以灵活组合使用::
- 路径替换 + 复制小号: 先替换路径,再复制到小号。
- 路径替换 + 随机选择: 先替换路径,再随机选择云盘。
- 复制小号 + 随机选择: 复制到随机选择的目标云盘。
- 三者同时使用: 路径替换 → 复制小号 → 随机选择目标。
Q: 如何调试路径替换规则?
A: 建议的调试方法:
- 逐步测试: 先配置简单的规则测试是否生效。
- 查看日志: 查看系统日志,了解规则匹配情况。
- 单独测试: 将复杂规则拆分为多个简单规则分别测试。
- 检查格式: 确保所有语法符号格式正确。
Q: 复制小号需要多长时间?
A: 复制小号使用秒传技术,通常需要:
- 成功情况: 1-3 秒(取决于网络和 API 响应速度)。
- 失败情况: 立即返回失败(文件不存在或配置错误)。
- 注意: 如果目标账号中没有该文件,秒传会失败,需要先上传文件 。
六. 总结
Redia 的高级路径替换语法提供了强大的路径映射和云盘管理功能,通过合理配置路径替换、复制小号和随机选择语法,可以实现灵活的云盘资源管理和负载均衡。
建议在使用时:
- 仔细阅读本文档,理解各语法的原理和限制。
- 从简单配置开始,逐步增加复杂度。
- 注意规则顺序和格式要求。
- 遇到问题时参考常见问题部分进行排查。
如有其他问题,欢迎查阅相关文档或联系技术支持。