Fedora je od 10. února dostupná v Sýrii. Sýrie vypadla ze seznamu embargovaných zemí a Fedora Infrastructure Team mohl odblokovat syrské IP adresy.
Ministerstvo zahraničí Spojených států amerických vyvíjí online portál Freedom.gov, který umožní nejenom uživatelům v Evropě přístup k obsahu blokovanému jejich vládami. Portál bude patrně obsahovat VPN funkci maskující uživatelský provoz tak, aby se jevil jako pocházející z USA. Projekt měl být původně představen již na letošní Mnichovské bezpečnostní konferenci, ale jeho spuštění bylo odloženo.
Byla vydána pro lidi zdarma ke stažení kniha The Book of Remind věnovaná sofistikovanému kalendáři a připomínači Remind.
Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.5.0. Oznámení připomíná 30. výročí vzniku projektu. Novinky zahrnují mj. vylepšení referencí nebo použití barev napříč aplikací, od rozhraní editoru po výstupní dokument.
F-Droid bannerem na svých stránkách a také v aplikacích F-Droid a F-Droid Basic upozorňuje na iniciativu Keep Android Open. Od září 2026 bude Android vyžadovat, aby všechny aplikace byly registrovány ověřenými vývojáři, aby mohly být nainstalovány na certifikovaných zařízeních Android. To ohrožuje alternativní obchody s aplikacemi jako F-Droid a možnost instalace aplikací mimo oficiální obchod (sideloading).
Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
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í ?