Skip to content

hnxzc/sharelist

 
 

Repository files navigation

ShareList

ShareList 是一个易用的网盘工具,支持快速挂载 GoogleDrive、OneDrive ,可通过插件扩展功能。

目录

特性

  • 多种网盘系统快速挂载。
  • 支持虚拟目录和虚拟文件。
  • 支持目录加密。
  • 插件机制。
  • 国际化支持。
  • WebDAV导出。

功能说明

挂载对象

首次使用时将提示选在挂载源,选择挂载源,填入对应路径即可。 系统内置了本地路径(FileSystem)挂载源。

目录加密

在需加密目录内新建 .passwd 文件,type为验证方式,data为验证内容。例如:

type: basic 
data: 
  - user1:111111 
  - user2:aaaaaa 

basic是内置的验证方式,使用用户名密码对进行判断,上面的例子中可使用user1的密码为111user2的密码为aaaaaa。请参考example/SecretFolder/.passwd

虚拟目录

在需创建虚拟目录处新建目录名.d.ln文件。 其内容为挂载源:挂载路径 如:创建虚拟目录指向本地/root

fs:/root 

其中挂载源fs表示本地磁盘,/root代表路径。

再如:创建虚拟目录指向GoogleDrive的某个共享文件夹

gd:0BwfTxffUGy_GNF9KQ25Xd0xxxxxxx 

gd是GoogleDrive的挂载源标示,冒号后的是共享文件夹ID。

虚拟文件

与虚拟目录类似,目标指向具体文件。
在需创建虚拟文件处新建文件名.后缀名.ln文件。 其内容为挂载源:挂载路径。 如:创建一个ubuntu_18.iso的虚拟文件,请参考example/linkTo_download_ubuntu_18.iso.ln

WebDAV

系统部分支持WebDAV。可使用的功能包括列目录、展示内容、权限校验。由于系统仅做挂载用途,不支持写入、删除、重命名、复制等操作。默认根路径为/webdav,可在后台修改WebDAV的路径。
注意事项:
windows挂载webdav可读取文件最大为50M,请参考修改

插件

插件可用于扩展挂载源、扩展加密方式、扩展文件预览。插件请置于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(内置)

提供基础文件夹加密方式。

GoogleDrive

提供对GoogleDrive的访问。挂载标示:gd,分享文件夹ID作为路径。

OneDrive

提供对OneDrive的访问。挂载标示od,分享文件夹ID作为路径。

OneDrive For Business

提供对OneDrive Business的访问。挂载标示odb,分享的url作为路径。

OneDrive API

OneDrive API版挂载插件。挂载标示:oda
路径比较复杂: OneDrive路径->应用ID|应用机钥|回调地址|refresh_token
如果没有能力组织以上标示,也没关系,只需要录入路径,ShareList将会在首次访对应地址时,开启挂载向导,按指示操作即可。
例如,需要挂载onedrive的 /abc/123目录,只需输入 /abc/123 即可。

对于不符合OneDrive安全要求的域名,将采用中转方式验证,查看中转页面

WebDAV

用于访问WebDAV服务。使用标准WebDAV路径即可。
例如https://username:[email protected]:1222/path
若服务端不支持断点续传,请在路径后追加acceptRanges=none
例如https://username:[email protected]:1222/?acceptRanges=none

Lanzou蓝奏云

提供对蓝奏云的访问支持。挂载标示lanzou,passwd@folderId作为路径,无密码则直接使用folderId作为路径。folderId是分享链接中bxxxxxx部分。
插件为目录 以及 mp4/jpg等禁止上传的格式提供解析支持。
文件:附加txt后缀即可。以mp4为例,将xxx.mp4命名为xxx.mp4.txt后再上传,插件将自动解析为mp4文件。
目录:创建目录名[email protected]的文件上传即可(由于大小为 0 B的文件无法上传,请为这个txt文件随意添加些内容)。

h5ai(beta)

用于访问h5ai目录程序。使用http url挂载即可。例如:
https://larsjung.de/h5ai/demo/

GitHub

用于访问GitHub代码库。使用有以下两种挂载方式。
github:username
github:username/repo

目录加密类

基础加密(内置)

使用用户名密码对进行简单判断。一个典型的加密.passwd 文件的内容如下。

type: basic 
data: 
  - user1:111111 
  - user2:aaaaaa 

此例中可使用user1的密码为111user2的密码为aaaaaa。请参考example/SecretFolder/.passwd

文件预览类

多媒体预览

为图片、音频、视频提供在线预览。

Torrent预览

为种子文件提供在线预览。

插件开发

待完善

安装

Shell

bash install.sh

Netinstall

wget --no-check-certificate -qO-  https://raw.githubusercontent.com/reruin/sharelist/master/netinstall.sh | bash

Update

bash update.sh

Docker support

docker build -t yourname/sharelist .

docker run -d -v /etc/sharelist:/app/cache -p 33001:33001 --name="sharelist" yourname/sharelist

OR

docker-compose up

访问 http:https://localhost:33001 WebDAV 目录 http:https://localhost:33001/webdav

Heroku

Deploy

About

快速分享 GoogleDrive OneDrive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 82.7%
  • HTML 7.9%
  • CSS 5.8%
  • Shell 2.4%
  • Scheme 1.1%
  • Dockerfile 0.1%