A lightweight, cross-platform command-line utility for uploading, downloading, and managing files on a remote server using API key authentication.
Version: 1.3.0
Author: Ari Cummings
API Server: https://UDTool.delphigamerz.xyz
- ✅ API Key Management: Generate and validate API keys with secure local storage
- ✅ File Operations: Upload, download, delete, search, and list files
- ✅ Progress Tracking: Real-time progress bars for uploads and downloads
- ✅ Secure Authentication: All operations use API key authentication via HTTP headers
- ✅ Cross-platform: Windows, macOS (Intel & Apple Silicon), and Linux (x64 & ARM64)
- ✅ Easy Installation: Native installers for all platforms
Download and install the MSI for your architecture:
- x64:
UDTool-VERSION-x64.msi - ARM64:
UDTool-VERSION-arm64.msi
Available from Releases
Download and install the universal PKG installer:
UDTool-VERSION.pkg(works on both Intel and Apple Silicon)
Available from Releases
Binary installed to: /usr/local/bin/UDTool
Debian/Ubuntu:
sudo dpkg -i udtool_VERSION-1_amd64.deb # x64
sudo dpkg -i udtool_VERSION-1_arm64.deb # ARM64RHEL/CentOS/Fedora:
sudo rpm -i udtool-VERSION-1.x86_64.rpm # x64
sudo rpm -i udtool-VERSION-1.aarch64.rpm # ARM64Or use standalone binary:
chmod +x UDTool-linux-x64
sudo mv UDTool-linux-x64 /usr/local/bin/UDToolAvailable from Releases
UDTool genkeyGenerates and saves a new API key locally.
UDTool checkkey # Check stored key
UDTool checkkey YOUR_KEY_123 # Check specific keyUDTool upload /path/to/file.txt remote_name.txtUDTool download remote_name.txtUDTool search filename_patternUDTool listUDTool delete filename.txtYour API key is stored locally in your user's config directory:
| OS | Location |
|---|---|
| Windows | %APPDATA%\UDTool\api_key.txt |
| macOS | ~/.config/UDTool/api_key.txt |
| Linux | ~/.config/UDTool/api_key.txt |
The stored key is used automatically for all authenticated operations.
The server provides these endpoints (all authenticated endpoints require API-Key header):
| Method | Endpoint | Requires Auth | Description |
|---|---|---|---|
| GET | /key/check/{key} |
No | Validate an API key |
| POST | /key/new |
No | Generate a new API key |
| POST | /{fileName} |
Yes | Upload a file |
| GET | /{fileName} |
Yes | Download a file |
| GET | /list |
Yes | List all files |
| GET | /search/{searchTerm} |
Yes | Search for files |
| DELETE | /{fileName} |
Yes | Delete a file |
Generate a new key: UDTool genkey
Verify your key: UDTool checkkey <api_key>
Possible causes:
- Out of Memory: Large files may exceed available RAM
- Network timeout: Check your network connection
- File permissions: Ensure file is readable
Try uploading a smaller file to test.
Progress bars require ANSI support. Update to Windows Terminal or modern PowerShell on Windows.
Requirements: Rust 1.70+
git clone https://github.com/ariplayz/UDTool.git
cd UDTool
cargo build --release
./target/release/UDToolRequires WiX Toolset v6.0+:
wix build wix\main.wxs -d Version="1.0.0" -d CargoTargetBinDir=target\x86_64-pc-windows-msvc\release -d PlatformArch=x64./create-macos-pkg.shRequires cargo-deb:
cargo install cargo-deb
cargo debRequires fpm:
fpm -s dir -t rpm -n udtool -v 1.0.0 -a x86_64 -C rpm_build -p udtool-1.0.0-1.x86_64.rpm usr/local/bin/UDToolPush a version tag to trigger automatic builds:
git tag v1.3.0
git push origin main --tagsGitHub Actions automatically builds and publishes:
- Windows x64 & ARM64 (.exe + .msi)
- macOS universal (.pkg)
- Linux x64 & ARM64 (.deb + .rpm + executables)
MIT License - See LICENSE file
For issues, feature requests, or questions:
- Open an issue on GitHub
- Contact: Ari Cummings ari@aricummings.com