Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Tiskni
Sdílej:
Pokud to chcete vyzkoušet jen nad souborem (který připojíte přes loop), tak můžete postupovat třeba takto:
# pro zacatek hromada promennych
secure_filesize=100
secure_file="~/secure/securedisk01.img"
secure_key="~/secure/securedisk01.key.gpg"
secure_loop="/dev/loop0"
secure_dm="securedisk01"
secure_mountpoint="~/secure/securedisk01"
secure_keysize=256
secure_hash="sha256"
secure_cipher="aes-cbc-essiv:sha256"
# vygenerovani klice a jeho zasifrovani pomoci GPG
head -c 2880 /dev/urandom | uuencode -m - | head -n 65 | tail -n 64 | gpg -c --cipher-algo AES256 > ${secure_key}
# vytvoreni souboru, ktery budu mountovat
dd if=/dev/urandom of=${secure_file} bs=1M count=${secure_filesize}
# nahozeni loop nad vytvorenym souborem
losetup ${secure_loop} ${secure_file}
# nahozeni sifrovaneho zarizeni nad loopem
gpg -q --cipher-algo AES256 --decrypt ${secure_key} | cryptsetup -v -h ${secure_hash} --key-size=${secure_keysize} --cipher=${secure_c
ipher} create ${secure_dm} ${secure_loop}
# vytvoreni filesystemu na sifrovanem zarizeni
mke2fs -j -m0 /dev/mapper/${secure_dm}
# primountovani sifrovaneho zarizeni
mount -t ext3 -o noatime /dev/mapper/${secure_dm} ${secure_mountpoint}
Tak jeste jednou ten postup vytvoreni kryptovaneho souboru a jeho primountovani, tentokrat s pouzitim tagu <pre>
# pro zacatek hromada promennychsecure_filesize=100 secure_file="~/secure/securedisk01.img" secure_key="~/secure/securedisk01.key.gpg" secure_loop="/dev/loop0" secure_dm="securedisk01" secure_mountpoint="~/secure/securedisk01" secure_keysize=256 secure_hash="sha256" secure_cipher="aes-cbc-essiv:sha256" # vygenerovani klice a jeho zasifrovani pomoci GPG head -c 2880 /dev/urandom | uuencode -m - | head -n 65 | tail -n 64 | gpg -c --cipher-algo AES256 > ${secure_key} # vytvoreni souboru, ktery budu mountovat dd if=/dev/urandom of=${secure_file} bs=1M count=${secure_filesize} # nahozeni loop nad vytvorenym souborem losetup ${secure_loop} ${secure_file} # nahozeni sifrovaneho zarizeni nad loopem gpg -q --cipher-algo AES256 --decrypt ${secure_key} | cryptsetup -v -h ${secure_hash} --key-size=${secure_keysize} --cipher=${secure_cipher} create ${secure_dm} ${secure_loop} # vytvoreni filesystemu na sifrovanem zarizeni mke2fs -j -m0 /dev/mapper/${secure_dm} # primountovani sifrovaneho zarizeni mount -t ext3 -o noatime /dev/mapper/${secure_dm} ${secure_mountpoint}
Způsob generování klíče je docela šílenost. Proč používáte pro získávání dat pseudonáhodné (urandom) namísto náhodného (random) zařízení?
Protože používáte na klíč 256b hash, mělo by teoreticky stačit 32 B zcela náhodných dat. Jako paranoik jich vezmu pro jistotu 64 B.
dd if=/dev/random bs=1 count=64 | gpg...Není mně jasné, proč zadáváte key-size, když klíč negenerujete z nekonečného zařízení. Parametr key-size slouží, když se např. klíč čte z /dev/random pro šifrování swapu. BTW Osobně používám na hashování hesla raději SHA512.
Key-size sem zadával jen pro jistotu, abych na to nezapomínal v případě že bych někdy v budoucnu zvolil klíč jiné délky, který by byl třeba delší (zatím sem si s tím jenom hrál).
Co se týče /dev/random a /dev/urandom, tak tam jsem nikdy přesně netušil jak to s tím je. Věděl sem jen že /dev/random by mělo produkovat zcela náhodná data (narozdíl od pseudo-náhodných u /dev/urandom), ale jejich vygenerování mi přišlo že trvá moc dlouho (holt asi než se "nahromadí" dostatek entropie... ježiš fuj, to je ale hnusně a blbě formulovaný, ale teď mě nenapadá jak to formulovat lépe
) a jelikož jsem si s tím jen hrál, použil sem /dev/urandom.