Poběrky z Fedorky #11
Tentokrát s příchutí hexadecimální soustavy a formátu json
Poběrky
- python-hexdump - nástroj pro převod binárních dat do šestnáctkové soustavy a zpět
- whipper - CD-DA ripovací nástroj preferující kvalitu nad rychlostí
- ddgr - DuckDuckGo z terminálu
- jq - nástroj pro dotazování json souborů
- jid - nástroj pro postupné dotazování jsonu
- vncpwd - nástroj pro dešifrování helsa k VNC
Koprovka
- SWFTools - nástroje pro práci se soubory SWF Adobe Flash
- SolveSpace - CAD 2D/3D modelovací nástroj
- Restic - bezpečný zálohovací program
- Polo - dvojpanelový správce souborů
Bílá Kronika
- OmegaT - IcedTea-Web ji již zvládne!
List přání
Paběrky
- Hello Fedora - plánovaný seriál, rozcestník jazyků pro začínající programátory
- Heslo pro VNC
Poběrky
python-hexdump - Dump binary data to hex format and restore from there
https://src.fedoraproject.org/rpms/python-hexdump
https://bugzilla.redhat.com/show_bug.cgi?id=1516117
sudo dnf install python-hexdump
Jednoduchá knihovna/utilita pro "pěkné zobrazování binárních dat", tedy výstup alá:
00008EC0: 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $............... 00008ED0: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00008EE0: 01 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ 00008EF0: 00 00 00 00 00 00 00 00 A4 80 00 00 00 00 00 00 ................ 00008F00: 68 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 h............... 00008F10: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00008F20: 01 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 ................ 00008F30: 00 00 00 00 00 00 00 00 0C 87 00 00 00 00 00 00 ................ 00008F40: 10 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00008F50: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Ačkoliv je program jak knihovnou, tak aplikací, z nějakého důvodu - https://bugzilla.redhat.com/show_bug.cgi?id=1516117#c14 - je zabalena pouze knihovna.
Základní Pythoní požití pak je:
import hexdump str = dump(binary) # Vám vrátí dekódovaný string. ba = restore(string) # Vám vrátí dekódovaný byte array.
Pokud chcete použít z balíčku aplikaci, pak musíte ručně:
python /usr/lib/python2.7/site-packages/hexdump/hexdump.py /bin/pwd | tail
Překvapivě, head
, způsobí pád programu "IOError: [Errno 32] Broken pipe". Že by neošetřená reakce na zavření roury? Pokud to nějaký zdatný pythonista vysvětlí/spraví, bude jedině super.
00000000: 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............ 00000010: 03 00 3E 00 01 00 00 00 70 1B 00 00 00 00 00 00 ..>.....p....... 00000020: 40 00 00 00 00 00 00 00 20 88 00 00 00 00 00 00 @....... ....... 00000030: 00 00 00 00 40 00 38 00 09 00 40 00 1D 00 1C 00 ....@.8...@..... 00000040: 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00 ........@....... 00000050: 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 @.......@....... 00000060: F8 01 00 00 00 00 00 00 F8 01 00 00 00 00 00 00 ................ 00000070: 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 ................ 00000080: 38 02 00 00 00 00 00 00 38 02 00 00 00 00 00 00 8.......8....... 00000090: 38 02 00 00 00 00 00 00 1C 00 00 00 00 00 00 00 8............... Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/hexdump/hexdump.py", line 484, in main() File "/usr/lib/python2.7/site-packages/hexdump/hexdump.py", line 456, in main hexdump(open(args[0], 'rb')) File "/usr/lib/python2.7/site-packages/hexdump/hexdump.py", line 247, in hexdump print(line) IOError: [Errno 32] Broken pipe
Funkčně se tato utilitka s "klasickým" hexdumpem nedá srovnávat, a čeká ji ještě pár let evoluce.
whipper - Python CD-DA ripper preferring accuracy over speed
https://bugzilla.redhat.com/show_bug.cgi?id=1541566
https://src.fedoraproject.org/rpms/whipper
sudo dnf install whipper
Program pro příkazovou řádku inspirovaný "morituri projektem" (https://web.archive.org/web/20160528213242/https://thomas.apestaart.org/thomas/trac/wiki/DAD/Rip), který se snaží o nejvyšší možnou kvalitu.
Základní použití je pak:
whipper cd -d (device) rip
Více na https://github.com/JoeLametta/whipper#getting-started
ddgr - DuckDuckGo from the terminal
https://bugzilla.redhat.com/show_bug.cgi?id=1539209
https://src.fedoraproject.org/rpms/ddgr
sudo dnf install ddgr ddgr žába
Jednoduchý comandline tool pro zasílání dotazů na jediný použitelný, a uživatele nesledujíc vyhledávač DuckDuckGo. Škoda že nevrací obrázky v ascii artu:)
Na screenshotu si povšimněte defaultně zapnutého interaktivního módu.To řeší --np. Pro lepší automatické zpracování výsledků se hodí --json. Plná url vrátí -x.
man ddgr
vám řekne zbytek.
jq - json query
https://src.fedoraproject.org/rpms/jid
sudo snf isntall jq man jq
Implementace transformaci a navigaci v json formátu podobná xpath and xslt nad xml.
Například:
ddgr zaba --json | jq '.[].title'
Kde:
.[] získá prvky pole .title pak získá z výsledných položek hodnoty title
Čili nám tento dotaz vypíše všechny titulky:
ddgr zaba -x --json | jq '.[].url' "http://www.zabasearch.com/" "https://www.youtube.com/user/ZabaGamerHD" "https://www.whitepages.com/name/Zaba" "https://www.facebook.com/zabasearch" "http://skipease.com/search/zabasearch/" "https://en.wikipedia.org/wiki/Zaba_(album)" "https://play.google.com/store/apps/details?id=hr.asseco.android.zaba" "https://www.imdb.com/title/tt7261098/" "https://www.snopes.com/computer/internet/zabasearch.asp" "https://www.lifewire.com/zabasearch-3482267"
jid - Json Incremental Digger
https://bugzilla.redhat.com/show_bug.cgi?id=1525698
https://src.fedoraproject.org/rpms/jid
sudo dnf install jid jid -h
Program na interaktivní a postupné zkoumání json souborů. Založen na syntaxi jq, ale navíc prakticky posílá dotaz (query) na výsledek předchozího dotazu (query). S tím že vidíte výsledek, zjednodušuje řetězení filtrů.
ddgr zaba --json | jid
a pište:
[1].title
Vždy uvidíte mezi výsledek. Po stisknutí enter se výstup opíše na stdout. Až na drobné nedostatky v syntaxi (např []) skvělý nástroj na učení jq.
vncpwd - VNC Password Decrypter
https://bugzilla.redhat.com/show_bug.cgi?id=1433657
https://src.fedoraproject.org/rpms/vncpwd
sudo dnf install vncpwd
Tiger VNC si se šifrováním hesla nijak neláme halvu - nakonec je celý v uživatelském prostoru. Takže pokud zapomene heslo, stačí pouze:
vncpwd ~/.vnc/passwd
A hotovo... Neboť vaše heslo je tak bezpečné jak je váš linuxový uživatel. S troškou štěstí tedy nedostupné.
Neplést s oficiálním nástrojem vncpasswd, který vám umožňuje heslo změnit.
Pokud z dat následujícího shelového prográmku poznáte co je to za šifru hluboce smeknu. Odpověď je v Paběrku.
for x in a b c d e f g h i j k l m n o p q r s t u v w f x y z ; do A=""; for y in `seq 1 10` ; do A="$A""$x" ; echo $A ; echo -n $A | hexdump -C ; echo -n $A | vncpasswd -f | hexdump -C ; echo done; done;
(povšiměte si že maximální délka els aje 8 znaků:)
Koprovka
Bezostyšně a s plným kreditem inspirována - https://fedoramagazine.org/4-cool-copr-february-2018/
SWFTools
https://copr.fedorainfracloud.org/coprs/scx/swftools
sudo dnf copr enable scx/swftools sudo dnf install swftools
Sada nástrojů na spojování,m obecnou práci a generování SWF souborů. Umí do SWF také konvertovat obráazky, video, audio a zdrojové kódy. Zpětně také umí ze SWF obsah extrahovat. Vzhledem k pomalé a krkolomné smrtí Flashe, je zejména to poslední nejužitečnějěí 🙂
SolveSpace
https://copr.fedorainfracloud.org/coprs/dschubert/solvespace
sudo dnf copr enable dschubert/solvespace sudo dnf install solvespace
Na zdroje nenáročný, 2D a 3D CAD modelovací nástroj. Jak název napovídá, jeho hlavní síla je v v pokročilém a geometrickém algoritmu na řešení zábran (např.: kolik křížů se vleze do čtverce aniž by se křížili?)
Restic
https://copr.fedorainfracloud.org/coprs/copart/restic
sudo dnf copr enable copart/restic sudo dnf install restic
Rychlý a s bezpečností na mysly navržený zálohovací software. Poradí si také s inkrementálními zálohamy a snapshoty. Umí záohovat z N zdrojů do M cílů. Zálohy jsou defaulně šifrovány.
Polo
https://copr.fedorainfracloud.org/coprs/grturner/Polo
sudo dnf copr enable grturner/Polo sudo dnf install polo
Další z mnoha programů na zákldě starého Norton Commanderu a Windows Commanderu. A v tomto připadě velmi vyspělý.
V době psaní tohoto dílu byl RPM balíček mírně rozbytý, ale snad je již lépe.
https://teejee2008.github.io/polo/
Bílá Kronika
V minulém díle jsem zamáčkl slzu že OmegaT osiřela - https://mojefedora.cz/poberky-z-fedorky-10/#OmegaT . Její současný stav jsem nekontroloval, ale pochlapil jsme se a upravil jsem IcedTea-Web tak aby OmegaT začla fungovat.
Patch se nějakou dobu vařil v usptreamu, ale nakonec jsem jej portoval do fedorky:
Pokud používáte testing repo (nebo již to prosáklo do stable) tak icedtea-web-1.7.1-5 by již měl valit fajn.
javaws http://omegat.sourceforge.net/webstart/OmegaT.jnlp by vám mělo jednoduše fungovat.
List přání
Double commander a Lazarus
doublecmd - Twin-panel (commander-style) file manager - https://bugzilla.redhat.com/show_bug.cgi?id=1208911
Teto výborný dvojpanelový správce souborů se bohužel zasekl na závislostech. Jeho maintainer by musel nejdříve zabalit celý free-pascal (čímž by otevřel dveře spoustě dalších programů (nakonec, lidí co začínalo či i později pracovalo s Delphi je kolem spousta) a pár delších závislostí (nehledě na závislosti Lazaru). Pravá balíčkovací výzva!
Paběrek
Kolegu na poběrky hledám stále. Dobře platím! Poběrků méně než by slušelo... Navíc chystáme pro začínající vývojáře (střední škola) rozcestník základních jazyků a jejich fedora-based rychlostart. Přez javu a .NET, přes python a bash až k Rustu a C, a pokud seženu odborníky, tak i více. O IDE nám již řekle všechno Pavel Tišnovský - https://mojefedora.cz/?s=vyvojove+prostredi - Tak snad je na co se těšit!
Heslo pro VNC
Heslo je šiforváno triple DES, šili silnou, symetrickou šifrou. Symetrická znamená, že jakmile znovu zašifujete již zašiforvnaý text, tak dostanete ten původní.
VNC má toto heslo hardcoded ve svých zdojových kódech (a má délku 8 nzaků) - https://github.com/jeroennijhof/vncpwd/blob/master/vncpwd.c#L25 - takže se to celé posouvá do "security by obscurity" (až na detail, že to máte v domovském adresáři schované pod standartními unixovými právy).
22. 3. 2018 at 11:58
Typo: dešifrování helsa
22. 3. 2018 at 12:21
Kdyby jenom jendo… Jsme vynechal moji milou korektorku… Nicmene diky za koment:) Propadl jsem depresím jestli to jeste nekdo cte 😉
22. 3. 2018 at 19:02
Asi nás moc nebude, ale rád si přečtu Poběrky.
23. 3. 2018 at 12:33
Ale citame (a velmi radi) …