anshdadhich commited on
Commit
fdec9f4
Β·
verified Β·
1 Parent(s): ec9b132

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -1
README.md CHANGED
@@ -1,3 +1,85 @@
 
1
 
2
- # anshdadhich/finder
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
84
+ - LZ4-compressed persistent cache
85
+ - Rayon's parallel iterators for search