Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Ústavní soud na svých webových stránkách i v databázi NALUS (NÁLezy a USnesení Ústavního soudu) představil novou verzi chatbota využívajícího umělou inteligenci. Jeho posláním je usnadnit veřejnosti orientaci v rozsáhlé judikatuře Ústavního soudu a pomoci jí s vyhledáváním informací i na webových stránkách soudu, a to i v jiných jazycích. Jde o první nasazení umělé inteligence v rámci webových stránek a databází judikatury českých soudů.
Před půl rokem jsem měl nápad vytvořit jednu aplikaci, ve které by šli naklikat weby. No naklikat zatím nejdou, ale vznikla solidní knihovna, ve které se dá web velmi rychle napsat. To přineslo i požadavek rozjet server, a aby se server zaplatil, tak to chce ho i s někym sdílnout. Celé jsem to postavil na lighttpd, protože mi je tento server velmi sympatický. Problém je, že lighty a mass hosting nejdou moc dohromady a tak si člověk musí trochu pomoct.
Lighttpd je lehký, rychlý, prý i bezpečný a flexibilní webový server. Používá ho například youtube nebo mininova. Svoje kvality na poli "jednoslužbových" strojů dokázal, stejně tak je možné ho používat pro účely uzavřené skupinky lidí, kteří si věří (rodina, malá komunitní síť) nebo se hodí taky na projekty, kde neznámí lidé nemají přístup ke scriptům, protože lighty může běžet pouze pod jedním userem a tak nejdou nastavit práva.
Ale k těm méně šťastným věcem. Konfigurace lighty je velmi flexibilní. Konfigurák nebo jeho část může být výsledem skriptu, je možno nastavit jednoduše rewrite proavidla, mod_redirect funguje též bezvadně a jednoduše a všechno lze hezky zpodmínkovat (nemluvě o hromádce dalších modulů). Také tu je proměnná server.chroot, která spustí server v chrootu. Na první pohled oko webhostera zaplesá, na druhý zjistí, že tato proměnná je "globální", a tak když ji hodíme do podmínky kde je nějaký host, tak se prostě použije nezávisle na té podmínce. To byla před týdnem rána, protože jsem měl napsanou kupku scriptů pro lighty, který by mě teď byly k ničemu. V zoufalství jsem zkoušel i apache, ale jeho konfigurace mi přišla hrozně těžkopádná a nepřímočará, narozdíl od lighty. Apache jsem používal dřív na desktopu a notebooku pro pracovní účely, ale nastavovat něco pro mě je rozdíl od nastavování něčeho pro hromadu lidí pokud chce člověk aspoň trochu klidně spát.
Tento bug či featura je zapsán v bugtrackeru již 2 roky a ani lighty 1.5 nic takového neřeší. Nastavení uživatele, pod kterým je server spušten je též globální a tak ani toto řešení neprojde. Poslední možností je použít mod_proxy. Debian má jednu moc šikovnou utilitku jailer. Ten vytvoří miniroot z debianích balíčků i s jejich závlostmi, a tak máme jen to co potřebujeme. Zminimalizoval jsem si root a jal se testování. Všechno proběhlo ok. Vytvořil jsem miniroot s pythonem, phpkem a pár pythoníma modulama (85MB) a nad tim spustil lighty v chrootu na portu 28001. V lightym na 80tym portu jsem nastavil mod_proxy. Všechno funguje ok a script se ze vnitř nemůže dostat. Všechno jsem ještě pojistil pomocí striktních práv a teď můžu říct, že mám funkční bezpečné řešení na základě lighttpd s vynikající možností škálování služeb. Resp pokud bude někdo potřebovat někde něco speciálního, mám možnost mu to nabídnout aniž bych se musel obávat bezpečnostího rizika, které je u řešení se suphp, právy a podobnými věcmi mnohem větší. PHP nemusí běhat v safemodu a můžu v pohodě pustit pythona, perl, ruby nebo i bash pod CGI.
Tohle řešení vyžadovalo napsat scripty pro startování dalších lightyů, sledování stavu lightyů a generování minirootů z databáze. V databázi je tak uloženo co má user za balíčky a miniroot se z toho může vygenerovat klidně znova a bude stačit zálohovat jen data.
A teď to horší. Každý si asi uvědomil, že to je trochu víc žravější na prostředky než jiná řešení. Určitě se to co tu navrhuju nehodí na hosting, kde bude 10000 domén na jeden stroj, ale pokud má člověk nějakých 50 userů, tak každý z nich má k dispozici luxusní možnosti, za které určitě zaplatí tolik, aby se zaplatil stroj i nějakými bonusy na stroj další. Lighty sám pamět moc nebere a když nastartuje zabírá asi 1.5MB ramky. Miniroot má jak jsem psal 85MB, když se okleští. Pokud lighty běží déle, tak se trochu rozroste, ale není to o moc. Když dnešní servery mají několik GB RAM a stovky GB disky tak nějakejch pár MB je nerozhodí a myslím si, že to za to stojí.
Tiskni
Sdílej:
Ale to je také většinou sci-fi.
Podle mě ano. Mám v /etc/ soubory kde jsou hesla, pak tam mám soubory k databázi, a v nespolední řadě tam mám data uživatelů, kteří nebudou nadšeni z myšlenky sdílet svá data s ostatními. Když bych použil Apache a nastavil práva a na něco zapoměl, tak si to každej jednoduše přečte. Když použiju lighty, tak na práva můžu zapomenout a jediná možnost je chroot nebo si pohrát s fastcgi. Fastcgi mě zas omezí v jiných věcech, takže zůstanu u chrootu :) Nejsem tak zkušený, abych zkoušel něco jiného :)
Co se týče průstřelnosti, tak máš pravdu. Dum8d0g někdě vykopal, že za použití shellu a Cčkovýho kompilátoru je možné se přes něj dostat. Je tu ještě podmínka, že chroot musí být vytvořen rootem a musí být k dispozici /proc. Jenže chroot se nějakým způsobem od roota odpoutá po spuštění, takže tohle taky padá. Sečteno a podtržno, jsem ochoten to risknout :)
) a nedavat do chrootu nic co nepotrebujes (/proc,/dev/) a muzes byt vklidu. Ale jasne virtualizacia vladne ...
Forpsi, asi nejlevnější co jde sehnat. Zatím je to v poho, akorát rychlost připojení může být omezující.
/Server
/Sites
/admin.janevimco.cz
/blog.janevimco.cz
A opravdu, když v blog.janevimco.cz dám do php include "../admin.janevimco.cz/tajnahesla.php", tak se to tam opravdu dostane ...