privutil

module
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2026 License: MIT

README ΒΆ

PrivUtil

Build Status License Go Version

[!NOTE] This project was "developed" with Antigravity AI. I am the owner of the project and I am using it to help me with my development tasks and to learn more about AI development while vive coding. This project was started from scratch and it took the length of TROLL and TROLL2 movies to build.

PrivUtil is a privacy-first, offline-capable developer utility suite. Built with Go and React, it provides 20+ tools for data manipulation, formatting, conversion, and generation β€” all running locally with zero server tracking.

PrivUtil Screenshot


✨ Features

Core Utilities
Tool Description
Diff Utility Compare text with visual highlighting
Base64 Encode/Decode Base64 strings
Text Tools Sort, dedupe, reverse, trim, inspect text
Similarity Calculate Levenshtein distance
Formatters & Converters
Tool Description
JSON Format, minify, validate
Universal Converter JSON ↔ YAML ↔ XML
SQL Formatter Beautify SQL queries
Color Converter HEX ↔ RGB ↔ HSL with live preview
Case Converter camelCase, snake_case, PascalCase, kebab-case
Time Converter Unix timestamps, timezone conversion
IP Calculator IPv4/IPv6 subnet calculations
Markdown Convert between Markdown and HTML
Generators & Security
Tool Description
Generators
- UUID (v4, v7, v8)
- Hashes (MD5, SHA, bcrypt, blowfish, etc.)
- Number Base Converter
- RSA Key Pairs
Lorem Ipsum Configurable dummy text generation
Passwords Secure password generation with custom policies
Encoders URL, HTML entity encode/decode
JWT Debugger Decode and inspect JWTs
Certificate Parser Parse X.509 PEM certificates
Cron Tools Explain cron expressions with next runs
Regex Tester Test Go-compatible regex patterns
JSON to Go Generate Go struct from JSON

πŸš€ Quick Start

[!IMPORTANT] PrivUtil should NOT be installed via go install. This project uses an embedded web component that must be built separately. Standard go install fails to bundle these assets correctly, resulting in an incomplete application. Please use the pre-compiled binaries from the Releases page or build from source using the provided Makefile.

Docker

Check out the project packages here

docker pull ghcr.io/odinnordico/privutil:latest
docker run --rm -p 8090:8090 ghcr.io/odinnordico/privutil:latest
Download from Releases

Download the latest binary for your platform from the Releases page.

Linux / macOS
# Example for Linux AMD64
tar -xzf privutil-linux-amd64.tar.gz
./privutil
Windows
  1. Right-click the .zip file and select Extract All...
  2. Run privutil.exe
Build from Source
# Clone the repository
git clone https://github.com/odinnordico/privutil.git
cd privutil

# Build everything
make build

# Run
./privutil

Access at http://localhost:8090

CLI Options
./privutil --help

Options:
  -port string      Port to listen on (default "8090")
  -host string      Host to bind to (default: all interfaces)
  -log-level string Log level: debug, info, warn, error (default "info")
  -version          Print version and exit

Environment variables: PORT, HOST, LOG_LEVEL


πŸ› οΈ Development

Prerequisites
  • Go 1.21+
  • Node.js 18+
  • Make
Makefile Commands
make build          # Build frontend + backend
make run            # Build and run
make clean          # Clean build artifacts
make test           # Run all tests
make test-backend   # Go tests with coverage
make test-frontend  # Vitest tests
make test-coverage  # Generate coverage reports
make lint           # Run linters
make proto          # Regenerate protobuf code
Project Structure
privutil/
β”œβ”€β”€ cmd/privutil/       # Main application entry
β”œβ”€β”€ internal/
β”‚   β”œβ”€β”€ api/            # gRPC service implementation
β”‚   └── server/         # HTTP/gRPC-Web server
β”œβ”€β”€ proto/              # Protocol Buffer definitions
β”œβ”€β”€ web/                # React frontend (Vite + Tailwind)
β”‚   β”œβ”€β”€ src/components/ # UI components
β”‚   └── src/lib/        # Shared utilities
└── Makefile

🎨 Theme

PrivUtil features a Kawasaki Lime theme with dark/light mode toggle:

  • Primary Accent: #76FF03 (Neon Green)
  • Default Mode: Dark
  • Toggle in the top-right header

πŸ§ͺ Testing

Backend (Go)
  • Coverage: 82%+ on core business logic
  • Tests for all 20+ gRPC methods
go test -tags=manual -cover ./...
Frontend (React/Vitest)
  • 16 tests across 4 test files
  • Dashboard, ThemeToggle, utilities coverage
cd web && npm test

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing
  3. Make changes and add tests
  4. Run linters: make lint
  5. Run tests: make test
  6. Commit: git commit -m "feat: Add amazing feature"
  7. Push and open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


πŸ“„ License

MIT License β€” See LICENSE for details.

Directories ΒΆ

Path Synopsis
internal
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL