⚠️ Warning: The quota free download feature is currently still under development. I have not tested it for large number of downloads. Feel free to create an issue if you face any bugs.
GoDriveIndex is a powerful open-source Google Drive indexing solution built with Go. This project aims to provide a seamless way to index, search, and download files from Google Drive without being constrained by download quota limits. By leveraging the Google Drive API and Go's robust concurrency features, GoDriveIndex offers a fast and reliable method to interact with your Google Drive contents. Whether you're managing a large collection of files or need a reliable way to access and share Google Drive contents, GoDriveIndex provides a robust solution that combines the speed of Go with the versatility of Google Drive.
- Golang
- Google Drive API
- Efficient Indexing: Quickly catalog your entire Google Drive structure.
- Advanced Search: Easily find files and folders using various search parameters.
- Quota-Free Downloads: Bypass Google Drive's download quotas for smoother file retrieval.
- Secure Authentication: Utilize OAuth 2.0 for safe and authorized access to Google Drive.
- User-Friendly Interface: A clean and intuitive web interface for easy navigation and file management.
👉 Efficient Indexing: Quickly catalog your entire Google Drive structure.
👉 Advanced Search: Easily find files and folders using various search parameters.
👉 Quota-Free Downloads: Bypass Google Drive's download quotas for smoother file retrieval.
👉 Secure Authentication: Utilize OAuth 2.0 for safe and authorized access to Google Drive.
NOTE: MANY FEATURES ARE STILL UNDER DEVELOPMENT.
Follow these steps to set up the project locally on your machine.
Prerequisites
- Go: Ensure you have Go installed on your machine. You can download it from here.
- Git: Make sure Git is installed. You can download it from here.
- Environment Variables: Create a
.env
file in the root directory with necessary configurations.
-
Clone the Repository
git clone https://github.com/amankumarsingh77/GODriveIndex.git cd GODriveIndex
-
Install Dependencies
- Navigate to the project directory and run:
go mod tidy
-
Configure Environment Variables
- Create a
.env
file in the root directory and add your configurations. Example:
GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET OAUTH_REDIRECT_URL=YOUR_OAUTH_REDIRECT_URL
- Create a
Additional Configuration
- Setup Service Account: Ensure
serviceAccount.json
is properly configured is if you are using service account for authentication. Follow this guide to create a service account and use theserviceAccount.demo.json
file as reference. - Authentication: Modify
auth.json
as needed for your authentication setup. Followauth.demo.json
for reference.
Run the Server
- Start the server using:
go run cmd/server/main.go
Access the Application
- Open your browser and go to
http://localhost:8080
to access the application.
Q) Want to chat or need assistance with setting up a project?