mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
add mat2-ochyshchennia-meta-danykh-dlia-riznykh-formativ.md
This commit is contained in:
parent
67228346a5
commit
4789e24a1d
1 changed files with 148 additions and 0 deletions
148
post/mat2-ochyshchennia-meta-danykh-dlia-riznykh-formativ.md
Normal file
148
post/mat2-ochyshchennia-meta-danykh-dlia-riznykh-formativ.md
Normal file
|
|
@ -0,0 +1,148 @@
|
||||||
|
# mat2: очищення мета-даних для різних форматів
|
||||||
|
|
||||||
|
В мене давно назбиралась колекція дампів різних сторінок, які я зберігаю в PDF для бекапів, локального перегляду (оскільки такий формат складається з одного файлу) а також планую поділитися ними з іншими, опублікувавши десь на хмарі FTP ([1](https://devzone.org.ua/post/orhanizatsiia-hostyovoho-servera-ftp), [2](https://devzone.org.ua/post/orhanizatsiia-bahatokorystuvatskoho-servera-ftp-na-bazi-vsftpd)).
|
||||||
|
|
||||||
|
Як і більшість тодішніх соціально-орієнтованих форматів, от як зображення JPEG з EXIF-інформацією про GPS розташування зокрема, PDF - не є "безпечним" виключенням, оскільки може містити в собі як віддалений вміст, вбудований скриптинг так і "відбитки пальців" ([fingerprint](https://uk.wikipedia.org/wiki/Цифровий_відбиток_пристрою)): версію рушія, дату створення документу, тощо.
|
||||||
|
|
||||||
|
Згодом, зайнявся сабжем і першою знайшов утиліту `mat2`, яка написана мовою Python і розроблялась у якості частини проєкту Tails.
|
||||||
|
|
||||||
|
## Підтримувані формати
|
||||||
|
|
||||||
|
На момент публікації, версія 0.14 підтримує наступні формати:
|
||||||
|
|
||||||
|
* `application/epub+zip (.epub)`
|
||||||
|
* `application/pdf (.pdf)`
|
||||||
|
* `application/vnd.oasis.opendocument.chart (.odc)`
|
||||||
|
* `application/vnd.oasis.opendocument.formula (.odf)`
|
||||||
|
* `application/vnd.oasis.opendocument.graphics (.odg)`
|
||||||
|
* `application/vnd.oasis.opendocument.image (.odi)`
|
||||||
|
* `application/vnd.oasis.opendocument.presentation (.odp)`
|
||||||
|
* `application/vnd.oasis.opendocument.spreadsheet (.ods)`
|
||||||
|
* `application/vnd.oasis.opendocument.text (.odt)`
|
||||||
|
* `application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)`
|
||||||
|
* `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)`
|
||||||
|
* `application/vnd.openxmlformats-officedocument.wordprocessingml.document (.docx)`
|
||||||
|
* `application/x-bittorrent (.torrent)`
|
||||||
|
* `application/x-dtbncx+xml (.ncx)`
|
||||||
|
* `application/x-tar (.tar)`
|
||||||
|
* `application/xhtml+xml (.xht, .xhtml, .xhtm)`
|
||||||
|
* `application/zip (.zip)`
|
||||||
|
* `audio/flac (.flac)`
|
||||||
|
* `audio/mpeg (.mp1, .mp2, .mp3, .mpga)`
|
||||||
|
* `audio/ogg (.oga, .spx, .ogg, .opus)`
|
||||||
|
* `audio/x-aiff (.aif, .aiff, .aifc)`
|
||||||
|
* `audio/x-flac (.flac)`
|
||||||
|
* `audio/x-wav (.wav)`
|
||||||
|
* `image/bmp (.dib, .bmp)`
|
||||||
|
* `image/gif (.gif)`
|
||||||
|
* `image/heic (.heic)`
|
||||||
|
* `image/jpeg (.jpeg, .jpg, .jfif, .jpe)`
|
||||||
|
* `image/png (.png)`
|
||||||
|
* `image/svg+xml (.svg, .svgz)`
|
||||||
|
* `image/tiff (.tiff, .tif)`
|
||||||
|
* `image/webp (.webp)`
|
||||||
|
* `image/x-portable-pixmap (.ppm)`
|
||||||
|
* `text/css (.css)`
|
||||||
|
* `text/html (.htm, .html)`
|
||||||
|
* `text/plain (.cc, .text, .log, .el, .hxx, .txt, .f90, .cxx, .pm, .conf, .hh)`
|
||||||
|
* `video/mp4 (.mp4, .m4v, .mpg4)`
|
||||||
|
* `video/x-ms-wmv (.wmv)`
|
||||||
|
* `video/x-msvideo (.avi)`
|
||||||
|
|
||||||
|
## CLI
|
||||||
|
|
||||||
|
`mat2`, перш за все - інструмент командного рядка, яким власне і користуюся сам.
|
||||||
|
|
||||||
|
### Встановлення
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
dnf install mat2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Перевірка залежностей
|
||||||
|
|
||||||
|
Перед початком роботи, варто перевірити наявність залежностей, без яких програма може працювати не коректно:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --dependencies
|
||||||
|
```
|
||||||
|
|
||||||
|
### Повне стирання мета-даних
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 /path/to/file
|
||||||
|
```
|
||||||
|
* у такому разі, буде створено копію документу з приставкою `.cleaned`
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --inplace /path/to/file
|
||||||
|
```
|
||||||
|
* перезаписати поточний файл (зручно, якщо оригінал більше не потрібен)
|
||||||
|
|
||||||
|
### Часткове стирання мета-даних
|
||||||
|
|
||||||
|
На прикладі PDF, "Повне стирання" передбачає створення його графічної форми замість текстової. Наскільки я розумію, це потрібно для обфускації фінгерпринтів: шрифтів або можливо ідентифікації системного рендерера. Тому вихідний файл ".cleaned" займатиме замість умовних 100 Кб оригіналу - близько 2 Мб.
|
||||||
|
|
||||||
|
Тому, якщо потрібно просто скинути мета-інформацію без додаткової анонімізації, додаємо опцію `--lightweight` (або `-L`)
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --lightweight /path/to/file
|
||||||
|
```
|
||||||
|
* аналогічно, можна додати аргумент `--inplace`
|
||||||
|
|
||||||
|
### Перевірка мета-даних
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --show /path/to/file
|
||||||
|
```
|
||||||
|
* відображає "чутливі" дані для поточного формату `file`
|
||||||
|
|
||||||
|
Наприклад, якщо початковий файл PDF містив такі мета-дані:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 -show /path/to/file.pdf
|
||||||
|
[+] Metadata for /path/to/file.pdf:
|
||||||
|
creation-date: 1764124192
|
||||||
|
creator: Mozilla Firefox 145.0.1
|
||||||
|
format: PDF-1.7
|
||||||
|
mod-date: -1
|
||||||
|
producer: cairo 1.18.0 (https://cairographics.org)
|
||||||
|
```
|
||||||
|
|
||||||
|
то його "очищена" версія виглядатиме так:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --show /path/to/file.cleaned.pdf
|
||||||
|
[+] Metadata for /path/to/file.cleaned.pdf:
|
||||||
|
creation-date: -1
|
||||||
|
format: PDF-1.5
|
||||||
|
mod-date: -1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Повний список опцій
|
||||||
|
|
||||||
|
Інші комбінації підбирайте під власні потреби: їх там не так багато:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mat2 --help
|
||||||
|
```
|
||||||
|
|
||||||
|
### Посилання
|
||||||
|
|
||||||
|
* [Схоже на актуальний репозиторій проєкту](https://github.com/jvoisin/mat2)
|
||||||
|
* [Ще один репозиторій, який чомусь в топах Google (востаннє оновлений 4 роки тому)](https://github.com/tpet/mat2)
|
||||||
|
|
||||||
|
## GUI
|
||||||
|
|
||||||
|
Metadata Cleaner - проста графічна обгортка для `mat2` на базі GTK 4.
|
||||||
|
|
||||||
|
### Встановлення
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
dnf install metadata-cleaner
|
||||||
|
```
|
||||||
|
|
||||||
|
### Посилання
|
||||||
|
|
||||||
|
* https://metadatacleaner.romainvigier.fr
|
||||||
|
* https://gitlab.com/rmnvgr/metadata-cleaner
|
||||||
Loading…
Add table
Add a link
Reference in a new issue