anshdadhich commited on
Commit
68e7686
Β·
verified Β·
1 Parent(s): 72dbb0e

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +76 -40
README.md CHANGED
@@ -1,83 +1,119 @@
1
  # FastSeek - macOS Spotlight-style File Search for Windows
2
 
3
- A blazing-fast file search tool for Windows that indexes all files using the NTFS Master File Table (MFT) directly, wrapped in a beautiful macOS Spotlight-style UI powered by Tauri.
4
 
5
  ## Architecture
6
 
7
  ```
8
- fastsearch-core/ (Rust library - your original engine)
9
- β”œβ”€β”€ src/index/ (In-memory index + fuzzy search)
10
- β”œβ”€β”€ src/mft/ (NTFS MFT reader + USN journal watcher)
11
- └── src/utils/ (Drive detection)
12
-
13
- fastsearch-tauri/ (Tauri desktop app)
14
- β”œβ”€β”€ src-tauri/src/ (Tauri backend + hotkeys + system tray)
15
- └── ui/ (Spotlight-style HTML/CSS/JS frontend)
 
 
 
 
 
 
 
 
 
16
  ```
17
 
18
- ## Why Tauri?
19
 
20
- - **Keep your Rust core intact**: The entire MFT scanning, indexing, and search logic stays in Rust with zero changes
21
- - **Native Windows integration**: System tray, global hotkeys (Win+Space), native window management
22
- - **Beautiful UI**: HTML/CSS/JS frontend with macOS Spotlight aesthetics - blur effects, smooth animations
23
- - **Small footprint**: Tauri apps are ~3-5MB vs Electron's 100MB+
24
- - **Performance**: Rust backend + Web frontend = best of both worlds
25
 
26
  ## Why NOT C#?
27
 
28
  - Your core is already Rust with deep Windows kernel integration (NTFS MFT parsing, USN journal watching)
29
- - Porting to C# would require rewriting all unsafe Win32 interop, MFT parsing, USN journal code
30
  - Rust β†’ C# FFI is complex and loses performance advantages
31
  - Tauri gives you a better UI with less effort while keeping your Rust engine
32
 
33
  ## Features
34
 
35
- - ⚑ **Instant search** - Indexes millions of files in seconds via NTFS MFT
36
  - πŸ” **Fuzzy matching** with ranking (exact β†’ starts with β†’ contains)
37
  - πŸ“‚ **Live index updates** via USN journal watching
38
  - 🎨 **Spotlight-style UI** with blur backdrop, smooth animations
39
- - ⌨️ **Global hotkeys**: `Win+Space` to open, `ESC` to close
40
  - πŸ–±οΈ **Navigation**: `↑` `↓` arrows, `Enter` to open, `Ctrl+Enter` to reveal in Explorer
41
- - πŸ’Ύ **Smart caching** - Compressed LZ4 cache with delta catch-up on restart
42
  - 🚫 **Directory exclusions** via UI
 
43
 
44
- ## Building
45
 
46
- ### Prerequisites
47
- - Rust toolchain (stable)
48
- - Windows (requires Administrator for MFT access)
49
- - Node.js (for Tauri CLI)
50
 
51
- ### Step 1: Install Tauri CLI
52
- ```bash
53
- cargo install tauri-cli
54
- ```
55
 
56
- ### Step 2: Build
57
  ```bash
 
 
 
 
 
58
  cd fastsearch-tauri
 
 
 
59
  cargo tauri build
60
  ```
61
 
62
- ### Step 3: Run (Administrator required for MFT scanning)
63
- ```bash
64
- cargo tauri dev
 
 
65
  ```
66
 
67
- The built executable will be in `fastsearch-tauri/src-tauri/target/release/`.
68
 
69
  ## Usage
70
 
71
- 1. Press `Win+Space` anywhere to open the search
72
- 2. Type to search files instantly
73
- 3. Use `↑` `↓` to navigate results
74
- 4. `Enter` opens the file/folder
75
- 5. `Ctrl+Enter` reveals in File Explorer
76
- 6. `ESC` closes the search
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
  ## Original Engine
79
 
80
- The core file search engine (in `fastsearch-core/`) was written by **anshdadhich** and uses:
81
  - Direct NTFS MFT reading for lightning-fast indexing
82
  - USN (Update Sequence Number) journal for live file system tracking
83
  - In-memory arena-based index with binary search lookups
 
1
  # FastSeek - macOS Spotlight-style File Search for Windows
2
 
3
+ A blazing-fast file search tool for Windows that indexes all files using the NTFS Master File Table (MFT) directly, wrapped in a beautiful macOS Spotlight-style UI powered by **Tauri v2**.
4
 
5
  ## Architecture
6
 
7
  ```
8
+ fastsearch-core/ (Rust library β€” your original engine, unchanged)
9
+ β”œβ”€β”€ src/index/search.rs (Fuzzy search with rayon parallelism)
10
+ β”œβ”€β”€ src/index/store.rs (In-memory arena index + LZ4 cache)
11
+ β”œβ”€β”€ src/mft/reader.rs (Direct NTFS MFT parsing)
12
+ β”œβ”€β”€ src/mft/watcher.rs (USN journal live updates)
13
+ └── src/utils/drives.rs (NTFS drive detection)
14
+
15
+ fastsearch-tauri/ (Tauri v2 desktop app)
16
+ β”œβ”€β”€ src-tauri/
17
+ β”‚ β”œβ”€β”€ src/main.rs (Backend: tray, global shortcuts, window mgmt)
18
+ β”‚ β”œβ”€β”€ capabilities/ (Tauri v2 permissions system)
19
+ β”‚ β”œβ”€β”€ tauri.conf.json (v2 config)
20
+ β”‚ └── Cargo.toml (v2 deps + plugins)
21
+ └── ui/
22
+ β”œβ”€β”€ index.html (Spotlight-style layout)
23
+ β”œβ”€β”€ styles.css (Frosted glass, dark theme, animations)
24
+ └── app.js (Instant search, keyboard nav)
25
  ```
