FileCentipede
FileCentipede copied to clipboard
filec何时能支持命令行交互
期待
你对这块有什么要求,期望该功能最终是什么样子。
你对这块有什么要求,期望该功能最终是什么样子。
我希望它是能支持单次运行的,可以定义丰富参数或能设置配置文件,还能在命令行窗口上实时反馈下载信息(文件大小和已下大小,下载速度,上传速度,剩余时间,连接数目,做种人数等)
举一些例子:
-
最简单的操作:
filec uri,下载文件到当前目录,未给出的其他参数全部按默认参数处理。其中uri可以是http,ftp,magnet,torrent等。 执行该命令后,命令行窗口应显示: connetion:5,download-speed 10Mib/s,ETA 1min30s ....... 下载完成后filec进程结束。 -
添加更多参数的操作:
filec --connection=16 --user-agent="Mozilla/5.0" uri -
添加参数和指定配置文件的操作:
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
这有一些过于纯命令行了,不过实现并不难,在2.0和3.0之间我尽量添加,还不确定是否能够做到单次运行,涉及到filec的构架原因,可能还是得先运行filec daemon 进行IPC通信。
好的,谢谢。
filec不能单次运行也没关系。不知道能不能,先启动filec daemon,然后通过插件,比如file-cli,与filec daemon通信,从而利用file-cli进行命令行操作并能显示下载进度等信息?就像transmisssion-cli一样。
小建议,不紧急的,有命令行交互需求的用户应该不多。
我也有在命令行运行的需求,需要一些基础的,Add Delete Pause Start List 这样的一些功能,如果有 rpc 接口,我可以自己写一套 wrapper 来嵌入我的产品中使用,类似 transmission 提供的 rpc。
我也有在命令行运行的需求,需要一些基础的,Add Delete Pause Start List 这样的一些功能,如果有 rpc 接口,我可以自己写一套 wrapper 来嵌入我的产品中使用,类似 transmission 提供的 rpc。
远程这个功能 就是通过连接服务中的10111端口进行RPC通信的,包含了整个客户端的全部功能,JSON格式的数据包,目前没时间写文档,在3.0版本发布之后会提供完整的文档,也会增加HTTP和WebSocket支持。