GopeedLab / gopeed

A modern download manager that supports all platforms. Built with Golang and Flutter.
https://gopeed.com
GNU General Public License v3.0
16.95k stars 1.19k forks source link

安卓版跟Windows版的BT下载peer id不一样,用的代码不同吗? #781

Open i990049 opened 1 month ago

i990049 commented 1 month ago

安卓1.6.0版用的是 anacrolix-torrent/v1.56.1 peer id -GP1600- 开始以为flutter跨平台用的BT代码都是一样的,结果到了Windows 10下载同一个站点就不行了,是否用了跟安卓不同的BT代码或者peer id?建议换Windows和Android统一使用libtorrent代码,有个golang语言写的elementum之前也是用anacrolix,尽管 Anacrolix/torrent 支持内存作为存储,但下载速度很慢,又迁移到了libtorrent,有兴趣可以看看 https://github.com/elgatito/plugin.video.elementum 另外一个golang的torrent library https://github.com/cenkalti/rain

下面是封杀anacrolix-torrent的理由和软件,安卓版gopeed应该也被封杀 https://github.com/anacrolix/torrent/discussions/891 https://github.com/Simple-Tracker/qBittorrent-ClientBlocker https://github.com/PBH-BTN/PeerBanHelper

anacrolix/torrent 被上面的软列表禁止,就像另一个库“Monotorrent”一样,例如Parrot BitTorrent Client. rtorrent 和 flud 使用 libtorrent,所以它们不会被封杀。

我想知道gopeed以后是否会全部平台都采用libtorrent,不管用不用都请说明理由。

另外吐槽一下为什么安卓版跟电脑版一样种子和磁力不能选择性的根据扩展名过滤挑选其中一部分文件下载,种子里面有上百个文件一个个挑选很麻烦。

最后问一下安卓为什么下载路径强制使用/storage/emulated/0/Android/data/com.gopeed/files ?我很讨厌下载到data目录,安卓14自带文件管理器也不给访问data路径,就不能设置下载到其他路径吗?

monkeyWie commented 1 month ago

问题有点多啊,我一个个回答下:

  1. peer id每个平台都是统一的,不存在windows和安卓的peer id不一样的情况
  2. libtorrent需要使用cgo binding,这会把开发环境的复杂度提高,而且也丧失了go的交叉编译特性,所以我最初就是想找一个纯go编写的torrent库,不过以后也可以调研下libtorrent的可行性
  3. peed id被封杀的问题请参考,不管是换什么底层库只要是开源的就可能会被去作恶:https://github.com/GopeedLab/gopeed/discussions/650
  4. 文件选择器优化已经规划在新UI版本中了,参考:https://github.com/GopeedLab/gopeed/discussions/730
  5. 安卓是可以切换下载目录的,点击可以切换到 /storage/emulated/0/Download/Gopeed
i990049 commented 1 month ago

如果peer id一样,为什么安卓版可以在unit3d的pt站点使用,电脑版却不行?因为安卓版的客户端名称是anacrolix-torrent/v1.56.1电脑版不是?就连电子书站点也一样,安卓版行电脑版不行,下面两个开放注册 https://itatorrents.xyz/register https://abtorrents.me/login.php

如果libtorrent不够纯,上面那个Rain够纯吗?还是不行的话,能不能用aria2?

现在的屏蔽大部分封杀anacrolix不封杀libtorrent

能不能像tixati和bigly BT那样下载同一个种子磁力的peer可以聊天?能不能像tixati那样制作最大256MB区块的种子?上TB文件和2Gbps网速可以使用256MB区块做种,有些pt站种子区块太小torrrent文件太大就被禁止上传了,只能用更大的区块做种,能加入tixati的出种多少个之后自动关机、按照日期执行计划任务功能更好

我的手机确实不能切换其他下载路径,其他软件都可以 Screenshot_20241013-111140

i990049 commented 1 month ago

还有能不能像bitcomet加个定时关机、上传出多少个种子关机的功能?bitcomet边下边播的功能太烂了,gopeed加个支持设置调用VLC media player按照文件头尾顺序下载边下边播功能,隔壁115小幸运都准备用这个用alist在线播放网盘

i990049 commented 1 month ago

我已经看见动漫花园上面有人用rain的peerid下载了,看来已经有人编译了对应的go语言客户端。gopeed目前不支持鼠标拖放打开种子功能,qbittorrent可以一次性拖放十几个种子并且使用相同的设置一键下载,希望可以改善。谢谢

monkeyWie commented 1 month ago

peer id桌面端和移动端都是一样的,不能下载应该不是peer id的问题吧,然后这个rain看起来不太成熟啊,好多特性都没实现,另外这个你切换下载目录的时候系统没有弹出授权申请吗?

i990049 commented 1 month ago

就算peer id一样客户端也不一样,三楼那两个站点,安卓版的客户端在pt网站上面被识别成 anacrolix-torrent/v1.56.1 可以下载 电脑版的客户端被识别成是gopeed 不能下载 你说rain不成熟,那去elementum上面参考一下人家怎么整合libtorrent的,电脑版gopeed下载bt之家确实没有别的软件快,速度一下有一下没有,怪不得elementum也抛弃anacrolix/gotorrent改用libtorrent https://www.1lou.info/forum-2.htm

i990049 commented 1 month ago

我的手机就弹出上面那张错误截图,其他下载软件都可以修改下载路径

monkeyWie commented 1 month ago

很关键兄弟,刚刚抓了个包看了下果然windows端和安卓的peer id不一样

i990049 commented 1 month ago

那以后打算统一客户端名称吗?用anacrolix、gopeed还是libtorrent?

monkeyWie commented 1 month ago

试试 1.6.1 版本,现在统一用的 gopeed+版本号 这样

i990049 commented 1 month ago

还好手机没改,还是anacrolix,改了一楼的网站就下载不了种子了。1.6.1版还是不能修改截图路径,截图同上。软件不能用拖放同时打开多个种子、不能调用第三方播放器边下边播、不能制作种子、不能定时关机、不能设置utp和TCP优先级别,是跟anacrolix有关还是跟golang有关?听说gtk只能设置简单界面和选项、屏根据ip和peerid屏蔽客户端,qt可以设置复杂界面和选项,golang是不是比gtk还要简单,所以写不出上面那些设置?