https://github.com/critocrito/eml-parser
Extract data from a corpus of emails.
https://github.com/critocrito/eml-parser
email eml investigation journalism scraper
Last synced: 7 months ago
JSON representation
Extract data from a corpus of emails.
- Host: GitHub
- URL: https://github.com/critocrito/eml-parser
- Owner: critocrito
- License: gpl-3.0
- Created: 2023-10-06T10:08:07.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-15T12:09:46.000Z (almost 2 years ago)
- Last Synced: 2025-01-18T05:12:57.797Z (9 months ago)
- Topics: email, eml, investigation, journalism, scraper
- Language: Rust
- Homepage:
- Size: 30.3 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL-3.0 License][license-shield]][license-url]
Table of Contents
## About The Project
This code was developed to support investigations that took place at [Der SPIEGEL](https://www.spiegel.de) and [Paper Trail Media](https://www.papertrailmedia.de).
## Getting Started
### Prerequisites
This project requires the [Rust](https://www.rust-lang.org) toolchain. The easiest way to install it is to use [Rustup](https://rustup.rs).
*
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```### Installation
1. Clone the repo
```sh
git clone https://github.com/critocrito/eml-parser.git
```
2. Compile the code.
```sh
cargo build --release
```
3. Run the program.
```sh
./target/release/eml-parser --help
```## Usage
This program reads all `.eml` files in a directory and sub-directories and extract or transforma data in it.
### List addresses and names
This command lists all email addresses and names in a corpus and count the occurences of this email/name appearing in the `From`, `To`, `Cc` or `Bcc` email header.
``` sh
eml-parser list -o people.csv mail-directory
```### Turn a corpus to a network graph
The CSV file of the network graph can be used at [Cosmograph](https://cosmograph.app/run/) for visualization or further analyzed with tools like [graphctl](https://github.com/critocrito/graphctl).
``` sh
eml-parser network -o graph.csv mail-directory
```### Extract all attachments
``` sh
eml-parser attachment -o attachments mail-directory
```## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the GPL-3.0 License. See `LICENSE.txt` for more information.
## Contact
Christo Buschek - [@christo_buschek](https://twitter.com/christo_buschek) - christo.buschek@proton.me
Project Link: [https://github.com/critocrito/eml-parser](https://github.com/critocrito/eml-parser)
[contributors-shield]: https://img.shields.io/github/contributors/critocrito/eml-parser.svg?style=for-the-badge
[contributors-url]: https://github.com/critocrito/eml-parser/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/critocrito/eml-parser.svg?style=for-the-badge
[forks-url]: https://github.com/critocrito/eml-parser/network/members
[stars-shield]: https://img.shields.io/github/stars/critocrito/eml-parser.svg?style=for-the-badge
[stars-url]: https://github.com/critocrito/eml-parser/stargazers
[issues-shield]: https://img.shields.io/github/issues/critocrito/eml-parser.svg?style=for-the-badge
[issues-url]: https://github.com/critocrito/eml-parser/issues
[license-shield]: https://img.shields.io/github/license/critocrito/eml-parser.svg?style=for-the-badge
[license-url]: https://github.com/critocrito/eml-parser/blob/master/LICENSE.txt
[product-screenshot]: images/screenshot.png