• Stars
    star
    255
  • Rank 159,729 (Top 4 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 2 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool to help you find unsubscribe links in your emails

unsubscan

A tool to help you find unsubscribe links in your emails

About

I created unsubscan because I think that anyone should be able to quickly and easily look at their emails and:

  • Unsubscribe from whatever they want
  • Unsubscribe whenever they want
  • Unsubscribe for free
  • Unsubscribe without yet another subscription service
  • Unsubscribe without having to give another company access to their emails
  • Unsubscribe without having to forward emails to other companies

Installation

Pre-compiled binaries of the latest release will be made available on the Releases page of this repository.

If you are using Windows, it is strongly recommended to install using the Scoop package manager to avoid issues with Windows Defender mistakenly blocking the zip file that is made available for download on the Releases page.

scoop bucket add extras
scoop install unsubscan

Alternatively, you may also compile this project from source if you have a working Rust development environment:

git clone https://github.com/LGUG2Z/unsubscan.git
cd unsubscan
cargo install --path .

Preparing your emails

Option 1: Get an archive of your emails from your provider as .eml files

Export your emails as an archive of .eml files from your provider. Instructions on how to do this with different email providers are below:

Once downloaded, extract the archive of emails to a new folder.

Option 2: Save your emails as .eml files using Thunderbird

If you host your email with a provider that does not provide exported archives of your emails as .eml files (e.g. Gmail), you can use Thunderbird (or any desktop email client that allows you to save your emails as .eml files) to do this yourself.

Select the desired subset of emails that you wish to scan (or all of them, if you'd like), and then select File -> Save As -> File from the menu bar to save them to a new folder.

How it works

If you are running on a system that allows you to drag a folder directly onto an application to use that folder as an input (e.g. dragging and dropping a folder from Explorer onto an exe file on Windows), then all you have to drag is drag your folder of emails on top of the unsubscan executable.

If you are more comfortable on the command line, you can also call the binary with the path to your extracted folder of .eml files as the sole argument.

unsubscan 0.1.0
A tool to help you find unsubscribe links in your emails

USAGE:
    unsubscan [OPTIONS] <DIRECTORY>

ARGS:
    <DIRECTORY>    Directory of EML files to scan for unsubscribe links

OPTIONS:
        --debug              Enable debug logging
    -h, --help               Print help information
    -o, --output <OUTPUT>    The format in which to output scanned unsubscribe links [default: html]
                             [possible values: html, json]
    -V, --version            Print version information

The folder will be scanned for unsubscribe links and when the scanning is complete, an HTML page will open in your default browser with a complete list of all the links found and further instructions and explanations.

If you are running unsubscan from the command line, you may also optionally receive the output in JSON format.

Contributing

Please feel free to open a PR with links explaining how to export emails as .eml files with other email providers.

Please also feel free to make the binary releases available for installation via package managers on other operating systems.

I am not interested in adding MBOX support myself, but I will be happy to review and eventually accept a PR that adds this functionality.

More Repositories

1

komorebi

A tiling window manager for Windows 🍉
Rust
9,253
star
2

helix-vim

A Vim-like configuration for Helix
933
star
3

whkd

A simple hotkey daemon for Windows
Rust
444
star
4

nixos-wsl-starter

A sane, batteries-included starter template for running NixOS on WSL
Nix
204
star
5

yatta

A tiling window manager for Windows 10 based on binary space partitioning
Rust
147
star
6

komokana

Automatic application-aware keyboard layer switching for Windows
Rust
106
star
7

komorebi-application-specific-configuration

A central place to document all tweaks required for Komorebi to 'just work' with as many applications as possible
58
star
8

satounki

Temporary elevated access management as a self-hosted service
Rust
37
star
9

nixos-hetzner-cloud-starter

A sane, batteries-included starter template for running NixOS on Hetzner Cloud
Nix
28
star
10

elasdx

An ElasticSearch index template updating, reindexing and cleanup tool
Go
22
star
11

JeezyVim

A fast, reliable NeoVim configuration as a Nix Flake for people who want to use NeoVim as an editor and not as an IDE
Nix
20
star
12

microfest

Manifest management for single page applications driven by micro frontend apps
Go
15
star
13

story

Workflow tool for implementing stories across multiple inter-dependent node projects in a meta-repo
Go
15
star
14

nixos-hetzner-robot-starter

A sane, batteries-included starter template for running NixOS on Hetzner Robot
Nix
13
star
15

nixos-multi-machine-starter

A sane, batteries-included starter template for running NixOS on Multiple Machines
Nix
12
star
16

sbmt

Seedbox Mount Tool
Go
10
star
17

Nazm

Declarative configuration management for Windows
Rust
10
star
18

komorebi-custom-layout-generator

An interactive tool to generate komorebi custom layouts in JSON
Svelte
9
star
19

bfm

Brewfile Manager
Go
7
star
20

sgrab

Grab an episode file from a seedbox running Sonarr
Go
5
star
21

nix-home-manager-corp-starter

A sane, batteries-included starter template for using Nix to create reproducible cloud development machines in corporate environments
Nix
5
star
22

xeetshot

longer xeets without premium or threads
HTML
4
star
23

diesel-autoincrement-new-struct

Generate NewStructs for all your tables with autoincrementing IDs
Rust
3
star
24

notado-cli

A CLI for interacting with https://notado.app
Rust
3
star
25

tdee

Calculate your total daily energy expenditure
Go
2
star
26

call-me

A ci-agnostic orchestrator for triggering tests on a shared environment pool across multiple pipelines
Go
1
star
27

triforce

Assemble and link node dependencies across meta and monorepo projects
Go
1
star
28

tashkil

A lightweight Rust library for removing Arabic diacritics
Rust
1
star
29

gainit

Calculate an estimate of daily calorie consumption to meet a weekly weight gain goal
Go
1
star
30

komorebi-bucket

1
star
31

loseit

Calculate an estimate of daily calorie consumption to meet a weekly weight loss goal
Go
1
star
32

komorebic-bucket

1
star
33

nix-crane-matrix-repro

Nix
1
star
34

skaffold-beam

A blast radius-aware Skaffold manifest generator for node meta-repos
Go
1
star
35

LGUG2Z

1
star
36

blastradius

See the potential impact of changes in one project across a meta-repo
Go
1
star
37

win32-display-data

Rust
1
star