26
 
27
+ ## Why Tauri v2?
28
 
29
+ - **Keep your Rust core intact** β€” MFT scanning, indexing, and search logic stays in Rust with zero changes
30
+ - **Native Windows integration** β€” System tray, global shortcuts (Win+Space), native window management
31
+ - **Beautiful UI** β€” HTML/CSS/JS frontend with macOS Spotlight aesthetics: blur effects, smooth animations
32
+ - **Small footprint** β€” ~5-10MB vs Electron's 100MB+
33
+ - **Capabilities-based security** β€” Tauri v2's permission model
34
 
35
  ## Why NOT C#?
36
 
37
  - Your core is already Rust with deep Windows kernel integration (NTFS MFT parsing, USN journal watching)
38
+ - Porting to C# would require rewriting all `unsafe` Win32 interop, MFT parsing, USN journal code
39
  - Rust β†’ C# FFI is complex and loses performance advantages
40
  - Tauri gives you a better UI with less effort while keeping your Rust engine
41
 
42
  ## Features
43
 
44
+ - ⚑ **Instant search** β€” Indexes millions of files in seconds via NTFS MFT
45
  - πŸ” **Fuzzy matching** with ranking (exact β†’ starts with β†’ contains)
46
  - πŸ“‚ **Live index updates** via USN journal watching
47
  - 🎨 **Spotlight-style UI** with blur backdrop, smooth animations
48
+ - ⌨️ **Global shortcuts**: `Win+Space` to open, `ESC` to close
49
  - πŸ–±οΈ **Navigation**: `↑` `↓` arrows, `Enter` to open, `Ctrl+Enter` to reveal in Explorer
50
+ - πŸ’Ύ **Smart caching** β€” Compressed LZ4 cache with delta catch-up on restart
51
  - 🚫 **Directory exclusions** via UI
52
+ - πŸ”” **System tray** β€” Menu with Show/Quit, left-click to toggle
53
 
54
+ ## Prerequisites
55
 
56
+ - **Rust** toolchain (stable, β‰₯ 1.77.2) β€” [rustup.rs](https://rustup.rs/)
57
+ - **Windows 10/11** (NTFS MFT scanning won't work on Linux/Mac)
58
+ - **Administrator** privileges (required for MFT direct access)
59
+ - **Microsoft Edge WebView2** (usually pre-installed on Win10/11)
60
 
61
+ ## Clone & Build
 
 
 
62
 
 
63
  ```bash
64
+ # 1. Clone
65
+ git clone https://huggingface.co/anshdadhich/finder
66
+ cd finder
67
+
68
+ # 2. Build & run in dev mode (admin PowerShell)
69
  cd fastsearch-tauri
70
+ cargo tauri dev
71
+
72
+ # 3. Build release installer
73
  cargo tauri build
74
  ```
75
 
76
+ Release artifacts:
77
+ ```
78
+ src-tauri/target/release/fastsearch-tauri.exe (standalone)
79
+ src-tauri/target/release/bundle/msi/*.msi (Windows installer)
80
+ src-tauri/target/release/bundle/nsis/*.exe (NSIS installer)
81
  ```
82
 
83
+ > **Important**: Run PowerShell **as Administrator** before `cargo tauri dev`. The MFT scanner requires elevated privileges.
84
 
85
  ## Usage
86
 
87
+ | Shortcut | Action |
88
+ |----------|--------|
89
+ | `Win + Space` | Open/close search overlay |
90
+ | `ESC` | Close search |
91
+ | `↑` / `↓` | Navigate results |
92
+ | `Enter` | Open file/folder |
93
+ | `Ctrl + Enter` | Reveal in File Explorer |
94
+
95
+ ## Troubleshooting
96
+
97
+ | Error | Fix |
98
+ |-------|-----|
99
+ | `"identifier" is a required property` | Your `cargo tauri` is v1. Upgrade: `cargo install tauri-cli --force` |
100
+ | `No NTFS drives found` | Run as Administrator |
101
+ | Icons missing during build | Create placeholder PNGs in `src-tauri/icons/` or comment the `icon` array in `tauri.conf.json` |
102
+
103
+ ## Tech Stack
104
+
105
+ | Layer | Technology |
106
+ |-------|-----------|
107
+ | Core engine | Rust (`windows` crate, MFT direct read, USN journals, LZ4, rayon) |
108
+ | Desktop framework | Tauri v2 |
109
+ | Global shortcuts | `tauri-plugin-global-shortcut` v2 |
110
+ | Shell/open | `tauri-plugin-shell` v2 |
111
+ | Frontend | Plain HTML/CSS/JS (no build step needed) |
112
+ | UI style | macOS Spotlight-inspired (frosted glass, dark theme) |
113
 
114
  ## Original Engine
115
 
116
+ The core file search engine (`fastsearch-core/`) was written by **anshdadhich** and uses:
117
  - Direct NTFS MFT reading for lightning-fast indexing
118
  - USN (Update Sequence Number) journal for live file system tracking
119
  - In-memory arena-based index with binary search lookups