<div align="center">
# Project Absence
[](https://discord.gg/xj6y5ZaTMr)
[](https://crates.io/crates/project-absence)
[](https://hub.docker.com/r/kkrypt0nn/project-absence)
[](https://github.com/kkrypt0nn/project-absence/actions)
[](https://deps.rs/repo/github/kkrypt0nn/project-absence)
[](https://github.com/kkrypt0nn/project-absence/commits/main)
[](https://conventionalcommits.org/en/v1.0.0/)
</div>
---
> [!CAUTION]
> This is a WIP tool that is **very unstable** and **not fully optimised**, use at your own care! This README will also be reworked.
### 👁️ Uncover the unseen
Project Absence is an OSINT (Open Source Intelligence) tool designed to assist cybersecurity professionals, engineers, and system administrators in identifying publicly available information related to their digital infrastructure.
To maintain an OSINT-only approach, the tool contacts each discovered domain or server only once, to extract information based on the returned content - valuable data that can help and lead to further discoveries.
More features are in development.
## Getting Started
### Rust Features
Project Absence has the following [Rust features](https://doc.rust-lang.org/cargo/reference/features.html) available:
* `clipboard`: Will let you use the `--clipboard/-C` command line argument, only necessary if you want to copy the result to your clipboard (the result is saved in a file at `~/.absence/result.{json,md}` either way)
### Installation
To install Project Absence, you can use one of the following methods:
#### Cargo
You need to have [Rust](https://rustup.rs) installed. You can then install using:
```bash
cargo install project-absence
```
#### Docker
You can run the tool from the published [Docker image](https://hub.docker.com/r/kkrypt0nn/project-absence) using:
```bash
docker run -v ~/.absence:/root/.absence -it kkrypt0nn/project-absence
```
#### Build from source
You need to have [Rust](https://rustup.rs) installed. After cloning this repository you can build it using:
```bash
cargo build --release
```
> [!NOTE]
> On **Linux** systems, you have to install the following packages if you want to use the `--clipboard/-C` CLI argument:
>
> - `libxcb1-dev`
> - `libxcb-render0-dev`
> - `libxcb-shape0-dev`
> - `libxcb-xfixes0-dev`
>
> They are required for the [`arboard`](https://crates.io/crates/arboard) crate to work properly. The usage of the crate has been put behind a feature in the future so that you are not forced to install these packages.
### Example Usage
Using the tool is straightforward. You may look at the [documentation](https://absence.krypton.ninja/docs/) website for the config and CLI arguments that you can pass.
After editing the config as you wish, running the tool with no specific CLI arguments is as simple as doing
```bash
project-absence -d <your-domain>
```
## Documentation
Full documentation is available [here](https://absence.krypton.ninja/docs/). It includes detailed explanations of arguments and configurations.
## Troubleshooting
If you encounter issues while using Project Absence, consider the following:
- Ensure you are running the latest version
- Report issues: Use the [GitHub issue tracker](https://github.com/kkrypt0nn/project-absence/issues)
## Disclaimer
Use responsibly and lawfully. Project Absence is a tool designed to assist cybersecurity professionals, engineers, and system administrators in identifying publicly available information related to their digital infrastructure. Do not use it against systems you do not own or explicitly have permission to test.
By using this tool, you agree to comply with all applicable laws and abide by the [Terms of Use](./TERMS_OF_USE.md).
## Contributing
> [!NOTE]
> Contributions are more than welcome after the `v1.0.0` release which can be tracked [here](https://github.com/kkrypt0nn/project-absence/milestone/1).
People may contribute by following the [Contributing Guidelines](https://github.com/kkrypt0nn/project-absence/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/kkrypt0nn/project-absence/blob/main/CODE_OF_CONDUCT.md)
## License
This project was made with 💜 by [Krypton](https://github.com/kkrypt0nn) and is under the [MIT License](https://github.com/kkrypt0nn/project-absence/blob/main/LICENSE.md).