# mat2: очищення мета-даних для різних форматів В мене давно назбиралась колекція дампів різних сторінок, які я зберігаю в PDF, для бекапів та локального перегляду (оскільки такий формат складається з одного файлу). Як і більшість тодішніх соціально-орієнтованих форматів, от як зображення 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 --show /path/to/file ``` * відображає "чутливі" дані для поточного формату "file" ### Повне стирання мета-даних ``` 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 --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