eidos
Private, intelligent search across every machine you own. Systems remain searchable when offline, including files buried inside VMs and archives.
What is it?
What it is
Eidos is a private, self-hosted file search system written in Rust (with a React/TypeScript web UI) that indexes files and folders across local machines, servers, VMs, archives, and network storage, exposing unified search through a web UI, CLI, and HTTP API. It is currently Windows-first, using native NTFS enumeration and USN journal monitoring, with read-only SMB crawling for network shares.
Why it exists
Ordinary file search forces users to remember where a file lives before they can look for it, and most tools stop at the edge of one machine, treat paths as identity, or lose track of offline sources. Eidos exists to let searches begin from what the user remembers about the file rather than its location, to preserve stable file identity across renames and moves, to keep knowledge of offline systems current rather than forgetting them, and to surface provenance, freshness, and coverage so that 'not found' is a verified answer rather than a silent failure.
Who should use it
Power users, system administrators, developers, and IT professionals needing cross‑machine, offline‑first file search.
Who should avoid it
Casual home users looking for a simple plug‑and‑play search tool or those unable to self‑host without a packaged release.
Stars over time
-12 stars in the last 2 days
How it works
A quick walkthrough in plain English
How eidos works
Step 1 of 3
You interact with it
Open eidos, send a request, or connect it to your stack.
Features
Advantages
- Search begins with what you remember, not where you think a file is stored
- Offline machines and unavailable sources are preserved with last known state
- Files maintain identity across renames and moves rather than appearing as new files
- Directories are searchable with their own properties and relationships
- Results arrive quickly with visible freshness and uncertainty indicators
- Zero-result pages report actual coverage rather than falsely claiming files do not exist
- Read-only operations ensure no data modification on source systems
- No required vendor cloud; all data remains in infrastructure you control
- Bounded resource usage prevents corrupt archives or large files from consuming unbounded memory
- Progressive results converge as live sources respond
- Script-friendly CLI with non-zero exit status for incomplete operations
- Complete documentation including architecture decisions and benchmarks
Disadvantages
- Windows-first implementation; macOS support requires manual build from source
- No packaged release yet; APIs, schemas, and query syntax may still change
- Actively developing with expected churn until first stable release
- Many advanced features (VHDX support, semantic retrieval, fleet architecture) are planned but not implemented
- AGPL-3.0 license requires offering source code if modified version runs as network service
- SMB support is read-only with no write-back capabilities
- Office document and PDF text extraction not yet implemented
- Linux and NAS agents not yet available
- Requires Visual Studio Build Tools, Windows SDK, and Node.js for source builds
- Reference corpus of 4+ million entries required for meaningful performance benchmarks
Installation
native
Download `eidos-<version>-setup.exe` from the releases page (https://github.com/josiah-nelson/eidos/releases) and run it. The setup installs eidos either for you alone (no administrator rights; it runs in the background while you are signed in) or for the whole computer as a Windows service. Choose where the program and its data should live and which port to use. The web interface opens when the installation finishes. For macOS: build `Eidos.app` from a clone and install the agent from it to enable Full Disk Access. For building from source: clone the repository, then run `cd web; npm ci; npm run build; cd ..` followed by `cargo build --release`. Register a source with `eidos.exe source add <name> <path>` and start the service with `eidos.exe serve --data-dir <data-dir>`. The web UI will be available at `http://127.0.0.1:7700`.
FAQ
How do I install Eidos on Windows?
Download the eidos-<version>-setup.exe from the releases page, run it, and choose whether to install for your user or as a system service. The installer sets up the background service, configures the data directory and port, and launches the web UI. See docs/installing.md for full details.
Can I search files on machines that are offline or powered off?
Yes. Eidos preserves the last known state of each source via the USN journal and offline storage, so you can query even when the machine is asleep, restarted, or powered off.
Does Eidos handle duplicate files and copies across different machines?
Eidos treats copies as the same content identity, grouping exact copies using content hashes. This lets you locate the newest copy while still seeing where other copies existed, reducing clutter and supporting queries such as “find newest copy”.
What file types and content can be searched, and how does Eidos handle large files?
Eidos indexes names, metadata, and extracts text from many text formats, streaming large files with bounded memory and skipping binaries. It detects common encodings, records whether indexing was complete, and supports queries on file content, size, type, and time.
Is Eidos a replacement for backup software, and what is its licensing?
No, Eidos does not replace backup tools; it provides an independent view of observed files. It is licensed under AGPL‑3.0, so running it as a network service requires you to make its source available to users.
Featured in Videos
YouTube tutorials and walkthroughs for eidos
Alternatives
Similar projects ranked by category, topics, and text overlap.