![]() The files in `container/` no longer make sense to have that name since the "document to pixels" part will run in Qubes OS in its own virtual machine. To adapt to this, this PR does the following: - Moves all the files in `container` to `dangerzone/conversion` - Splits the old `container/dangerzone.py` into its two components `dangerzone/conversion/{doc_to_pixels,pixels_to_pdf}.py` with a `common.py` file for shared functions - Moves the Dockerfile to the project root and adapts it to the new container code location - Updates the CircleCI config to properly cache Docker images. - Updates our install scripts to properly build Docker images. - Adds the new conversion module to the container image, so that it can be imported as a package. - Adapts the container isolation provider to use the new way of calling the code. NOTE: We have made zero changes to the conversion code in this commit, except for necessary imports in order to factor out some common parts. Any changes necessary for Qubes integration follow in the subsequent commits. |
||
---|---|---|
.circleci | ||
.github/workflows | ||
assets | ||
dangerzone | ||
dev_scripts | ||
install | ||
share | ||
tests | ||
.gitignore | ||
.grype.yaml | ||
BUILD.md | ||
CHANGELOG.md | ||
Dockerfile | ||
INSTALL.md | ||
LICENSE | ||
Makefile | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
RELEASE.md | ||
setup-windows.py | ||
setup.py | ||
stdeb.cfg |
Dangerzone
Take potentially dangerous PDFs, office documents, or images and convert them to a safe PDF.
![]() |
![]() |
---|
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 official site.
Getting started
- Download Dangerzone 0.4.1 for Mac (Apple Silicon CPU)
- Download Dangerzone 0.4.1 for Mac (Intel CPU)
- Download Dangerzone 0.4.1 for Windows
- See installing Dangerzone for Linux repositories
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.