Microsoft Safelinks Annihilator
Unleash the Real Links
Description
AntiSafeLinks is a liberating Python program that takes a stand against Microsoft's "security-driven" SafeLinks introduced in Office365 emails. This open-source tool empowers users to reclaim their original links by removing the suffocating "safelink" wrappers. If you are suffering Microsoft' actions and you want to 1) recover a particular url, 2) recover all the links from a email stored in a local file in your computer, or 3) you keep your mail box as a Maildir format locally, then you can use AntiSafeLinks to neutralize it.
Why AntiSafeLinks?
Microsoft perverts the structure of your emails and, in fact, makes them more insecure by obscuring URL in your emails. These actions typically break multiple URLs that can lie in your email, avoids you to check before entering a URL what is the address it will take you to and, furthermore, Microsoft collects all metadata from you when accessing the SafeLinks website.
This tool has been created with the purpose of recovering all these emails when you actually do not have any other alternative because your company's sysadmins decisions.
Features
- Link Liberation: AntiSafeLinks does one thing, and it does it well: it liberates your links from the "safelink" tyranny, restoring them to their true form.
- Ease of Use: Simply pass the program a modified URL, an email file, or a Maildir directory, and watch it go to work, effortlessly recovering all original links. You can put it as a cronjob and it will go through all your mail periodically.
- Preserves Privacy: No need to worry about your sensitive data being unnecessarily routed through Microsoft's servers. AntiSafeLinks ensures your privacy remains intact and only runs locally. Additionally, AntiSafeLinks does not require any external (Python) dependency to run.
Current Issues
- The current version fails to parse properly emails that contain mailing list digests containing mails within the mail. I am still working on how to parse these emails properly. Currently AntiSafeLinks breaks these emails.
How To Use
- Modified URL. Do you have a modified URL that you want to recover?
antisafelinks --url "URL-perverted-by-microsoft"
- Email file. If you have an email stored locally in your computer as a single file that may contain SafeLinks URLs.
antisafelinks --email <PATH-TO-EMAIL-FILE>
Note that if you want to create a copy of the email, instead of modifying it in-situ, you can add the --output <NEW-FILE> option.
- Maildir directory: If you keep your mail account as a Maildir directory locally in your computer, you can make AntiSafeLinks to run through the mailbox periodically (e.g. with a cronjob) calling it as:
antisafelinks --dir <PATH-TO-FOLDER-CONTAINING THE MAILDIR DIRECTORIES>
As an example, I personally synchronize (two-ways) my mail with OfflineIMAP and DavMail. Then I have a cronjob that runs AntiSafeLinks after retrieving new emails. Therefore, when it is synchronized again, all emails have been recovered to their original URL versions, and as such they show up in my Mailboxes.
Installation
Install it via Pip
pip install antisafelinks
or
python3 -m pip install antisafelinks
Install from Source Code
- Clone this repository to your preferred directory.
git clone https://github.com/bmarcote/antisafelinks.git - Navigate to the
antisafelinksdirectory. - Install the package with
python3 -m pip install .
Disclaimer
This tool is provided as-is and comes with no warranties or guarantees. Use it responsibly and at your own risk. We are not affiliated with Microsoft in any way, and this project is purely for personal joy.
Contributing
We welcome contributions from fellow link liberators! If you believe in the cause and want to make AntiSafeLink even better, feel free to submit a pull request or open an issue.
License
AntiSafeLink is released under the GPLv3 License, which is a permissive license allowing you to do whatever you damn well please with this code.
Support Me with a Coffee!
If you find this software useful and you plan to use it in your day-to-day life, I'd like to extend an invitation to show your appreciation by "paying me a coffee" donation. Every cup of coffee represents not just a token of gratitude but a gesture that helps me continue dedicating time and effort to enhance and maintain the software for all of you. Your support goes a long way in keeping this project alive and ensures that I can keep delivering top-notch features and improvements. So, if you find value in what I've crafted, consider contributing the cost of a coffee and be a vital part of our thriving community. Your generosity is greatly appreciated! ☕❤️
Metadata
Release files for antisafelinks 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| antisafelinks-1.1.1.tar.gz | 19.0 kB | Without provenance | Details for antisafelinks-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| antisafelinks-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for antisafelinks-1.1.1-py3-none-any.whl |
Total release size: 38.5 kB
Release files / antisafelinks-1.1.1.tar.gz
| Download URL | antisafelinks-1.1.1.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d6c9b92e42303b800c8866e7c1107d5c4a2cc0188cea4d0519fc2b96c60446b6
|
|
BLAKE2b-256 checksum How to use checksums |
59cdad0dd2b4dfd97eb620ad3f9b64001718cedd24a5a0b91491fa1060e39edd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / antisafelinks-1.1.1-py3-none-any.whl
| Download URL | antisafelinks-1.1.1-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1eb822e8751fcb3173c3ed02a6de604c8fd39b924afa29f85597b0e2da139ac
|
|
BLAKE2b-256 checksum How to use checksums |
0ca394b3a93e7cffc11e1db84c8a6752400cd4fa74fac9613dc78ed6bdc5e042
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Security for antisafelinks 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.