介绍

Github:GDShare

这是一款受goindex启发而产生的项目,适合部署于cloudflare worker,相比原版有以下特性:

  • 全盘搜索(包括个人盘和所有有权限的团队盘,可点击搜索结果中的链接跳转到对应的google drive官方网址)
  • 分页浏览(可自定义每页文件数,每页可根据文件名和大小排序)
  • 更美观的UI(致谢 ant design)
  • 防爬虫,对于所有目录和文件,只有管理员才有读取和下载的权限(原版goindex可以通过在目录下防止 .password 来给目录设置读取密码,但无法限制单个文件的下载)
  • 可以生成下载直链,方便第三方下载工具下载,对于流媒体文件,可以用potplayer等播放器直接打开进行播放(可以自定义有效期)
  • 可以生成带有提取码的分享链接,方便分享给他人浏览和下载(同样支持自定义有效期)

部署

1. 获取参数

从rclone.conf获取你的client_id,client_secret,refresh_token,access_token
rclone.conf路径是 ~/.config/rclone/rclone.conf

2. 部署workers

打开Works官网,登录账号Workers

temple.js获取js模板


const CONFIG = {
    PASSKEY: "this is your passkey", // 管理员网页登录密钥,请自行修改,尽量复杂
    HASHKEY: "this is your hash key", // 用于校验生成的下载链接和分享链接,请自行修改,尽量复杂。修改后之前生成的下载和分享链接都会失效
    RETRY_LIMIT: 5, // 有时调用 google drive api 读取目录时会报错,这里设置最多允许重试的次数
    PAGESIZE: 100, // 读取列表的单页对象数,官方限制最大 1000
    ORDERBY: 'modifiedTime', // 可选值 modifiedTime 或 name,分别表示根据文件修改时间排序和根据文件名排序
    DESC: true, // 可选值 true 或 false,分别表示逆序排列和顺序排列
    AUTH: {
        client_id: "insert_your_client_id", // 这三项是你的google帐号个人授权信息,和goindex相同
        client_secret: "insert_your_client_secret", // 同上必填
        refresh_token: "insert_your_refresh_token", // 同上必填
        expires: 0,
        access_token: "" // 可不填
    }
}
......

按照文件注释修改参数
点击Save and Deplay部署

3. 访问你的Worker

打开查看,输入passkey之后默认只有一个搜索框,这是正常情况不要慌
尝试搜索,如果没问题就会输出结果。如果有提示接口错误那么就再次查看参数是否正确

本工具亦可当作goindex使用,只需将目录ID添加到 https://your.website.com/ls/ 后即可。 比如浏览团队盘内容可以直接访问 https://your.website.com/ls/你的团队盘ID 浏览个人盘根目录可以直接访问 https://your.website.com/ls/root

不是文件夹名而是文件夹ID,是你在Google Drive里面访问文件夹时链接后面folders/后面的一串字符
例:https://gd.fic.workers.dev/ls/1jSH4MmcgxWAygrR1y00UqEhkCi-p2JBy

4. 域名映射

首先在Domain->yourdomain.com->DNS添加一个A记录,指向随便哪个IP,例如1.1.1.1
记得Proxy status一定要是Proxied,就是那个云彩图标亮起来
然后在Domain->yourdomain.com->Workers里面点击Add routeRoute里面输入https://yourdomain.com/*,选择刚刚建立的Worker,点击Save
访问https://yourdomain.com/*

总结:

调用外部播放器这个功能简直好顶赞,不过希望能加入无密码共享功能和/ls/文件夹独立密码

放一个分享链接测试
内容是我的动画收藏夹
分享链接:链接
提取码:Anime
过期时间:永久有效