GoIndex-theme-acrou
Combining the power of Cloudflare Workers and Google Drive will allow you to index you files on the browser on Cloudflare Workers.
go2index/index.js is the content of the Workers script.
Basado en yanzai/goindex y alx-xlx/goindex
Demo
Acrou: https://oss.achirou.workers.dev/
Features
- 👑 Page-level caching,browser forward and backward without reloading (MAC users have a better experience with the trackpad)
- 🗂 Multi drive switching
- 🔐 Http Basic Auth
- 🎨 Grid view mode(File Preview)
- 🎯 Paging load
- 🌐 I18n(multi-language)
- 🛠 Markdown/Html render (Maybe it can be your blog)
- 🖥 Video Online(.vtt subtitle)
- 🕹 Support for custom video player (API)
- 🎧 Audio Online
- 🚀 Faster speed
TODO
- More file format preview
- Let goindex be more than just a directory index
Quick Deployment
-
Open any of the following links
-
Auth and get the code
-
Deploy the code to Cloudflare Workers
Deployment
- Open Google Drive API
- Create a OAuth client ID
- Install rclone software locally
- Get
refresh_token
withrclone
- Download
index.js
in https://github.com/Aicirou/goindex-theme-acrou/tree/master/go2index and replaceclient_id
,client_secret
,refresh_token
for what you just got. - Deploy the code to Cloudflare Workers
If you write a good article and want to share it with others, please submit Issues and I will post the link here.
Options
Video
Option | Type | Default | Description |
---|---|---|---|
api |
String | '' |
External video player api. When this value is not null, all of the following options do not work |
autoplay |
Boolean | true |
When set to true, the video plays automatically, depending on whether the browser supports the |
invertTime |
Boolean | false |
Display the current time as a countdown rather than an incremental counter. |
controls |
Array, Function or Element | ['play-large', 'restart', 'play', 'progress', 'current-time', 'duration', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', 'download', 'fullscreen'] |
Which buttons are displayed in the control bar. See more CONTROLS.md |
settings |
Array | ['quality', 'speed', 'loop'] |
You can specify which settings to show in the menu |
For more option, see plyr options
Audio
Option | Type | Default | Description |
---|---|---|---|
container |
String | .aplayer |
No support for changes |
fixed |
Boolean | true |
No support for changes |
autoplay |
Boolean | false |
audio autoplay |
loop |
String | 'all' |
player loop play, values: 'all', 'one', 'none' |
order |
String | 'list' |
player play order, values: 'list', 'random' |
preload |
String | 'auto' |
values: 'none', 'metadata', 'auto' |
volume |
Number | 0.7 |
default volume, notice that player will remember user setting, default volume will not work after user set volume themselves |
audios |
Array | [] |
Playlists can be preset. FAQ |
For more option, see APlayer options
FAQ
How do I change the way the list is sorted?
Modify line 636 of the code or search for params.orderBy
- paramsorderBy = "folder,name,modifiedTime desc";+ paramsorderBy = "modifiedTime desc";
How to preset an audio playlist?
Audio option add audios
audio: {
audios: [
{
name: "Mojito",
artist: "周杰伦",
url: "https://xx.mp3",
lrc: "https://xx.lrc",
cover: "https://xx.jpg"
}
]
}
Change log
v2.0.8
- Fix image file actions does not work #100
- Fix misjudged file to image format #88
- Fix more than 10 drive not working #59 #85
- Fix some of the operation functions in the search list cannot be used
- Fix text cache content not refreshing
- Add video default player(plyr) #22 #38
- Add audio player (APlayer) #77
- Add copy button to video page
- Add NProgress
- Add language cache cleanup
- Add shortcut can't download tip #76
- Markdown displays rendered html by default
- CLI Delete prefetch preload of lazy load module
- Delete fontawesome5