结合 Cloudflare WorkersGoogle Drive 的力量,你可以在Cloudflare Workers的浏览器上建立你的文件索引。

go2index/index.js 是Workers脚本的内容。

这个主题的GoIndex目前是基于 yanzai/goindex

README | 中文文档

预览

Acrou: https://oss.achirou.workers.dev/

特色

  • ? 页面级缓存,浏览器前进后退不刷新秒加载(mac用户使用触控板体验更佳)
  • ? 多盘切换
  • ? Http Basic Auth
  • ? 网格视图模式(文件预览)
  • ? 分页加载
  • ? I18n(多国语言)
  • ? Markdown/Html渲染(也许它可以成为你的博客)
  • ? 视频在线播放(支持外挂字幕vtt)
  • ? 支持自定义视频播放器(API)
  • ? 音频在线播放
  • ? 拥有更快的速度

TODO

  • 更多文件格式预览
  • 让Goindex不只是一个目录索引

快速部署

  1. 打开以下任意网址(哪个快用哪个)

  2. 授权并获取授权码

  3. 将代码部署到 Cloudflare Workers

部署

  1. 开启Google Drive API
  2. 创建一个 OAuth client ID
  3. 本地安装rclone
  4. 使用rclone获取refresh_token
  5. 下载index.js (https://github.com/Aicirou/goindex-theme-acrou/tree/master/go2index) 然后替换client_id,client_secret,refresh_token 为你刚刚获取到的
  6. 把代码部署到Cloudflare Workers

如果你写了一篇不错的文章,想分享给大家,请提交Issues,我会把链接贴在这里。

选项

Video

OptionTypeDefaultDescription
apiString''外部视频播放器api。当这个值不为空时,以下所有选项都不起作用。
autoplayBooleantrue当设置为true时,视频会自动播放,不过这取决于浏览器是否支持。
controlsArray, Function or Element['play-large', 'restart', 'play', 'progress', 'current-time',
'duration', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay',
'download', 'fullscreen']
控制栏中显示哪些按钮。详细查看CONTROLS.md
settingsArray['quality', 'speed', 'loop']菜单中显示哪些设置

更多选项查看 plyr options

Audio

OptionTypeDefaultDescription
containerString.aplayer不支持修改
fixedBooleantrue不支持修改
autoplayBooleanfalse当设置为true时,音频会自动播放,不过这取决于浏览器是否支持。
loopString'all'音频循环播放, 可选值: 'all', 'one', 'none'
orderString'list'音频循环顺序, 可选值: 'list', 'random'
preloadString'auto'预加载,可选值: 'none', 'metadata', 'auto'
volumeNumber0.7默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效
audiosArray[]预设播放列表。详情查看 FAQ

更多选项查看 APlayer options

常见问题

怎么修改列表的排序方式?

修改第636行或者在代码中搜索params.orderBy

 params.orderBy = "folder,name,modifiedTime desc";
 params.orderBy = "modifiedTime desc";

怎么预设音频播放列表?

音频选项中添加 audios

audio: {
  audios: [
    {
      name: "Mojito",
      artist: "周杰伦",
      url: "https://xx.mp3",
      lrc: "https://xx.lrc",
      cover: "https://xx.jpg"
    }
  ]
}

更新日志

v2.0.8

  • 修复图片文件操作列不可用问题 #100
  • 修复错误判断图片问题 #88
  • 修复无法设置10个以上的drive #59 #85
  • 修复搜索结果中的某些操作无法使用
  • 修复修改内容后缓存不刷新
  • 添加默认视频播放器 (plyr) #22 #38
  • 添加音频播放器 (APlayer) #77
  • 视频页面添加复制按钮
  • 添加 NProgress
  • 添加语言缓存清理
  • 添加快捷方式无法下载提示 #76
  • Markdown默认显示渲染的html
  • CLI删除懒加载模块的预加载
  • 删除fontawesome5

v2.0.5

  • 添加清理文件缓存
  • 支持自定义视频播放器(API)
  • 美化:网格模式文件无预览图时显示图标
  • 美化:调整HEAD.md渲染位置
  • 解决搜索不能预览的文件点击无法直接下载 #30
  • 解决文件名中有#无法打开的问题 #20
  • 解决当前页面加载中切换页面会回退的问题 #37 (感谢@PedroZhang帮忙找出的问题原因)

v2.0.0

  • 程序改为单页应用

  • 添加页面级缓存(浏览器前进后退不刷新秒加载,mac用户使用触控板体验更佳)

  • 添加 http basic auth(每个盘符可单独配置用户名和密码,可以保护该盘下所有子文件和子文件夹)

  • 添加网格视图模式(文件预览)

  • 添加分页加载

  • 添加 i18n多国语言

  • 添加 html渲染

  • 添加 渲染文件夹/文件的描述 (用途自行挖掘)

  • 添加可选配置

  • 支持快速部署(帮助小白的利器)

  • 支持PDF在线预览

  • 更换文本编辑器

  • 解决url编码问题 #20 #23 #25

  • 解决其他已知问题

v1.x

  • 支持多盘切换
  • 添加版本检测
  • 优化搜索结果
  • 优化页面显示

Lisense

MIT

项目地址https://github.com/Achrou/goindex-theme-acrou

其他 https://github.com/yanzai/goindex/

https://github.com/reruin/workers/blob/master/link/index.js

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。