Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
dobrý den, mám dotaz
zadal jsem do cronu příkaz na spuštění
00 16 * * * root lynx -dump http://www.xyz.ccz/platba.php
a bohuzel uvnitř tohoto php kodu je systemovy přikaz
system(´iptables -t nat .....´)
který se me pohužel nespustí, nevíte prosím radu?
dekuji david
iptables na serveru, musí webserver běžet pod rootem.
jak prosím se sudo?
muze me nekdo prosim prelozit do s tim prikazem sudo.
moc se v linuxu nevyznam, potrebuji prave na jednom serveru zprovoznit pravidelné spousteni toho skriptu
tento prikaz nejde
$shellOutput = system('iptables -t nat -I PREROUTING -p tcp --dport 80 -s ${'.trim($row_usr["ip_1"]).'} -j DNAT --to-destination 10.0.0.1', $retval);
uživatel ktery spousti webserver je www-data
dekuji moc
příkaz z cronu se vykoná, protože vykonává další činnosti které pak vidim v logu, tak usuzuji ze to bězi správně, krom tedy toho iptables, to se nespusti.
roota. Nejlepší bude použít pro spuštění sudo, také byste mohl spuštění iptables delegovat do nějakého externího procesu, který by se spouštěl z binárky se suid bitem, nebo v nejhorším případě provozovat celý web server pod rootem.
tak jsem vlozil do sudoers
www-data ALL=(ALL) NOPASSWD: /sbin/iptables
a upravil prikaz v php kodu
$shellOutput = system('sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -s ${'.trim($row_usr["ip_1"]).'} -j DNAT --to-destination 10.0.0.1', $retval);
a stale nic.
tak jsem jeste kouknul do error logu apache a tam vylezlo toto
sh: ${172.20.13.20}: bad substitution
tak jsem z toho uz magor, prosiiim help, dekuji moc.
david
$shellOutput = system('sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -s '.trim($row_usr["ip_1"]).' -j DNAT --to-destination 10.0.0.1', $retval);
tak super uz jsem zase dále 
>>> sudoers file: syntax error, line 18 <<<
sudo: parse error in /etc/sudoers near line 18
obsah sudoers
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
www-data ALL=(ALL) NOPASSWD: /sbin/iptables
Manuálová stránka sudoers je poměrně nepřehledná, ale na webu jsou mraky návodů, např. http://www.cyberciti.biz/tips/allow-a-normal-user-to-run-commands-as-root.html . Pokud neumíš anglicky, zkus některý z překladových nástrojů, např. Google Translate Firefox extension, která vrátí http://translate.google.com/translate?hl=en&sl=en&tl=cs&u=http://www.cyberciti.biz/tips/allow-a-normal-user-to-run-commands-as-root.html
Řekl bych, že na posledním řádku nemá být (ALL) za rovnítkem.
roota od toho serveru sháněl těžko...
takže tim myslite ze se to nepovede rozebehnout?
sudo.
Proč by to nešlo, když nastavíš ty sudoers? Samozřejmě že uživatel, pod kterým běží www klient, je nepodstatný, ten jen po síti iniciuje tu akci. Klíčový je uživatel, pod kterým běží www server. Pokud mu přes sudo umožníš provádět danou akci pod rootem, musí to fungovat.
Nejlepší je sudo testovat rovnou pod daným uživatelem. Až to rozchodíš, můžeš to ladit v PHP. V ubuntu se přepni na roota přes
sudo -i
Pak se přepni na www-data přes
su www-data
A můžeš testovat konfigurace sudoers. Je to jednoduché, není důvod to vzdát.
tak pánové všem děkuji za tipy, už se povedlo,
vše už bylo ok, jen to stačilo otevrit pres visudo a ulozit.
nechapu ale funguje 
díky všem za ochotu a dobré rady. david
Vazeni stale se me nedari
spoustim z cronu skript ve kterem je prikaz
$shellOutput = system('sudo /sbin/iptables -t nat -D PREROUTING -p tcp --dport 80 -s '.trim($row_usr["ip_1"]).' -j DNAT --to-destination 10.0.0.1', $retval);
v error.logu apache2 me to napise at se kouknu na iptables -h
jinou hlasku ne.
a kdyz si spustim skript z prikazove radky tak to napise
BAD ARGUMENT 'DNAT' BAD ARGUMENT 'DNAT'
Přitom samotný příkaz když si pustim tak funguje v pořadku, nevite prosim radu.
dekuji david
Ten příkaz si naformátuj předem mimo volání system() a vypiš přes print. Uvidíš tak, co se opravdu volá, můžeš si jej i zkusit spustit bokem. Složitější skládání příkazu a jeho spuštění bez předchozí bez kontroly (navíc pod rootem !!) není úplně nejlepší cesta.
Tiskni
Sdílej: