Gopeed BT下载路径设置指南:让文件存到你想要的位置
Gopeed BT下载路径设置指南让文件存到你想要的位置【免费下载链接】gopeedA fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.项目地址: https://gitcode.com/GitHub_Trending/go/gopeed你下载完一个BT种子去目录里找文件结果只看见一堆以种子名命名的文件夹层层嵌套直接懵了。别慌Gopeed BT下载路径的规律其实很清晰看懂之后你就能让文件存到想去的位置。文件到底被存到了哪里一句话讲清路径规则先说结论单文件种子直接落文件名多文件种子先用种子名建文件夹再按原目录落文件。打个比方单文件种子像往书架上放一张光盘直接搁上去就行多文件种子则像放一套丛书得先按丛书名立个柜子再按卷册归位。Gopeed源码里这个文件落到哪的计算逻辑通常被称作FilePathMaker落在 internal/protocol/bt/fetcher.go核心就这两行if f.torrent.Info().Length 0 { // 多文件种子 res.Name f.torrent.Name() // 用种子名作顶层文件夹 }第一行Length是种子内所有文件长度之和为 0 说明这是目录型多文件种子第二行把种子名取出来当顶层文件夹名种子里的原有目录结构原样挂在这个文件夹下面。反过来单文件种子不会建文件夹文件直接存进你选的下载目录。而所有BT任务默认根目录来自 pkg/download/model.go 中DownloaderConfig的StorageDir字段创建任务时不另指定路径就会用它。路径不对先跑一遍这 3 步自查先说结论多数找不到文件根本不用改代码按下表 3 步就能定位步骤现象可能原因验证方法1选的目录里没看到文件多文件种子被存进了种子名子文件夹在下载目录下找一个与种子同名的文件夹2设置过路径却不生效任务起不来目标目录不在白名单里被拒绝日志里搜not in white list3建文件夹失败、路径看起来怪怪的种子名带?:*等字符看种子原始名字里是否混着这些符号三种高频故障的补丁这三种故障都是小改动就能解决动手前先想清楚根因。✅故障一多文件种子目录嵌套太深。现象是动漫、纪录片类种子内部目录四五层下完点半天才找到文件。根因是路径逻辑忠实复刻种子内目录结构默认不做裁剪。改法是在拼路径前把文件路径截断只留最后 3 层if len(file.Path) 3 { file.Path file.Path[len(file.Path)-3:] // 只保留末 3 层 }改完无论种子内部多深文件最多 3 层目录找起来快很多。⚠️故障二默认下载目录改不动。现象是换个目录后任务创建失败。根因是 Gopeed 有下载目录白名单机制pkg/download/model.go 里的WhiteDownloadDirs一旦配置pkg/download/downloader.go 就会拿目标路径去比对不在名单里直接返回download directory is not in white list。改法很简单把新目录加进配置文件whiteDownloadDirs数组web 服务也可用-w参数传逗号分隔列表重启即可。故障三种子名含特殊字符。现象是带?:*的种子名导致建文件夹失败Windows 下最常见。根因是这些字符在文件系统中非法拼路径时直接报错。改法是在拼接前统一替换成下划线re : regexp.MustCompile([\\/:*?|]) name re.ReplaceAllString(seedName, _)替换后名字虽变丑一点但路径一定能建出来。进阶按扩展名自动归类存放进阶玩法是让文件下完自动归位视频进 Videos音乐进 Music你不用手动整理。思路是在 internal/protocol/bt/config.go 的 BT 协议配置里加两个字段路径生成时按扩展名查表type config struct { ListenPort int json:listenPort CategoryByType bool json:categoryByType TypeDirs map[string]string json:typeDirs } func dirFor(ext string, dirs map[string]string) string { if d, ok : dirs[ext]; ok { return d } return Others }配置文件里写上.mkv: Videos, .mp3: Music这类映射CategoryByType打开后下载完成即自动按类别入位下载目录永远整齐。动手前 5 分钟自检清单把下面 4 条过一遍再动代码会更稳先确认全局StorageDir到底指向哪里别只盯着种子名。因为种子名只决定子文件夹根目录听全局配置的。改路径前先分清任务是单文件还是多文件种子。因为两者命名规则完全不同混着看会找错地方。启用了白名单就先验证新目录在名单里再创建任务。因为被拒的任务不报错只是安静地起不来。改路径逻辑前备份 internal/protocol/bt/fetcher.go。因为路径计算和文件选择、进度更新耦合在一起改错会连累任务本身。再下一个种子时打开下载目录按上面的规则找就是了现在就可以动手试试。【免费下载链接】gopeedA fast, modern download manager for HTTP, BitTorrent, Magnet, and ed2k. Cross-platform, built with Golang and Flutter.项目地址: https://gitcode.com/GitHub_Trending/go/gopeed创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →