gemlog/public/uk/mat2-metadata-cleaner.gmi
2026-01-06 11:54:21 +02:00

151 lines
No EOL
6.4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# mat2: очищення мета-даних для різних форматів
В мене давно назбиралась колекція дампів різних сторінок, які я зберігаю в PDF, для бекапів, локального перегляду (оскільки такий формат складається з одного файлу) а також планую поділитися ними з іншими, опублікувавши десь на хмарі FTP:
=> setup-anonymous-ftp-server.gmi Організація гостьового сервера FTP
=> social-oriented-vsftpd-server-setup.gmi Організація багатокористувацького файло-обмінника на базі FTP / vsftpd
Як і більшість тодішніх соціально-орієнтованих форматів, от як зображення JPEG з EXIF-інформацією про GPS розташування зокрема, PDF - не є "безпечним" виключенням, оскільки може містити в собі як віддалений вміст, вбудований скриптинг так і "відбитки пальців" (fingerprint): версію рушія, дату створення документу, тощо.
Згодом, зайнявся сабжем і першою знайшов утиліту 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"
Наприклад, якщо початковий файл містив такі мета-дані:
``` 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 Схоже на актуальний репозиторій проєкту
=> https://github.com/tpet/mat2 Ще один репозиторій, який чомусь в топах Google (востаннє оновлений 4 роки тому)
## GUI
Metadata Cleaner - проста графічна обгортка для mat2 на базі GTK 4.
### Встановлення
``` bash
dnf install metadata-cleaner
```
### Посилання
=> https://metadatacleaner.romainvigier.fr
=> https://gitlab.com/rmnvgr/metadata-cleaner