2019-02-16 更新docker镜像为官方最新版
之前一直用OneIndex,只能挂载OneDrive的一直想要一个能挂载GoogleDrive的,结果在Github上看到了这个
ShareList
ShareList 是一个易用的网盘工具,支持快速挂载 GoogleDrive、OneDrive ,可通过插件扩展功能。并且只需要通过链接就可以读取分享的目录,并可以在线播放,下载,或串流本地播放!简单好用,github上有Dockerfile文件,直接build成docker镜像放在群晖里自己使用也很方便!
我已经做好的docker镜像:https://hub.docker.com/r/oldiy/sharelist
现在开始群晖教程
进入群晖docker,注册表搜索 oldiy,找到oldiy/sharelist
下载之后,到镜像双击-高级设置-设置快捷方式
到群晖里建一个文件夹,用于缓存
回到docker-高级设置-卷,挂载刚刚建立的文件夹,装载路径不可以修改
映射端口
应用,下一步
应用后容器运行成功,如果没有防火墙就可以直接访问了,有防火墙继续看!
打开防火墙33001端口
输入http:/<IP> 或 <域名>:33001
访问后会让你设置密码,设置后进入默认演示目录,如下
点击下方管理,进入后台
在最下方有设置,如果演示目录你觉得没用就可以再这里删除
在后台添加我们自己的分享
首选OneDrive为例:
进入你的OneDrive,找到一个文件夹,右键,共享,会生成一个共享链接
复制这个共享链接,到Sharefile后台,点击添加,选择onedrive,取一个名字,后面输入刚刚的共享链接,然后删除https://ldrv.ms/f/,只保留后面的乱码,然后保存
然后点击上面的清除缓存,到前台就可以看到了
前台已经可以访问刚刚共享的文件夹了
下面介绍下google drive的共享方法,大同小异
也是进入到你自己的google drive下面,右键,分享,得到一个共享链接,链接如下图的样子(这个是一个资源群里发出来的,因为懒,所以直接找个链接做演示了)
然后复制链接,添加,选择 google drive,然后取名,最后一栏输入链接,并删除前面的网址,只保留folders/之后的部分,(注意一下有时候你自己通过别人链接保存回来的文件再分享出去的链接,没有最后那个?usp=sharing,就不能挂载成功,不知道为什么)保存即可
保存后,前台就可以看到了
其他演示用法,自行领悟
一般MP4文件可以直接在线播放!不能播放的文件可以使用软件播放!比如 PotPlayer
首先复制一个视频链接,在视频列表右键-复制链接地址,然后打开本地 potplayer,文件打开链接,输入链接,删除视频文件格式后面的 ?previwe 即可播放
特性
- 多种网盘系统快速挂载。
- 支持虚拟目录和虚拟文件。
- 支持目录加密。
- 插件机制。
- 国际化支持。
- WebDAV导出。
功能说明
挂载对象
首次使用时将提示选在挂载源,选择挂载源,填入对应路径即可。 系统内置了本地路径(FileSystem)挂载源。
目录加密
在需加密目录内新建 .passwd
文件,type
为验证方式,data
为验证内容。
1 2 3 4 |
type: basic data: - user1:111111 - user2:aaaaaa |
basic
是内置的验证方式,使用用户名密码对进行判断,上面的例子中可使用user1
的密码为111
,user2
的密码为aaaaaa
。请参考example/SecretFolder/.passwd。
虚拟目录
在需创建虚拟目录处新建目录名.d.ln
文件。 其内容为挂载源:挂载路径
如:创建虚拟目录指向本地/root
。
1 |
fs:/root |
其中挂载源fs
表示本地磁盘,/root
代表路径。
再如:创建虚拟目录指向GoogleDrive的某个共享文件夹
1 |
gd:0BwfTxffUGy_GNF9KQ25Xd0xxxxxxx |
gd
是GoogleDrive的挂载源标示,冒号后的是共享文件夹ID。
虚拟文件
与虚拟目录类似,目标指向具体文件。
在需创建虚拟文件处新建文件名.后缀名.ln
文件。 其内容为挂载源:挂载路径
。 如:创建一个ubuntu_18.iso
的虚拟文件,请参考example/linkTo_download_ubuntu_18.iso.ln。
WebDAV
系统部分支持WebDAV。可使用的功能包括列目录、展示内容、权限校验。由于系统仅做挂载用途,不支持写入、删除、重命名、复制等操作。默认根路径为/webdav
,可在后台修改WebDAV的路径。
插件机制
插件可用于扩展挂载源、扩展加密方式。插件请置于plugins目录。
内置插件
内置插件位于app/plugins
HTTP/HTTPS(内置)
为指向HTTP(S)的虚拟文件提供访问支持。挂载标示http/https
,实际url作为路径。
FileSystem(内置)
提供对本地文件系统的访问。挂载标示fs
,id为 文件路径,统一使用linux的路径,例如 windows D盘 为 /d/
。
ShareListDrive(内置)
ShareListDrive是ShareList内置的一种虚拟文件系统,使用yaml构建。以sld
作为后缀保存。参考example/ShareListDrive.sld。
BasicAuth(内置)
提供基础文件夹加密方式。
常规插件
常用插件位于plugins
GoogleDrive
提供对GoogleDrive的访问。挂载标示:gd
,分享文件夹ID作为路径。
OneDrive
提供对OneDrive的访问。挂载标示od
,分享文件夹ID作为路径。
OneDrive For Business
提供对OneDrive Business的访问。挂载标示odb,分享的url作为路径。
OpenLoad
提供对OpenLoad的访问支持。挂载标示openload,ApiLogin:ApiKey@folderId
作为路径,省略@则从根目录开始列出文件。
Lanzou蓝奏云
提供对蓝奏云的访问支持。挂载标示lanzou,passwd@folderId
作为路径,无密码则直接使用folderId
作为路径。folderId
是分享链接中bxxxxxx
部分。
插件为目录 以及 mp4/jpg等禁止上传的格式提供解析支持。
文件:附加txt
后缀即可。以mp4为例,将xxx.mp4
命名为xxx.mp4.txt
后再上传,插件将自动解析为mp4文件。
目录:创建目录名.passwd@folderId.d.txt
的文件上传即可(由于大小为 0 B的文件无法上传,请为这个txt文件随意添加些内容)。
插件开发
待完善
访问 http://localhost:33001
WebDAV 目录 http://localhost:33001/webdav
原作者Github地址:点我
我的docker镜像:https://hub.docker.com/r/oldiy/sharelist
本站教程,未注明转载均为原创内容,仅做为学习参考使用,切勿用于非法及商业用途!造成的后果作者不承担任何责任!
如果转载请注明出处!oD^Blog
本文如果需要更新,或者失效请联系微信 : oldiy2018 【微信不解答任何问题,不接收任何红包!】
如果支持作者,请点击下方赞赏,支持一杯饮料!
如果有问题可以点击【加入电报群】和我一起沟通或者下方留言讨论!
赞赏微信赞赏支付宝赞赏
大佬,感谢你的技术分享…一直有用你的docker,很好用…非常感谢…
我有使用sharlist分享本地NAS的视频文件,远程测试,电脑端potplayer是可以播放的…
所以,我想那么移动端应该也是有可能可以实现播放的吧?(我主要还是不喜欢服务器解码cpu占用太高了)
我在IOS的移动端尝试了nplayer和vlc都无法播放,因此,想和大佬请教交流下是什么原因以及如何实现移动端解码。
BTW,有加大佬的tg群,可tg交流。
大佬,问题已解决。是因为链接包含中文的问题。
用nplayer中添加链接可自动变成全英文字符的链接,注意在最前面把http://补充完整即可播放。
但vlc就没有自动转换的功能了
哪个插件目录在哪啊,找不到唉,谢谢。
无法理解你的问题,详细描述
出现这个提示是怎么回事啊? 我把前面挂载的宿主机路径修改了也是这样。
“docker: Error response from daemon: invalid volume specification: ‘/home/app/sharelist/cache:sharelist/cache’: invalid mount config for type “bind”: invalid mount path: ‘sharelist/cache’ mount path must be absolute.
See ‘docker run –help’.”
应该是参数输入错了