https://github.com/fumingpower3925/libreutils
A privacy-first collection of useful web tools (compression, encryption, image editing, etc...) that run entirely in your browser. No server uploads, no ads.
https://github.com/fumingpower3925/libreutils
client-side libre local-first no-ads offline-capable open-source privacy-tools web-utilities
Last synced: 13 days ago
JSON representation
A privacy-first collection of useful web tools (compression, encryption, image editing, etc...) that run entirely in your browser. No server uploads, no ads.
- Host: GitHub
- URL: https://github.com/fumingpower3925/libreutils
- Owner: FumingPower3925
- License: agpl-3.0
- Created: 2025-12-09T10:04:36.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-20T22:45:20.000Z (5 months ago)
- Last Synced: 2025-12-22T08:58:25.111Z (5 months ago)
- Topics: client-side, libre, local-first, no-ads, offline-capable, open-source, privacy-tools, web-utilities
- Language: TypeScript
- Homepage: https://libreutils.org
- Size: 112 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# LibreUtils
**Privacy-first web tools that run entirely in your browser**
No server uploads · No tracking · No ads · Open Source (AGPL-3.0)
---
## Features
- **100% Client-Side**: All processing happens in your browser. Your data never leaves your device.
- **Minimal Dependencies**: Built with Bun, TypeScript, and Web Components.
- **Offline Support**: Installable as a PWA for offline use.
- **Modular Architecture**: Each tool is an independent package that can be developed and used standalone.
## Available Tools
| Tool | Description | Status |
|------|-------------|--------|
| Text Encoder | Encode/decode text (Base64, URL, HTML entities, etc.) | Ready |
| Password Generator | Secure, unique, and memorable password generation | Ready |
| Encryptor / Decryptor | AES-GCM and ChaCha20 encryption for text and files | Ready |
| Checksum Generator | Generate and verify file hashes (MD5, SHA-1/256/384/512, BLAKE3) | Ready |
| Metadata Scrubber | Remove sensitive metadata from files (PDFs, images, videos, audio) before sharing | Ready |
## Quick Start
### Prerequisites
- [Bun](https://bun.sh/) v1.0 or higher
### Installation
```bash
git clone https://github.com/FumingPower3925/libreutils.git
cd libreutils
bun install
```
### Development
```bash
# Run the full website
bun run dev
# Run a specific tool standalone
cd tools/text-encoder
bun run dev
```
Development server: `http://localhost:3000` (main site) or `http://localhost:3001` (standalone tool).
### Production Build
```bash
bun run build
```
## Project Structure
```
libreutils/
├── src/ # Main website
│ ├── pages/ # Page components
│ ├── index.html # HTML template
│ ├── index.ts # Entry point
│ └── dev.ts # Development server
├── shared/ # Shared code
│ └── src/
│ ├── components/ # Web Components
│ ├── styles/ # CSS design system
│ └── utils/ # Utilities
├── tools/ # Individual tools
│ └── text-encoder/ # Example tool
├── public/ # Static assets
└── package.json # Workspace configuration
```
## Adding a New Tool
1. Create `tools/my-tool/` with `package.json`, `tsconfig.json`
2. Add files: `meta.ts`, `tool.ts` (logic), `page.ts` (UI), `standalone.ts`, `dev.ts`
3. Register in `src/pages/home.ts`
4. Run `bun install` and test with `cd tools/my-tool && bun run dev`
See `tools/text-encoder/` for the template.
## Design System
The shared package provides CSS variables, typography, spacing, and component styles. All components use CSS custom properties for theming and dark mode support.
### Web Components
- `` - Page layout with header/footer slots
- `` - Site header with navigation and theme toggle
- `` - Site footer
- `` - Tool card
- `` - Copy button with visual feedback
- `` - File download with File System Access API support
## Privacy
- **No Server Processing**: All tools run 100% in your browser
- **No Analytics**: We don't track page views or behavior
- **No Cookies**: Only `localStorage` for theme preference
- **Open Source**: Auditable under AGPL-3.0
## License
GNU Affero General Public License v3.0 (AGPL-3.0)
See [LICENSE](./LICENSE) for details.
---
Made with care for privacy.