Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
Find a file
2020-10-26 14:52:45 -07:00
.circleci Remove ubuntu 19.04 from circleci, and update gem to use newer flags for ubuntu 20.04 and debian bullseye 2020-09-25 14:23:34 -07:00
assets Add dangerzone document icon 2020-01-13 14:10:02 -08:00
dangerzone Start switching from PyQt5 to PySide2 2020-10-26 14:52:45 -07:00
dev_scripts This creates a separate script dangerzone-container which is a wrapper for running the container. This lets us run dangerzone as unprivileged, but dangerzone-container as privileged, to avoid adding the user to the dangerzone group. 2020-03-13 16:49:53 -07:00
install Add python3-termcolor dependency 2020-10-14 09:45:20 -07:00
share Change absolute path of systemctl to /bin/systemctl, so it will work in ubuntu 18.04 2020-04-09 13:58:44 -07:00
test_docs Allow opening docm files 2020-03-03 19:23:46 +05:30
.gitignore Commit the pyinstaller.spec, including CFBundleDocumentTypes array to open all document formats 2020-01-13 14:16:21 -08:00
BUILD.md Start switching from PyQt5 to PySide2 2020-10-26 14:52:45 -07:00
CHANGELOG.md Version bump to 0.1.3 and update changelog 2020-09-25 13:43:22 -07:00
LICENSE Initial commit 2020-01-06 12:42:38 -08:00
poetry.lock Suppress stderr from GUI output and display it in the terminal in dark; add a dangerzone poetry entrypoint; and update dependencies 2020-10-14 09:41:23 -07:00
pyproject.toml Suppress stderr from GUI output and display it in the terminal in dark; add a dangerzone poetry entrypoint; and update dependencies 2020-10-14 09:41:23 -07:00
README.md Version bump to 0.1.3 and update changelog 2020-09-25 13:43:22 -07:00
RELEASE.md Update readme and release docs 2020-05-05 14:54:27 -07:00
setup.py This creates a separate script dangerzone-container which is a wrapper for running the container. This lets us run dangerzone as unprivileged, but dangerzone-container as privileged, to avoid adding the user to the dangerzone group. 2020-03-13 16:49:53 -07:00
stdeb.cfg Add python3-termcolor dependency 2020-10-14 09:45:20 -07:00

dangerzone

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

Screenshot

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 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 cask install 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)
  • TIFF (.tif, .tiff)

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.

The git repository for the container is called dangerzone-converter.