DisVault
DisVault is a lightweight file management solution that leverages Discord servers to store, organize, and manage files. Caution: This is an hobby project and very early in dev, so it's not recommended to upload large volumes of files to your Discord server as it may exceed Discord's limitations. It does not encrypt any uploaded data.
Latest Binaries can be downloaded HERE
[!WARNING]
DisVault is a hobby project, meaning it is not focused on the encryption of files
THE WINDOWS EXE MAY SHOW A FALSE POSITIVE SO YOU MAY NEED TO WHITELIST IT FOR USAGE, See here
It is my first ever project written in Go also first project I ever finished to a certain degree
It may contain bugs or missing features. Use with caution, especially when uploading sensitive or large amounts of data.
DO NOT STORE SENSITIVE DATA
Do not Abuse Discord's CDN, your files or server may get deleted or worse your account might get banned
๐ Overview
DisVault allows you to:
- Upload: Automatically Split files into manageable chunks and upload them to your Discord server.
- Download: Retrieve your files seamlessly by assembling the chunks back together.
- List: View your files in an organized manner, grouped for easier access and management.
- Delete: Remove files from the server when they're no longer needed.
- Groups: Assign files to groups for easier categorization and searching. In the future, groups may be used for a web hierarchy view where each parent group would become the main folder containing files or other groups under it (NOT A PRIORITY).
โก Quick Start
-
Clone the Repository
git clone https://github.com/AnkanNandi/disvault.git
cd disvault
-
Set Up Your Environment
- Ensure you have Go installed (version 1.23).
- Set up your Discord bot with the appropriate permissions.
-
Build and Run
go build -o disvault
./disvault --help
-
Upload Files
Use the upload command to add files:
./disvault upload --file yourfile.txt
๐ Features
- Discord Integration: Uses Discord channels for file storage.
- Searchable: Easily search and filter files using various flags.
- Categorization: Group files to keep everything organized.
๐ Usage
disvault [command]
Available Commands:
delete Delete files using their IDs
download Download files using their IDs
group Group command allows you to create, delete, and manage groups within DisVault.
help Help about any command
list List the uploaded files
upload Upload a file by splitting it into chunks and registering it in the database
version Print the version number of DisVault
โ ๏ธ Caution
- Discord Limitations: Uploading a large number of files or very large files can exceed Discordโs storage limitations and could get your bot rate-limited or banned.
- Data Integrity: This is an hobby project, please don't use disvault as main backup.
๐ก Contributing
Please fork the repository and submit pull requests for new features or bug fixes. For major changes, please open an issue first to discuss what you would like to change.
๐ TODO
- Add flags to delete all files, files in a certain group
- Add flags on downloading files
- Improve error handling and logging.
- Implement Tests
- Enhance file search functionality with more filters.
- Develop a web-based interface for easier file management.
- Sync On different devices?
๐ ๏ธ Built With
๐ License
It is licensed under AGPL-3.0 license, see the LICENSE file for details.
โค๏ธ Support
If you find DisVault useful, please give it a โญ on GitHub and share it with your friends!