DDRV - discord as infinite cloud storage. ========================================= ddrv is not-so-conventional tool to exploit Discord's unlimited file attachment feature for an endless cloud storage solution. You're welcome. HIGHLIGHTS ---------- - Supports multiple protocols, HTTP and FTP(Yes you can mount as fuse using rclone). - The frontend is robust. Works with web browsers (HTTP), Filezilla, RClone, Windows Explorer, Ubuntu (Nautilus), and many more. - For storing file metadata, PostgreSQL and Bolt (key/value store in pure Go) data providers are supported. - HTTP supports partial downloads, so you can use multi-threaded download managers and stream video directly to video players. NEW IN VERSION 2 ---------------- - Ditched webhooks for bot tokens. Bot tokens were necessary to renew attachment url signature. - Discord attachment URL signature? Pfft. Found a workaround. - Zerolog logging library now. The standard one was just meh. - Configuration's now in "config.yaml" instead of ".env". Because consistency is overrated. - Added a new disk-based dataprovider using boltdb. For those who can't handle a full setup. - Webdav is out. It was a slow, broken mess and complete waste of time REQUIREMENTS ------------- - Discord bot token. Make sure "message content intent" is on. - PostgreSQL - Optional (Data provider) USAGE ----- - Get latest binary and config from 'https://github.com/forscht/ddrv/releases' for your os/platform. - Copy config_example.yaml -> config.yaml and update config.yaml according to your use case - Start Linux / Macos - './ddrv --config=config.yaml' - Start Windows - 'ddrv --config=config.yaml' USAGE DOCKER ------------ - Prepare config.yaml, find a sample config at 'https://github.com/forscht/ddrv/blob/main/config/config_example.yaml' - Command - 'docker run --network=host -v="./config.yaml:/app/config.yaml" --rm --name=ddrv forscht/ddrv' CONFIGURATION FILE ------------------ The ddrv utilizes a configuration file in the YAML format, find a sample config at 'https://github.com/forscht/ddrv/blob/main/config/config_example.yaml'. ddrv automatically searches for a file named 'config.yaml' in the current directory and in the $HOME/.config/ddrv directory. Alternatively, you can specify a different configuration file by using 'ddrv --config=/path-to-config/config.yaml'. BUILD FROM SOURCE ----------------- - Install latest GO - 'https://go.dev/doc/install' - Clone this repo - 'https://github.com/forscht/ddrv' - Command to build - 'go build -ldflags="-s -w" -o ddrv ./cmd/ddrv' SUPPORT ------- - Create GitHub issue at - 'https://github.com/forscht/ddrv/issues' - Discord Server - 'https://discord.gg/bdxkPSEKzG'