AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.
Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.
Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »while :
do
sleep 10
curl -s -o "http://nieco.htm"
if grep -wE nieco > /dev/null 2>&1
then
curl -s "http://nieco.ine" >> /dev/null
echo "zapis_do" >> /path/abc.log
fi
Otazka je: niekto tvrdi, ze ten skript funguje aj bez cronu. Neviem ci to zabezpecuje podmienka while, alebo ako to presne funguje. A aj tak ten skript musi niekto spustit, alebo kde ho umiestnit aby sa spustil po starte systemu.
#!/bin/sh url1="http://abclinuxu.cz" url2="http://microsoft.com" log="/tmp/$(basename "$0" .sh).log" keyword="Microsoft" # toto zabrání vícenásobnému spuštění if [ $(pgrep -fc "$") -gt 1 ]; then echo "$0 run0ning!" exit 1 fi while sleep 10; do t=$(date '+%Y-%m-%d %H:%M:%S') if curl -sL "$url1" | grep -qs "$keyword"; then echo -n "$t "$keyword" detected, God save us!" | tee -a "$log" curl -sL "$url2" > /dev/null \ && echo " ... $url2 OK" | tee -a "$log" \ || echo " ... $url2 failed!" | tee -a "$log" else echo "$t "$keyword" not found!" | tee -a "$log" fi doneJe to samá roura
ale tee zajistí že se bude logovat i když se skript pustí samostatně bez systemd.
Potom bych vytvořil soubor systemd službu /etc/systemd/system/sluzba.service
[Unit] After=network-online.target [Install] WantedBy=multi-user.target [Service] User=jejda Type=simple ExecStart=/bin/sh /home/jejda/ptakoviny/mujskript.sh LogLevelMax=warning StandardOutput=append:/tmp/mujskript.log
Potom spustit
systemctl daemon-reload systemctl start sluzba.servicePokud by se to mělo spouštět automaticky při startu systému tak ještě
systemctl enable sluzba.serviceA mělo by to běžet. No v praxi se ale může objevit pár problémů. Některé servery (třeba seznam.cz) posílají data s kompresí, tak to nejde prohledávat grepem ale musí se to první prohnat přes zcat. Další věc je, jak ověřit data co se stáhnou v té druhé fázi. S přesměrováním http/https si curl poradí když má přepínač -L ale co když server v případě že soubor nemá tak místo aby vrátil chybu 404, tak nás přesměruje někam jinam? To se taky běžně stává. Curl tak stáhne něco jinačího než co po něm chceme. Tu v tomto konkrétním případě je to fuk když se to stahuje do /dev/null ale co když bysme stahovali něco důležitýho a chtěli mít jistotu že se místo našeho dokumentu nestáhla nějaká hovadina kterou nechcem? Toto netuším jak řešit.
if [ $(pgrep -fc "$") -gt 1 ]; then echo "$0 run0ning!" exit 1 fiale mělo to být:
if [ $(pgrep -fc "$0") -gt 1 ]; then echo "$0 running!" exit 1 fi
while true; do
sleep ${INTERVALL}
curl --silent --output ${OUTPUT} --digest --user "${USER}:${PASS}" "http://${IP}:${PORT}/nieco_zisti=status"
if grep --silent -wE ${ERROR} ${OUTPUT}; then
curl --silent --digest --user "${USER}:${PASS}" "http://${IP}:${PORT}/nieco_vykonaj=${LABEL}" > /dev/null
TIMESTAMP=$(date +"%d.%m.%Y %H:%M:%S")
echo "${TIMESTAMP} Reader ${LABEL} sa_vykonal" >> ${LOGFILE}
fi
done
Skript na zaklade nastaveneho casu v premennej INTERVAL stiahne pomocou curl obsah z isteho webu. Grep tento obsah webu prejde a vyhlada ci sa tam nachadza retazec, ktory je ulozeny v premennej ERROR. Ak sa najdeny retazec shoduje s retazcom ulozenym v premennej ERROR, tak znova cez curl prejde na http a vykona sa nejaka poziadavka (dajme tomu, ze sa niekde nieco odosle). Nasledne sa to zapise do logu s datumom a casom. A tento proces sa opakuje podla hodnoty ulozenej v premennej INTERVAL
Co se ale stane když to pustíš, párkrát ten cyklus úspěšně proběhne a potom ten server třeba spadne nebo nebude dostupný? nebo spadne síť? Zkus to pustit a odpojit kabel. Grep bude parsovat starý ${OUTPUT} a všecko se bude tvářit v pohodě. Podle logu nic nepoznáš, ten ti bude lhat, že se akce vykonala. Toto bys měl nějak ošetřit.
Nejjednodušší by asi bylo při tom prvním stahování přesměrovat výstup.curl --silent --digest --user "${USER}:${PASS}" "http://${IP}:${PORT}/nieco_zisti=status" > ${OUTPUT}
To zajistí že se ${OUTPUT} přepíše aji když curl nic nestáhne.
rm $OUTPUT
Tiskni
Sdílej: