{"id":13549668,"url":"https://github.com/alx-xlx/goindex","last_synced_at":"2025-05-15T18:10:03.496Z","repository":{"id":37350653,"uuid":"267868858","full_name":"alx-xlx/goindex","owner":"alx-xlx","description":"Index your Google Drive","archived":false,"fork":false,"pushed_at":"2024-03-08T04:59:25.000Z","size":5645,"stargazers_count":1288,"open_issues_count":59,"forks_count":653,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-05-10T00:06:39.242Z","etag":null,"topics":["aicirou","classic","cloudflare-workers","demo","donwa","drive","gdindex","goindex","goindex-theme-acrou","google-drive","material","oauth-consent-screen","rclone","workers-script"],"latest_commit_sha":null,"homepage":"https://goindex.teamsdrives.workers.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alx-xlx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-29T13:47:36.000Z","updated_at":"2025-05-07T15:17:52.000Z","dependencies_parsed_at":"2024-08-01T12:17:20.187Z","dependency_job_id":"b4ba5b5c-d4ad-4963-b8b2-d5723a6d2a1e","html_url":"https://github.com/alx-xlx/goindex","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alx-xlx%2Fgoindex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alx-xlx%2Fgoindex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alx-xlx%2Fgoindex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alx-xlx%2Fgoindex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alx-xlx","download_url":"https://codeload.github.com/alx-xlx/goindex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394723,"owners_count":22063984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aicirou","classic","cloudflare-workers","demo","donwa","drive","gdindex","goindex","goindex-theme-acrou","google-drive","material","oauth-consent-screen","rclone","workers-script"],"created_at":"2024-08-01T12:01:24.240Z","updated_at":"2025-05-15T18:10:03.467Z","avatar_url":"https://github.com/alx-xlx.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"﻿\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://i.imgur.com/Quwrp38.png\" alt=\"goindex\" height=\"\"\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"goindex-license\" src=\"https://img.shields.io/badge/Open_source-MIT-red.svg?logo=git\u0026logoColor=green\"/\u003e\n\u003cimg src=\"https://img.shields.io/github/last-commit/alx-xlx/goindex.svg?logo=Sublime+Text\u0026logoColor=green\u0026label=Active\"/\u003e\n\u003cimg alt=\"GitHub Release Date\" src=\"https://img.shields.io/github/release-date/alx-xlx/goindex\"\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/alx-xlx/goindex\"\u003e\n\u003cimg alt=\"goindex-softwareheritage.org\" src=\"https://archive.softwareheritage.org/badge/origin/https://github.com/Unipisa/CMM/\"/\u003e\n\u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/alx-xlx/goindex\"\u003e\n\u003cimg src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Falx-xlx%2Fgoindex\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=Views\u0026edge_flat=false\"/\u003e\n\n\n\n\u003c/div\u003e\n\n---\n\nGoogle Drive Directory Index  \nCombining the power of [Cloudflare Workers](https://workers.cloudflare.com/) and [Google Drive](https://www.google.com/drive/) will allow you to index you files on the browser on Cloudflare Workers.    \n\n`index.js` is the content of the Workers script.  \n\n\n\n# Versions\n\n\n## 1. [Achrou/goindex-theme-acrou](https://github.com/Achrou/goindex-theme-acrou)\n\n\nWorker Script (Dark Mode) : [index.js](https://raw.githubusercontent.com/alx-xlx/goindex/master/goindex-acrou/go2index/index.js)\n\nWorker Script (Multiple Google Accounts) : [index-multiple-accounts.js](https://raw.githubusercontent.com/alx-xlx/goindex/master/goindex-acrou/go2index/index-multiple-accounts.js)\n\nDemo - [goindex.teamsdrives.workers.dev](https://goindex.teamsdrives.workers.dev)\n\nCopy the [index.js](https://raw.githubusercontent.com/alx-xlx/goindex/master/goindex-acrou/go2index/index.js) script to [workers.dev](https://workers.cloudflare.com/) and edit `client_id`, `client_secret`, `refresh_token` with yours\n\nOR\n\n### GoIndex Auto Code Builder\nhttps://goindex.glitch.me/\n\nSimply visit [this](https://goindex.glitch.me/) Modified (only for Dark Mode) version to automatically generate your `index.js` without having to manually edit anything.\n\n### [List View - Dark Mode](https://goindex.teamsdrives.workers.dev)\n![goindex-list](https://i.imgur.com/Y9pJo1V.png)\n\n### [Thumbnail View - Dark Mode](https://goindex.teamsdrives.workers.dev)\n![goindex-thumbnail](https://i.imgur.com/crg4dGp.gif)\n\n![goindex-awesome](https://i.imgur.com/JnEvGyg.gif)\n\n### Toggle View\n![goindex-toggle-view](https://i.imgur.com/RdvgfIf.png)\n\n\n---\n## 2. [maple3142/GDIndex](https://github.com/maple3142/GDIndex)\n---\nWorker Script - [index.js](https://github.com/alx-xlx/goindex/blob/2.0.8-darkmode-0.1/goindex-vue.js)\n\n### Upload Files using CLI `gdindex_upload.py`\n```py\n## Python Example\nimport requests\n\n# \"upload: true\" in the script\nto_upload = \"https://i.imgur.com/8w2KDrG.gif\"\nbaseURL = \"https://gdindex-dark.teamsdrives.workers.dev/\"\n# \"folder1/folder2/goindex.gif\"\n# Subdirectories of Folder in Google Drive\nfileName = \"folder1/folder2/goindex.gif\"\n# Default teamDriveID is \"root\"\nteamDriveID = \"0ANCHcQq-8cmvUk9PVA\"\n\nURL = baseURL + \"/\" + fileName + \"?rootId=\" + teamDriveID + \"\u0026url=\" + to_upload\nr = requests.put(URL)\nprint(r.text)\n```\n\nDemo - [gdindex-dark.teamsdrives.workers.dev](https://gdindex-dark.teamsdrives.workers.dev/)\n### [Demo - Dark Mode](https://gdindex-dark.teamsdrives.workers.dev/)\n![](https://i.imgur.com/1uIQZr5.png)\n\n## 3. donwa/goindex\n\nWorkers Script - [index.js](https://github.com/alx-xlx/goindex/blob/2.0.8-darkmode-0.1/goindex.js)\n\n## Themes\n\n### Demo Classic : [goindex-classic.teamsdrives.workers.dev](https://goindex-classic.teamsdrives.workers.dev)\n\n![](https://i.imgur.com/lNeh3S3.png)\n\n### Demo Material: [goindex-material.teamsdrives.workers.dev](https://goindex-material.teamsdrives.workers.dev)\n\n![](https://i.imgur.com/jAq7Lsm.png)\n\n\n## Deployment  \n1.Install `rclone` software locally  \n2.Follow [https://rclone.org/drive/]( https://rclone.org/drive/) bind a drive  \n3.Execute the command`rclone config file` to find the file `rclone.conf` path  \n4.Open `rclone.conf`,find the configuration `root_folder_id` and `refresh_token`  \n5.Download index.js in https://github.com/donwa/goindex and fill in root and refresh_token  \n6.Deploy the code to [Cloudflare Workers](https://www.cloudflare.com/)\n\n## Free Teamdrives\nGet free Google Shared Drives\n\n- [td.fastio.me](https://td.fastio.me)\n\n- [td.hackgence.com](https://td.hackgence.com)\n\n- [team.hackgence.com](https://team.hackgence.com)\n\n## Quick Deployment  \n1.Open https://goindex.glitch.me/  \n2.Auth and get the code  \n3.Deploy the code to [Cloudflare Workers](https://www.cloudflare.com/)  \n\n## To Get Search Bar Working\n\nIf you're using your root folder Set Roots like this\n\n`  \"roots\": [\n\t{\n\t\t\"id\": \"root\",\n\t\t\"name\": \"{Name}\",\n\t\t\"user\": \"\",\n\t\t\"pass\": \"\",\n\t\t\"protect_file_link\": false\n\t}\n], `\n\nIf you're using your Team Drive Set Roots like this!\n\n`  \"roots\": [\n\t{\n\t\t\"id\": \"{Your Team Drive ID}\",\n\t\t\"name\": \"Nexa Torrents\",\n\t\t\"user\": \"\",\n\t\t\"pass\": \"\",\n\t\t\"protect_file_link\": false\n\t}\n], `\n\n**Don't use your Team Drive Folder Id** . Use Your **Team Drive ID**\nEx:- If your Team Drive Link is `https://drive.google.com/drive/u/0/folders/0AJOMLOnArqblUk9PVA` . Your Team Drive Id is `0AJOMLOnArqblUk9PVA`\n\n# Optional\nUse this when you want to host everything\n\n## Get Google ClientID and SecretID\nLog into the Google API Console [https://console.developers.google.com/] with your Google account. It doesn’t matter which Google account you use. (It need not be the same account as the Google Drive you want to access)\n\nSelect a project or create a new project.\n\nUnder “ENABLE APIS AND SERVICES” search for “Drive”, and enable the “Google Drive API”.\n\nClick “Credentials” in the left-side panel (not “Create credentials”, which opens the wizard).\n\nIt will prompt you to set the OAuth consent screen product name, if you haven’t set one already.\n\nOAuth Consent Screen \u003e User Type \u003e External \u003e Application Name\n\nClick “Credentials” in the left-side panel, then “Create credentials”, then “OAuth client ID”. \n\nChoose an application type of “other”, and click “Create”. (the default name is fine)\n\nIt will show you a client ID and client secret. Use these values in rclone config to add a new remote or edit an existing remote\n\n## Setup rclone\n\nInstall `rclone` software locally  \nFollow [https://rclone.org/drive/]( https://rclone.org/drive/) bind a drive\n\nUse the `client_id` \u0026 `client_secret` while setup\n\nExecute the command `rclone config file` to find the file `rclone.conf` path  \n\nopen rclone's config file, here we will find following Configurations (we will need these in next steps)\n- client_id\n- client_secret\n- refresh_token\n- ROOT_FOLDER (will be like 0AG1OSyxjvYcLUk9PVA)\n\n## Setup Cloudfare Workers\n\nGo to [https://workers.cloudflare.com/]\n\nsignup using email and password\nenter a subdomain [____.workers.dev] ---\u003e Set up\n\nChoose Workers Plan (FREE)\n- FREE - 10000 request/day\n- $5/month - 10M requests/month\n  \nVerify Email\nGoto Workers ---\u003e \"Create a Worker\"\n\nNow copy the Content of the `index.js` to the script section\n\nEdit this object in the script with the details you generated above\n\n```\nvar authConfig = {\n    \"siteName\": \"GoIndex\", // Sitename\n    \"root_pass\": \"\",  // root password, leave it blank if you don't want\n    \"version\" : \"1.0.6\", // Program Version\n    \"hash\" : \"master\", // master OR your HASH, do not leave blank (changes each time you make a commit)\n    \"theme\" : \"classic\", // material  classic \n    \"client_id\": \"****************************.apps.googleusercontent.com\", // client_id from rclone config\n    \"client_secret\": \"*******************\", // client_secret from rclone config\n    \"refresh_token\": \"******************************************\", // authorized refresh token from rclone config\n    \"root\": \"0AG1OSyxjvYcLUk9PVA\" // ROOT_FOLDER from rclone config,\n};\n```\n\n### Important Note : \n- if you have binded Teamdrive with rclone then make sure you specify the TeamDrive's root folder.\nExample - [\"root\": \"0AG1OSyxjvYcLUk9PVA\"]\n- but if you want to use \"My Drive\" then simply write \"root\".\nExample - [\"root\": \"root\"]\n- Each time you make a commit to a file its HASH changes, so to access the new file you have to specify the hash OR keep it default `\"hash\" : \"master\"`\n\n\n## Host src file in your own github repo\nwhy ?\n\nyou can change the icon of the folders and files and much more \n\nreplace the below line in head with yours\n```\n\u003cUSERNAME\u003e\n\u003cREPOSITORY\u003e\n\u003cVERSION or HASH\u003e\n\u003c/PATH/TO/FILE\u003e\n```\n```\nsrc=\"//cdn.jsdelivr.net/combine/gh/jquery/jquery/dist/jquery.min.js,gh/\u003cUSERNAME\u003e/\u003cREPOSITORY\u003e@\u003cVERSION or HASH\u003e/PATH/TO/FILE.js\"\n```\nExample :\n\n```\nsrc=\"//cdn.jsdelivr.net/combine/gh/jquery/jquery/dist/jquery.min.js,gh/alx-xlx/goindex@${authConfig.hash}/themes/${authConfig.theme}/app.js\"\n```\n\n## Change Icons\nSOON\nhttps://www.w3.org/Icons/\nhttps://www.w3.org/icons/\nhttps://www.base64-image.de/\n\n## About  \nCloudflare Workers allow you to write JavaScript which runs on all of Cloudflare's 150+ global data centers.  \n\n## Credits - Original Authors\n\ngoindex-theme-acrou - [Achrou](https://github.com/Achrou/goindex-theme-acrou)\n\nGDIndex - [maple3142](https://github.com/maple3142/GDIndex)\n\ngoindex - [donwa](https://github.com/donwa/goindex)\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://i.imgur.com/jTGlxeV.png\" alt=\"goindex\" height=\"\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falx-xlx%2Fgoindex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falx-xlx%2Fgoindex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falx-xlx%2Fgoindex/lists"}