分享下载 GoogleDrive OneDrive:使用docker部署sharelist

分享下载 GoogleDrive OneDrive:使用docker部署sharelist

前言

之前看了某大婶关于申请google drive无限空间的教程后,发现google drive确实不错,但唯一问题是:由于不可描述的原因导致资源无法愉快地下载到本地。

N个坑

为了解决上述这个问题我试了不同的方法,例如goindex、filestash,无一不失败告终。

  • goindex:部署在Cloudflare Workers的app,确实方便,但问题是cf有限制的,用了一天不到就收到了这样的邮件:

Thanks for using Cloudflare Workers! It is my job to help customers who are using Workers overcome any limitations they may have encountered while building on the platform. I am curious to learn more about your use case and how we can help you do more.

  • filestash:捆绑不了Gdrive,出现无限loop情况,试了N次后弃坑

简介

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

而且插件一大堆,自己上github看看。

部署

按照国际惯例,我是使用docker-compose来部署docker的,如果你的VPS只安装了docker没有安装docker compose的话,需要执行以下命名安装:

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

新建docker-compose.yml

利用宝塔在根目录root上新建一个目录sharelist 或者在SSH下使用以下命令:

cd ~ && mkdir sharelist && cd sharelist

然后在sharelist目录里面新建一个文件docker-compose.yml,这个文件用于安装sharelist镜像

version: "3"
services:
  sharelist:
    image: reruin/sharelist
    volumes:
      - $HOME/sharelist:/sharelist/cache
    ports:
      - "33001:33001"

参数说明:

  • image: sharelist的最新镜像;
  • volumes:用于挂载到宿主机的当前目录下的 cache目录用于存放缓存;
  • ports:指定将容器内的 33001 端口映射到了宿主机的 33001 端口;

SSH下的sharelist目录中直接执行安装命令:

docker-compose up -d

然后你在地址栏输入http://xxx.xxx.xxx.xxx:33001 就可以登陆,如果你是使用宝塔,你需要在安全设置里面放行对应端口。

用nginx反向代理捆绑域名

用宝塔建立一个网站,然后填写反向代理, 弄好后的配置类似下面这个

server
{
    listen 80;
    server_name sharelist.example.com;
    location / {
    proxy_pass http://127.0.0.1:33001;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

使用

挂载GoogleDrive

  1. 使用分享ID挂载
挂载标示:gd
挂载内容:分享的文件ID

获取分享连接的ID

填写ID

  1. 使用官方API挂载
挂载标示:gda  
挂载内容:  
  文件(夹)id->应用ID|应用机钥|回调地址|refresh_token     
  文件(夹)id   
  /

这个我自己都没有弄,所以就没有演示了。

目录加密

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

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

下载地址

github:地址

结论

少撸怡情大撸乱性

评论

2 条

Wyane

大佬请问一下,这个 挂载onedrive api的话格式怎么填呢?

回复 ·

onedrive那个没有试过,不过好像个人的不行。

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

回复 ·

添加新评论