nixy logo

# Eleakxir β€” Self-hosted search engine for leaked data. [Eleakxir](https://eleakxir.hadi.diy) is a **self-hosted search engine** that lets you connect to your own **private and secure server**, **explore data wells** (parquet files) from multiple sources, and visualize results in a clean, modern web interface. > ✨ 100% open-source β€” you control your data, you control your server. ## πŸš€ Features - πŸ” **Private by design** β€” connect to your own Eleakxir server with a custom URL + password. - 🎨 **Beautiful UI** β€” built with Svelte, TailwindCSS, and DaisyUI. - πŸ›  **Open source & extensible** β€” hack it, self-host it, extend it. - **πŸ“ Efficient File Format**: Uses the columnar **Parquet** format for high compression and rapid query performance. - **πŸ€– Automatic Discovery**: Automatically detects new `.parquet` files in your folders and updates its metadata cache on a configurable schedule. - **πŸ“œ Standardized Schema**: Includes a detailed guide on how to normalize your data leaks for consistent and effective searching across different breaches. (See [here](./leak-utils/DATALEAKS-NORMALIZATION.md)) - **🧰 Data Utility Toolkit**: Includes a dedicated command-line tool [leak-utils](./leak-utils/README.md) for managing, cleaning, and converting data files to the standardized Parquet format. - **πŸ” OSINT Tools**: Integration of various OSINT tools: - [github-recon](https://github.com/anotherhadi/github-recon) - [gravatar-recon](https://github.com/anotherhadi/gravatar-recon) (To-do) - sherlock (To-do) - holehe (To-do) - ghunt (To-do) ## βš™οΈ How it works 1. You run an **Elixir server** that manages parquet files from various leaked data sources and multiple OSINT tools. 2. Eleakxir (the web client) connects to your server via HTTPS and authenticated headers. 3. You can: - Search across indexed leaks and OSINT tools - Browse results interactively - Review history and stats ## 🚨 Disclaimer Eleakxir is provided **for educational and research purposes only**. You are solely responsible for how you use this software. Accessing, storing, or distributing leaked data may be illegal in your jurisdiction. The authors and contributors **do not condone or promote illegal activity**. Use responsibly and only with data you are legally permitted to process. ## πŸ§‘β€πŸ’» Tech stack - **Frontend**: [Svelte](https://svelte.dev/), [sv-router](https://github.com/colinlienard/sv-router), [TailwindCSS](https://tailwindcss.com/), [DaisyUI](https://daisyui.com/) - **Backend**: [Golang](https://go.dev), [Gin](https://gin-gonic.com), [duckdb](https://duckdb.org) ## πŸ“¦ Getting started ### Install with NixOS 1. In the `flake.nix` file, add `eleakxir` in the `inputs` section and import the `eleakxir.nixosModules.default` module: ```nix { inputs = { eleakxir.url = "github:anotherhadi/eleakxir"; }; outputs = { # ... modules = [ inputs.eleakxir.nixosModules.eleakxir ]; # ... } } ``` 2. Enable the backend service: ```nix services.eleakxir = { enable = true; # port = 9198; folders = ["/var/lib/eleakxir/leaks/"] # Folders with parquet files }; ``` ## πŸ”‘ Configuration ### Backend Check the [back.nix](./nix/back.nix) file to see configuration options. ### Client Before searching, configure your server in the client: 1. Open [https://eleakxir.hadi.diy](https://eleakxir.hadi.diy) in your browser and add your server. 2. Click **β€œConnect your server”** in the UI. 3. Enter your **server URL** and **password**. 4. Start searching πŸš€ ## 🀝 Contributing [Contributions are welcome](./CONTRIBUTING.md)! Feel free to open issues or submit PRs.