FileCentipede icon indicating copy to clipboard operation
FileCentipede copied to clipboard

filec何时能支持命令行交互

Open cylind opened this issue 3 years ago • 6 comments

image 期待

cylind avatar Apr 23 '22 12:04 cylind

你对这块有什么要求,期望该功能最终是什么样子。

filecxx avatar Apr 23 '22 17:04 filecxx

你对这块有什么要求,期望该功能最终是什么样子。

我希望它是能支持单次运行的,可以定义丰富参数或能设置配置文件,还能在命令行窗口上实时反馈下载信息(文件大小和已下大小,下载速度,上传速度,剩余时间,连接数目,做种人数等)

举一些例子:

  1. 最简单的操作: filec uri ,下载文件到当前目录,未给出的其他参数全部按默认参数处理。其中uri可以是http,ftp,magnet,torrent等。 执行该命令后,命令行窗口应显示: connetion:5,download-speed 10Mib/s,ETA 1min30s ....... 下载完成后filec进程结束。

  2. 添加更多参数的操作: filec --connection=16 --user-agent="Mozilla/5.0" uri

  3. 添加参数和指定配置文件的操作: filec --user-agent="filec" --config-path=./filec.conf uri 其中,命令行给出的参数应该覆盖配置文件的中相同的选项的参数,在本例中user-agent应以命令行中给出的为准。

    filec.conf内容如下:

   user-agent=Mozilla/5.0     #指定http的user-agent
   connection=16                  #指定http等的最大连接数
   enable-dht=true                #开启bitorrent的dht功能
   enable-pex=true                #开启bitorrent的pex功能(用户彼此交换信息)
   bt-encrypt=force               #强制加密bittorrent流量(还可选prefer,None,分别对于偏向加密,不加密)
   bt-max-peers=512            #bt的最大连接数
   seed-time=60                   #下载完成后的做种时间要求
   seed-rate=1.0                   #下载完成后的做种率要求
   anti-leech=Xunlei.*,Xfplay.*  #屏蔽吸血连接
   bt-tracker=tracker1,tracker2                #添加到torrent中的自定义tracker列表
   bt-tracker-list=https://x.com/list.txt     #将该tracker list中的tracker也添加到torrent中
   auto-update-tracker-list=true              #每次启动应该更新上述tracker list
   annouce-to-all-trackers = true             #向所有tracker汇报
   continue-torrent=true                          #如果上一次下载到的文件是torrent文件,则紧接着下载这个torrent文件。相当于执行 `filec https://xx.com/x.torrent` 后紧接着执行 `filec x.torrent`

其中,annouce-to-all-trackers选项参考 https://www.libtorrent.org/reference-Settings.html#announce_to_all_trackers 以及 https://www.libtorrent.org/reference-Settings.html#announce_to_all_tiers

cylind avatar Apr 24 '22 06:04 cylind

这有一些过于纯命令行了,不过实现并不难,在2.0和3.0之间我尽量添加,还不确定是否能够做到单次运行,涉及到filec的构架原因,可能还是得先运行filec daemon 进行IPC通信。

filecxx avatar Apr 24 '22 15:04 filecxx

好的,谢谢。

filec不能单次运行也没关系。不知道能不能,先启动filec daemon,然后通过插件,比如file-cli,与filec daemon通信,从而利用file-cli进行命令行操作并能显示下载进度等信息?就像transmisssion-cli一样。

小建议,不紧急的,有命令行交互需求的用户应该不多。

cylind avatar Apr 24 '22 16:04 cylind

我也有在命令行运行的需求,需要一些基础的,Add Delete Pause Start List 这样的一些功能,如果有 rpc 接口,我可以自己写一套 wrapper 来嵌入我的产品中使用,类似 transmission 提供的 rpc。

jooyyy avatar May 16 '23 08:05 jooyyy

我也有在命令行运行的需求,需要一些基础的,Add Delete Pause Start List 这样的一些功能,如果有 rpc 接口,我可以自己写一套 wrapper 来嵌入我的产品中使用,类似 transmission 提供的 rpc。

远程这个功能 就是通过连接服务中的10111端口进行RPC通信的,包含了整个客户端的全部功能,JSON格式的数据包,目前没时间写文档,在3.0版本发布之后会提供完整的文档,也会增加HTTP和WebSocket支持。

filecxx avatar May 16 '23 17:05 filecxx