https://github.com/tipsxbase/clipboard
A lightweight, secure, and modern clipboard manager built with Rust (Tauri v2) and Vue 3.
https://github.com/tipsxbase/clipboard
clipboard clipboard-manager linux macos ocr rust shadcn-vue system-tray tauri2 vue vue3 windows
Last synced: about 2 months ago
JSON representation
A lightweight, secure, and modern clipboard manager built with Rust (Tauri v2) and Vue 3.
- Host: GitHub
- URL: https://github.com/tipsxbase/clipboard
- Owner: tipsxBase
- License: gpl-3.0
- Created: 2025-12-08T02:21:31.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-04-14T06:44:35.000Z (about 2 months ago)
- Last Synced: 2026-04-14T08:29:14.904Z (about 2 months ago)
- Topics: clipboard, clipboard-manager, linux, macos, ocr, rust, shadcn-vue, system-tray, tauri2, vue, vue3, windows
- Language: TypeScript
- Homepage: https://tipsxbase.github.io/clipboard/
- Size: 8.26 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clipboard Manager
A lightweight, secure, and modern clipboard manager built with **Rust (Tauri v2)** and **Vue 3**.



[đ Website & Documentation](https://tipsxBase.github.io/clipboard/)
## ⨠Features
- **đ History Management**: Automatically records text and images copied to your clipboard.
- **đ Smart Search**: Quickly find clipboard history with full-text search.
- **đŧī¸ Image Support**: View and paste images directly from your history.
- **đ¸ Screenshot Tool**: Built-in screenshot tool with annotation support (rectangles, ellipses, arrows, pen, text).
- **đ Privacy Focused**:
- **Sensitive Data Detection**: Manually mark items as sensitive or configure sensitive apps.
- **App Filtering**: Ignore clipboard changes from specific applications (e.g., password managers).
- **Memory Only**: Sensitive items can be marked to not persist to disk.
- **đ Pinning**: Pin important items to the top of the list to prevent them from being auto-deleted.
- **⥠Performance**: Optimized for large text content with lazy loading.
- **đ Paste Stack**: Copy multiple items in sequence and paste them in order (FIFO/LIFO).
- **đ OCR**: Extract text from images directly within the app (macOS & Windows).
- **đ Compact Mode**: A dense view for power users to see more items at once.
- **â¨ī¸ Keyboard Driven**: Vim-like navigation (`j`/`k`) and global shortcuts.
- **đ Internationalization**: Support for English and Chinese (įŽäŊ䏿).
- **đ Auto-start**: Option to launch automatically at system login.
## đŽ Usage
### Global Shortcuts
- **Toggle Clipboard History**: `Cmd+Shift+V` (macOS) or `Ctrl+Shift+V` (Windows/Linux) - _Default, configurable in settings._
- **Take Screenshot**: Trigger screenshot mode to capture and annotate your screen.
### Screenshot Tool
The built-in screenshot tool allows you to capture, annotate, and save screenshots:
1. **Trigger Screenshot**: Use the configured shortcut or menu option.
2. **Select Area**: Click and drag to select the area you want to capture.
3. **Annotate**: Use the toolbar to add annotations:
- **Rectangle** / **Ellipse** / **Arrow**: Draw shapes
- **Pen**: Free-hand drawing
- **Text**: Add text annotations
4. **Save**: Press `Enter` or click the checkmark to save the screenshot to your clipboard.
5. **Cancel**: Press `Esc` or click the X button to cancel.
> **macOS Users**: On first use, macOS will request **Screen Recording** permission. Please grant this permission in System Settings > Privacy & Security > Screen Recording, then restart the app.
### Navigation (Popup Window)
- **Select Item**: `â` / `â` or `Ctrl+n` / `Ctrl+p` or `Ctrl+j` / `Ctrl+k` (Vim style)
- **Paste Item**: `Enter`
- **Multi-Select (Paste Stack)**: `x` or `Cmd+Click` to select items. Press `Enter` to start the stack, then use the Global Shortcut to paste items sequentially.
- **Preview Item**: `Space` (Press again to close)
- **OCR (Image Preview)**: In preview mode, click the "Extract Text" button to copy text from image.
- **Close / Back**: `Esc`
### Data Storage
Your clipboard history and settings are stored locally in:
- **macOS**: `~/.clipboard-manager/`
- **Windows/Linux**: `~/.clipboard-manager/` (or standard AppData location)
```
~/.clipboard-manager/
âââ config.json # User settings
âââ history.db # Encrypted clipboard history (AES-GCM)
âââ secret.key # Encryption key
âââ images/ # Clipboard image history
âââ captures/ # Saved screenshots
```
> **Note**: The database is encrypted using AES-GCM for security.
## đ ī¸ Tech Stack
- **Backend**: Rust, Tauri v2, SQLite
- **Frontend**: Vue 3, TypeScript, Tailwind CSS v4
- **UI Components**: Radix Vue, Lucide Icons
## đ Getting Started
### Prerequisites
- [Node.js](https://nodejs.org/) (v18+)
- [pnpm](https://pnpm.io/)
- [Rust](https://www.rust-lang.org/) (latest stable)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/clipboard.git
cd clipboard
```
2. Install frontend dependencies:
```bash
pnpm install
```
3. Run the development server:
```bash
pnpm tauri dev
```
### Build
To build the application for production:
```bash
pnpm tauri build
```
The executable will be located in `src-tauri/target/release/bundle/`.
## đ License
This project is licensed under the **GNU General Public License v3.0**. See the [LICENSE](LICENSE) file for details.
## đ¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.