Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
Find a file
deeplow 4d9f729654
fix win build failure due to package autodiscovery
Setuptools was trying to autodiscover packages with an error
described in #178 [1]. Adding the packages arg to setup() solves
it. In the future we may want to centralize the package list in
a pyproject.toml, once it goes out of beta in setuptools [2].

Fixes #178

[1]: https://github.com/freedomofpress/dangerzone/issues/178
[2]: https://setuptools.pypa.io/en/latest/userguide/package_discovery.html?highlight=package%20discovery#package-discovery-and-namespace-packages
2022-08-16 14:29:11 +01:00
.circleci remove EOL ubuntu versions 2022-08-04 19:23:41 +01:00
assets Resize screenshots 2021-11-24 16:04:06 -08:00
container Get rid of wrapper scripts in the container 2021-11-29 15:39:24 -08:00
dangerzone Properly cleanup after conversion 2021-12-14 12:29:55 -08:00
dev_scripts Start porting VM to Windows 2021-08-09 12:04:17 -07:00
install Fix version path 2021-12-13 15:32:35 -08:00
share Version bump to 0.3.1 and update changelog 2021-12-14 10:27:41 -08:00
test_docs Remove support for tiff because graphicsmagick is failing to convert it 2021-11-29 17:14:01 -08:00
.gitignore Rename dangerzone-converter to container 2021-11-29 15:30:21 -08:00
BUILD.md Switch Windows package from pyinstaller to cx_freeze 2021-12-13 15:23:45 -08:00
CHANGELOG.md Version bump to 0.3.1 and update changelog 2021-12-14 10:27:41 -08:00
LICENSE Remove useless files from dangerzone-converter, and move files out of separate scripts directory 2021-11-24 12:47:39 -08:00
poetry.lock Switch Windows package from pyinstaller to cx_freeze 2021-12-13 15:23:45 -08:00
pyproject.toml Version bump to 0.3.1 and update changelog 2021-12-14 10:27:41 -08:00
README.md delete repetition of word "of" 2022-06-26 01:59:54 -04:00
RELEASE.md Typo in release docs, and add to changelog 2021-11-30 15:04:15 -08:00
setup-windows.py fix win build failure due to package autodiscovery 2022-08-16 14:29:11 +01:00
setup.py Switch Windows package from pyinstaller to cx_freeze 2021-12-13 15:23:45 -08:00
stdeb.cfg Remove docker dependency in Linux and replace with podman 2021-06-17 14:12:44 -07:00

Dangerzone

Take potentially dangerous PDFs, office documents, or images and convert them to a safe PDF.

Settings Converting

Dangerzone works like this: You give it a document that you don't know if you can trust (for example, an email attachment). Inside of a sandbox, Dangerzone converts the document to a PDF (if it isn't already one), and then converts the PDF into raw pixel data: a huge list of RGB color values for each page. Then, in a separate sandbox, Dangerzone takes this pixel data and converts it back into a PDF.

Read more about Dangerzone in the blog post Dangerzone: Working With Suspicious Documents Without Getting Hacked.

Getting started

You can also install Dangerzone for Mac using Homebrew: brew install --cask dangerzone

Some features

  • Sandboxes don't have network access, so if a malicious document can compromise one, it can't phone home
  • Dangerzone can optionally OCR the safe PDFs it creates, so it will have a text layer again
  • Dangerzone compresses the safe PDF to reduce file size
  • After converting, Dangerzone lets you open the safe PDF in the PDF viewer of your choice, which allows you to open PDFs and office docs in Dangerzone by default so you never accidentally open a dangerous document

Dangerzone can convert these types of document into safe PDFs:

  • PDF (.pdf)
  • Microsoft Word (.docx, .doc)
  • Microsoft Excel (.xlsx, .xls)
  • Microsoft PowerPoint (.pptx, .ppt)
  • ODF Text (.odt)
  • ODF Spreadsheet (.ods)
  • ODF Presentation (.odp)
  • ODF Graphics (.odg)
  • Jpeg (.jpg, .jpeg)
  • GIF (.gif)
  • PNG (.png)

Dangerzone was inspired by Qubes trusted PDF, but it works in non-Qubes operating systems. It uses containers as sandboxes instead of virtual machines (using Docker for macOS, Windows, and Debian/Ubuntu, and podman for Fedora).

Set up a development environment by following these instructions.