Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have reasonable feature parity with Tails regarding supported file types #2157

Open
legoktm opened this issue Aug 7, 2024 · 1 comment
Open
Assignees
Milestone

Comments

@legoktm
Copy link
Member

legoktm commented Aug 7, 2024

Description

As part of the shift from Tails-based SVS to SDW, we should dump a list of all the supported file types in Tails and then install the same/similar viewing applications in the sd-viewer template.

@legoktm legoktm added this to the 0.15.0 milestone Aug 7, 2024
@deeplow deeplow self-assigned this Nov 26, 2024
@deeplow
Copy link
Contributor

deeplow commented Nov 26, 2024

I took a look at the pre-installed software on Tails, according to various information sources:

File Viewers

File Types Tails sd-viewer comment
Office LibreOffice ✔️
Audio Audacity Audacious (equivalent) from mime types I can't make the difference regarding file type support
Video Totem + plugins ✔️ (missing plugins) we may want to consider
Video codecs gstreamer* We may want to consider
Images EOG ✔️
PDFs Evince ✔️
Compressed File Roller / Nautilus / p7zip / unar File Roller / Nautilus only Unclear if this translates into reduced compressed file support
password database KeePassXC likely niche and unnecessary
videos ffmpeg not sure if this translate into increased number of codecs available in the video players
.eml, etc. Thunderbird sd-viewer should include it
PGP encrypted Kleopatra sd-viewer is missing, but this is probably not critical except if we want to support #220
html, etc. In tails html files cannot be opened because Tor Browser does not have access to the local file system
Plaintext gnome-text-editor ✔️ (gedit) basically the same

Fonts

Fonts also count towards file viewing experience. Here are the default ones in tails (from the code). Otherwise people open files and all they get is tofu.

## Hebrew support
culmus
libfribidi0
## Noto fonts
fonts-noto-core
fonts-noto-cjk
fonts-noto-mono
fonts-noto-ui-core
fonts-noto-unhinted

Additionally, LibreOffice languages (some) and + Thunderbird ones are available

MIME type inspections

I took a look at the tails MIME and compared it to the sd-large-bookworm-template + sd-viewer.mimeapps. This should show a clearer picture of which programs we're missing for opening certain file types. I stripped out the programs chosen to open each file type and compared the sd-large with the tails one:

diff sd-large-mime.cache tails-mime.cache
8d7
< application/mathml+xml
13d11
< application/octet-stream
16a15
> application/pgp-keys
31d29
< application/qubes-untrusted-file
33,34d30
< application/rdf+xml
< application/rss+xml
39a36,37
> application/visio
> application/visio.drawing
45a44
> application/vnd.kde.kleopatra.keygroup
48d46
< application/vnd.mozilla.xul+xml
68,70d65
< application/vnd.oasis.opendocument.database
< application/vnd.oasis.opendocument.formula
< application/vnd.oasis.opendocument.formula-template
100d94
< application/vnd.sun.xml.base
107d100
< application/vnd.sun.xml.math
112a106
> application/vsd
124a119,121
> application/x-audacity-project
> application/x-audacity-project+sqlite3
> application/x-brasero
139a137
> application/x-cdrdao-toc
173d170
< application/xhtml+xml
178a176
> application/x-keepass2
191d188
< application/xml
198d194
< application/x-ogg
214d209
< application/x-sd-export
220d214
< application/xspf+xml
229a224,225
> application/x-tcrypt-container
> application/x-toc
230a227,228
> application/x-visio
> application/x-vsd
233d230
< application/x-wwf
236a234,238
> application/x-xccx
> application/x-xcdt
> application/x-xcgm
> application/x-xcmx
> application/x-xsk1
240d241
< application/x-zerosize
247a249
> audio/ac3
249,250d250
< audio/midi
< audio/mp3
253,256d252
< audio/mpegurl
< audio/ogg
< audio/prs.sid
< audio/wav
258,261c254
< audio/x-it
< audio/x-mod
< audio/x-mp3
< audio/x-mpeg
---
> audio/x-mp3-playlist
265d257
< audio/x-musepack
267d258
< audio/x-s3m
269d259
< audio/x-stm
271,273c261
< audio/x-wav
< audio/x-wavpack
< audio/x-xm
---
> image/avif
274a263,264
> image/cgm
> image/g3fax
275a266,2687z
> image/heic
> image/heif
> image/jp2
277a271
> image/jxl
288a283
> image/x-compressed-xcf
290a286,287
> image/x-exr
> image/x-fits
291a289,291
> image/x-gimp-gbr
> image/x-gimp-gih
> image/x-gimp-pat
296a297
> image/x-icon
303a305,311
> image/x-psd
> image/x-psp
> image/x-sgi
> image/x-sun-raster
> image/x-tga
> image/x-vsd
> image/x-webp
305a314,316
> image/x-xcdr
> image/x-xcf
> image/x-xcursor
306a318
> image/x-xwindowdump
307a320
> message/rfc822
308a322
> text/calendar
313,314d326
< text/html
< text/mathml
318a331
> text/vcard
330d342
< text/xml
334a347
> text/x-vcard
380a394
> x-content/image-picturecd
383c397,399
< x-scheme-handler/about
---
> x-content/video-svcd
> x-content/video-vcd
> x-scheme-handler/bitcoin
386,387d401
< x-scheme-handler/http
< x-scheme-handler/https
390a405,406
> x-scheme-handler/lightning
> x-scheme-handler/mailto
391a408
> x-scheme-handler/mid
399a417
> x-scheme-handler/news
400a419
> x-scheme-handler/rlogin
404c423,424
< x-scheme-handler/unknown
---
> x-scheme-handler/ssh
> x-scheme-handler/telnet
409a430,431
> x-scheme-handler/webcal
> x-scheme-handler/webcals

NOTE: mimeinfo cache on sd-viewer included some mimetypes with qvm-open-in-dvm.desktop as the only viewer application. So in addition to the above diff, I'll include in the analysis these file types, since there is technically no viewer and this is just probably some misconfiguration.

NOTE: (2) You may notice that despite the extra archiver programs that Tails ships with, there aren't well known additional archive mime types that Tails supports as mimetypes. This could be because those are mainly CLI programs or simply because they are redundant.

What Tails has, which sd-viewer is missing:

  • Missing some filetypes for images as a result of not having GIMP (e.g. .psd, .avif, .xcf, .webp)
  • Missing some filetypes for vector graphics as a result of not having Inkscape (e.g. .vsd)
  • Missing text/calendar, vcard (would be solved with thunderbird, which Tails has)
  • Missing some CD-related formats x-content/video-svcd, x-content/video-vcd (probably of low relevance)
  • Missing handler for PGP keys application/pgp-keys and cleopatra keychains. However the former is likely the only useful one, and I'm guessing these open as plaintext in sd-viewer

Recommendations

  • Adding some extra viewers: According to Mimetype inspection, we may be missing Thunderbird, GIMP and Inkscape.
  • Exploring video codecs situation: I believe video codecs in particular may not be very well captured by mimetypes alone, so we could explore adding some more video plugins.
  • Add extra fonts: we may want to add some fonts for better document rendering capabilities

As an extra point, it may be worth mentioning that we could make it clear to journalists that we're looking for feedback about files which were not "openable" in the workstation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants