dangerzone/dangerzone
deeplow baeab9d7eb
Add Qubes isolation provider
Add an isolation provider for Qubes, that performs the document
conversion as follows:

Document to pixels phase
------------------------

1. Starts a disposable qube by calling either the dz.Convert or the
   dz.ConvertDev RPC call, depending on the execution context.
2. Sends the file to disposable qube through its stdin.
   * If we call the conversion from the development environment, also
     pass the conversion module as a Python zipfile, before the
     suspicious document.
3. Reads the number of pages, their dimensions, and the page data.

Pixels to PDF phase
-------------------

1. Writes the page data under /tmp/dangerzone, so that the
   `pixels_to_pdf` module can read them.
2. Pass OCR parameters as envvars.
3. Call the `pixels_to_pdf` main function, as if it was running within a
   container. Wait until the PDF gets created.
4. Move the resulting PDF to the proper directory.

Fixes #414
2023-06-21 11:46:34 +03:00
..
conversion Add Qubes-specific code for disposable VMs 2023-06-21 11:45:04 +03:00
gui fix gui typo 2023-05-08 12:53:09 +01:00
isolation_provider Add Qubes isolation provider 2023-06-21 11:46:34 +03:00
__init__.py Remove separate dangerzone-container entry point, make CLI work with it, and refactor container code to be more DRY 2021-08-04 16:21:00 -07:00
args.py Update typing hints for Mypy 1.1.1 2023-03-27 15:19:43 +03:00
cli.py Allow users to disable timeouts 2023-02-15 23:48:36 +02:00
document.py Update typing hints for Mypy 1.1.1 2023-03-27 15:19:43 +03:00
errors.py Prevent adding duplicate documents 2022-11-30 12:49:18 +00:00
logic.py Sort OCR languages when loading them from json 2023-03-16 14:23:31 +00:00
settings.py Implement 'move to subdir' logic & store in settings 2022-11-24 11:16:30 +00:00
util.py Separate config dirs from temp dirs 2023-02-17 01:06:44 +02:00