- Introduction
- Installation
- Configuration
- Post-Installation
- Usage
- Project Structure
- Contribution Guidelines
- Motivation
- License
- Contact Information
ksau-go is a tool for uploading files to "our" OneDrive for "free" unitl we run out space, promoting open-source culture and helping developers as we are one of them.
Run this command to download and install ksau-go:
curl -sSL https://raw.githubusercontent.com/global-index-source/ksau-go/master/setup.sh | bashThis method is recommended because it automatically detects your OS and architecture, downloads the appropriate binary, and sets up the configuration directory. Note: This method currently works for Linux/macOS only.
Run this command to download and install ksau-go:
curl -sSL https://raw.githubusercontent.com/global-index-source/ksau-go/master/setup.sh | bashThe script will:
- Automatically detect your OS and architecture
- Download the appropriate binary from the latest release
- Create the configuration directory (~/.ksau/.conf/ on Unix-like systems)
- Offer to install either system-wide (requires sudo) or in your user directory
Run this command in PowerShell:
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/global-index-source/ksau-go/master/install.ps1").ContentNote: You might encounter security-related messages because the executable is not signed. The script installs the tool as ksau-go instead of ksau-go-windows-amd64.exe.
To build this project from source, you need two important things:
- Private PGP key used to decrypt rclone.conf
- The passphrase of the PGP key
They should be placed under crypto/ like so:
└───crypto
algo.go
placeholder.go
>> passphrase.txt ⌉ -- These files
>> privkey.pem ⌋ they are not provided by the repo
Finally, install the dependencies and you're ready to build the project!
go mod tidy # install dependencies
make build # build the project
Depending on the OS you're on, you'll see ksau-go or ksau-go.exe generated in the current working directory.
The tool stores its configuration in:
- Linux/macOS:
$HOME/.ksau/.conf/rclone.conf - Windows:
%AppData%\ksau\.conf\rclone.conf
After installation, run the following command to refresh the rclone configuration:
ksau-go refreshTo enable command-line completion for your shell, run:
ksau-go completion [shell] >> ~/.bashrc && source ~/.bashrc # For bash
ksau-go completion [shell] >> ~/.zshrc && source ~/.zshrc # For zsh
ksau-go completion [shell] >> $PROFILE # For PowerShellReplace [shell] with your shell type (e.g., bash, zsh, powershell).
To upload a file to OneDrive:
ksau-go upload --file /path/to/local/file --remote /path/to/remote/folderTo upload a file with custom chunk size and retry settings:
ksau-go upload --file /path/to/local/file --remote /path/to/remote/folder --chunk-size 10485760 --retries 5 --retry-delay 10sUploading a file with progress visualization:
ksau-go upload --file /path/to/local/file --remote /path/to/remote/folder --progress modernListing available remotes:
ksau-go list-remotesDisplaying OneDrive quota information:
ksau-go quota.gitattributes,.gitignore: Git configuration files.go.mod,go.sum: Go module files.install.ps1,setup.sh: Installation scripts for different platforms.LICENSE: License file.main.go: Main entry point of the application.Makefile: Build instructions.README.md: Documentation file..git/,.github/: Git-related directories.azure/: Contains Azure-related code.cmd/: Contains command-line related code.crypto/: Contains cryptographic-related code.
We welcome contributions! Please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes.
- Submit a pull request with a detailed description of your changes.
The motivation behind ksau-go is to provide a robust and efficient tool for interacting with Microsoft Azure services, specifically OneDrive and SharePoint. It aims to solve problems related to large file uploads, metadata management, and storage quota information.
This project is licensed under the MIT License. See the LICENSE file for details.
For further inquiries or support, please contact us at Telegram
Proudly donated to FOSS-Community by Pratham, Hakimi and Sauraj