Skip to content
快速分享 GoogleDrive OneDrive
JavaScript HTML CSS Shell Other
Branch: master
Clone or download
Latest commit 4c48461 Jan 10, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app fix bugs Jan 10, 2020
cache create onedrive support Apr 20, 2018
example fix bug Dec 19, 2019
locales fix bug Jan 6, 2020
plugins update lanzou Jan 8, 2020
.dockerignore fix bugs Apr 28, 2018
.gitignore plugins support Oct 23, 2018
.travis.yml support google drive api Sep 12, 2019
Dockerfile fix lancher Nov 6, 2018
LICENSE signed Apr 18, 2018
README.md fix bug Dec 19, 2019
app.js restructure Apr 25, 2019
docker-compose.yml fix lancher Nov 6, 2018
install.sh update shell Oct 17, 2019
netinstall.sh update shell Oct 17, 2019
package.json fix bug Dec 20, 2019
update.sh update shell Oct 17, 2019

README.md

ShareList

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

目录

功能说明

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

使用示例

挂载GoogleDrive

1. 使用分享ID挂载

plugins/drive.gd.js插件实现。

挂载标示:gd
挂载内容:分享的文件ID

2. 使用官方API挂载

plugins/drive.gd.api.js插件实现。

挂载标示:gda  
挂载内容:  
  gda://应用ID/root?client_secret=应用机钥&redirect_uri=回调地址&refresh_token=refresh_token   
  /   

ShareList会根据填写的挂载内容的不同形式,自动开启挂载向导,按指示操作即可。

挂载OneDrive

1. 使用分享ID挂载

plugins/drive.od.js插件实现。

挂载标示:od  
挂载内容:分享的文件ID。 

2. 使用官方API挂载

plugins/drive.od.api.js插件实现。

挂载标示:oda
挂载内容:   
    OneDrive路径->应用ID|应用机钥|回调地址|refresh_token
    OneDrive路径
    /

ShareList会根据填写的挂载内容,自动开启挂载向导,按指示操作即可。
对于不符合OneDrive安全要求的域名,将采用中转方式验证,查看中转页面
注意:由于onedrive修改了政策,个人Microsoft帐户已无法通过向导进行绑定。 需前往 Azure管理后台 注册应用并获取 app_id 和 app_secret 。

3. 挂载OneDrive For Business

plugins/drive.odb.js插件实现。

挂载标示:odb  
挂载内容:分享的url

挂载本地文件

drive.fs.js插件实现。

挂载标示:fs   
挂载内容:文件路径。

注意:统一使用unix风格路径,例如 windows D盘 为 /d/

挂载GitHub

plugins/drive.github.js插件实现。用于访问GitHub代码库。有以下两种挂载方式。

挂载标示:github   
挂载内容: 
  username   
  username/repo

注意:仅用于浏览,不支持 git clone 等git操作。

挂载蓝奏云

plugins/drive.lanzou.js插件实现。提供对蓝奏云的访问支持。

挂载标示:lanzou
挂载路径:  
  folderId  
  password@folderId

注意:folderId是分享链接中bxxxxxx部分。

插件为 mp4/jpg 等禁止上传的格式提供解析支持,只需在文件名后附加txt后缀即可。以mp4为例,将xxx.mp4命名为xxx.mp4.txt后再上传,插件将自动解析为mp4文件。

挂载h5ai

drive.h5ai.js插件实现,用于访问h5ai目录程序。

挂载标示:h5ai   
挂载路径:http地址

例如: h5ai:https://larsjung.de/h5ai/demo/

挂载WebDAV

drive.webdav.js插件实现,用于访问WebDAV服务。

挂载标示:webdav  
挂载路径:  
  https://webdavserver.com:1222/path   
  https://username:password@webdavserver.com:1222/path   
  https://username:password@webdavserver.com:1222/?acceptRanges=none

注意:若服务端不支持断点续传,需追加acceptRanges=none

虚拟目录

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

fs:/root 

指向GoogleDrive的某个共享文件夹虚拟目录

gd:0BwfTxffUGy_GNF9KQ25Xd0xxxxxxx 

系统内置了一种单文件虚拟目录系统,使用yaml构建,以sld作为后缀保存。参考example/ShareListDrive.sld

虚拟文件

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

目录加密

在需加密目录内新建 .passwd 文件,type为验证方式,data为验证内容。
目前只支持用户名密码对加密(由auth.basic插件实现)。 例如:

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

user1用户可使用密码111111验证,user2用户可使用密码aaaaaa验证。请参考example/secret_folder/.passwd

流量中转

后台管理,常规设置,将中转(包括预览)设为启用即可实现中转代理。

负载均衡

drive.lb.js插件实现。用于将请求转发到多个对等的网盘。

挂载标示:lb
挂载路径:  
  用;分割多个路径地址  

例如,已经在http://localhost/ahttp://localhost/b路径上挂载了内容相同的两个网盘,需要将两者的请求其合并到http://localhost/c路径下,在后台虚拟路径处,选择LoadBalancer类型,挂载路径填写为/a;/b即可。

注意:负载目录建立后,其目标目录将被自动隐藏(管理员模式可见)。

忽略文件类型

后台管理,常规设置,忽略文件类型可定义忽略的文件类型。例如忽略图片:jpg,png,gif,webp,bmp,jpeg

显示README

后台管理,常规设置,将显示README.md内容设为启用,当前目录包含README.md时,将自动显示在页面。

文件预览

后台管理,常规设置,将详情预览设为启用即可对特定文件进行预览。目前支持:

文档类

preview.document插件实现,可预览md、word、ppt、excel。

多媒体

preview.media插件实现,可预览图片、音频、视频提供。
后台管理,插件设置,支持预览的视频后缀可定义可预览视频类型。

Torrent

preview.torrent插件实现,为种子文件提供在线预览。

文件目录上传

在登录状态(页面顶部会出现上传按钮),可向 本地磁盘(fs)、OneDriveAPI(oda)、GoogleDriveAPI(gda) 上传文件/目录。
目前处于实验性阶段,可能出现各类异常。

WebDAV导出

可将挂载源以WebDAV方式转出,目前支持列表、下载功能。可在 后台管理->常规设置里 设置webDAV路径。

下载链接有效期

后台管理,常规设置,设置下载链接有效期后,下载链接将在此时间段内有效。若要关闭此功能,请设置为0。

Nginx(Caddy)反代注意事项

使用反代时,请添加以下配置。
Nginx

  proxy_set_header Host  $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;

  proxy_set_header Range $http_range;
  proxy_set_header If-Range $http_if_range;
  proxy_no_cache $http_range $http_if_range;

如果使用上传功能,请调整 nginx 上传文件大小限制。

  client_max_body_size 8000m;

Caddy

  header_upstream Host {host}
  header_upstream X-Real-IP {remote}
  header_upstream X-Forwarded-For {remote}
  header_upstream X-Forwarded-Proto {scheme}

插件开发

待完善

安装

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://localhost:33001 WebDAV 目录 http://localhost:33001/webdav

Heroku

Deploy

You can’t perform that action at this time.