Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.
BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.
V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."
Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.
Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.
Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.
… více »Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.
Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.
ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím
… více »ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.
Možná už jste někdy dumali nad tím, jak si na serveru zprovoznit službu, která vytváří náhledy webových stránek. V poradně je několik dotazů na toto téma, ale žádná kloudná odpověď. S radostí vám tedy můžu oznámit, že jsem na to konečně přišel.
Problém je ten, že potřebujete nějakou paměť, do které se ta stránka bude vykreslovat. Tuto paměť obvykle zprostředkovává X server, ale provozovat na serveru třeba Xorg je trochu zbytečné. Naštěstí existuje X server Xvfb, který je velice jednoduchý a všechno si vykresluje pouze do paměti. Minimálně v distribucích založených na Debianu je jako balíček, takže instalace je v pohodě.
Jak pustit Xvfb? Nejlépe pomocí startx:
startx -- /usr/bin/Xvfb :10 -screen 0 1600x1200x24
Tato řádka pustí Xvfb jako display 10 v rozlišení 1600x1200x24.
Hned si to vyzkoušíme a pustíme si v našem virtuálním framebufferu Firefox s ABCLinuxu.cz:
DISPLAY=:10 firefox www.abclinuxu.cz
Nikde nic bohužel nejde vidět, tak si budeme muset udělat screenshot:
DISPLAY=:10 import -window root obrazovka.png
A výsledný screenshot vypadá takto:
Jak vidíte Firefox se pustil do správné obrazovky, ale nebude asi vhodným prohlížečem pro dělání náhledů stránek, přinášelo by to jen samé problémy. Napíšeme si tedy prohlížeč vlastní! Bude jednoduchý a bude dělat přesně to co chceme. Použijeme jazyk Python a komponentu gtkmozembed. Prohlížeč se také sám postará o vygenerování náhledu. Bude možné jich spustit více najednou a urychlit tak generování většího počtu náhledů. Tady je kód, jak vidíte, je to velmi jednoduché:
#!/usr/bin/env python
import sys
import gtk
import gobject
import gtkmozembed
if len(sys.argv) == 2:
print "Bad count of arguments."
if len(sys.argv) < 3:
print "Usage: webshot.py URL output_file.png"
sys.exit()
def on_net_stop(caller_widget):
gobject.timeout_add(10000, take_shot)
def take_shot():
(width, height) = window.get_size()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width - 16, height - 15)
pixbuf.get_from_drawable(browser.window, browser.get_colormap(), 0, 0, 0, 0, width - 16, height - 15)
pixbuf.save(sys.argv[2], "png")
gtk.main_quit()
return False;
gtkmozembed.set_profile_path("/tmp", "webshot")
browser = gtkmozembed.MozEmbed()
browser.connect("net_stop", on_net_stop)
browser.set_size_request(1024, 768)
browser.show()
browser.load_url(sys.argv[1])
window = gtk.Window()
window.add(browser)
window.show()
gtk.main()
Jak program funguje? Na vstupu má dva parametry - webovou adresu a jméno výstupního souboru náhledu. Prohlížeč je okno pouze s jedním widgetem zobrazujícím stránku. Po načtení stránky se chvilku počká a obraz widgetu uloží do souboru. Velikost okna a čas na vykreslení je v programu natvrdo, ale není problém je parametrizovat.
A to je vše! Není to jednoduché? Ještě malá ukázka použití:
DISPLAY=:10 ./webshot.py abclinuxu.cz abclinuxu.png
Výstup:
Tiskni
Sdílej:
firefox -screenshot http://abclinuxu.cz/ > obrazovka.png
a musí kvůli tomu člověk dělat takové ptákoviny jako spouštět speciální X server. Pro Konqueror něco takového bylo, ale nepodařilo se mi to tehdy zkompilovat.
rootem, tak má jen stejná práva, jako kterýkoli uživatel toho počítače. K čemu bude soubor /etc/passwd někomu dobrý?
/etc/passwd není žádná katastrofa – třeba na různých školních unixových nebo linuxových strojích mohou mít účet stovky nebo tisíce studentů, všichni vidí /etc/passwd, a žádný problém v tom není. Samozřejmě pokud máte server, klientům tam povolíte přístup jenom přes scp a předpokládáte tak, že nikdo kromě vás nemůže lokálně nic spustit, a pak necháte v systému takovouhle díru, je to problém – minimálně proto, že je to zjevně místo, které je zabezpečené viditelně míň, než zbytek systému, pravděpodobně tedy uniklo pozornosti správce a je vhodné pátrat tímto směrem po dalších slabinách.
všichni vidí /etc/passwd, a žádný problém v tom není.V tom máš pravdu, to bychom se museli pohybovat někde na poli špionáže, aby měla nějakou hodnotu informace, že uživatel xabcd123 má účet na daném stroji. Je to taky výhoda unixových systémů, účet může dostat širší okruh lidí, než třeba u Windows. (ale přesto, podle principu minimálních práv, není dobré vystavovat veřejně nějaká data, pokud to není potřeba)
if URL[:5] == "file:" :
print "Ani ..cu!"
return 1
if sys.argv[1][:5] ...
javascript:window.open("file://…")?
http z nějaké jiné domény, stejně to nepůjde číst.
Ale ono je problém i to obyčejné http. Když si tam někdo nechá zobrazit stránku s nějakým Flashem, přesměrováním sem tam nebo dlouhotrvajícím javascriptem, jenom to vytíží počítač a tu službu třeba nebude moci využít někdo jiný. Ale pokud máte nějaké limity na přenesená data a někdo si tam nechá stáhnout pár obrazů DVD, může s tím být už skutečný problém.
Ten výběr data JS je blokován ještě jinak – JS nesmí přistupovat k dokumentu, který je nahrán z jiné domény. Tj. i kdyby v tom framu byl jiná adresa s http z nějaké jiné domény, stejně to nepůjde číst.
To jsem nevěděl. Dobrá informace.
Ale ono je problém i to obyčejné http. Když si tam někdo nechá zobrazit stránku s nějakým Flashem, přesměrováním sem tam nebo dlouhotrvajícím javascriptem, jenom to vytíží počítač a tu službu třeba nebude moci využít někdo jiný. Ale pokud máte nějaké limity na přenesená data a někdo si tam nechá stáhnout pár obrazů DVD, může s tím být už skutečný problém.Je to složitější než jsem si myslel. Pokud si člověk bude dělat obrázky jenom pro sebe, tak to není takový problém, ale jako veřejná služba je to hodně náročné na zabezpečení. Zajímalo by mě, jak jsou chráněny podobné existující služby, třeba český http://www.thumbnails.cz/.
URL[:5] != "http:"
když už teda takhle. Stejně bych ale přidal ještě tu virtualizaci, AppArmor a hodně přísně nastavený firewall (povolit jen 80 a zakázat připojení na všechny vnitrofiremní servery).
Místo Xvfb by se použilo třeba vnc.
Ahoj, zajímavý článek..
Mam však problém, že mi první varianta s firefoxem funguje, ale pythoní skriptík už dělá problémy. Obrázek se udělá, ale ten je zdeformovaný. Pruh vpravu a dole je jakoby posunutý kus odněkud jinud.
Zkouším to v ubuntu s naběhnutým systémem.. ale to by snad vliv mít nemělo ne... ?
Nějaké nápady? změna velikosti nebo rozlišení nepomohla..
A teď mě tak napadlo, na serveru nemusí být grafická karta, že?
Bude to fungovat i bez ní ?