- 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 | bash
This 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 | bash
The 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").Content
Note: 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 refresh
To 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 PowerShell
Replace [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/folder
To 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 10s
Uploading a file with progress visualization:
ksau-go upload --file /path/to/local/file --remote /path/to/remote/folder --progress modern
Listing available remotes:
ksau-go list-remotes
Displaying 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