Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 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.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).
Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.
Máme-li USB čtečku, je postup malinko komplikovanější, ale i tak to hravě zvládneme. Dopomůže nám k tomu middle-ware PCSCd. Aby naše domácnost byla dokonalá, nastavíme si i cardserver.
Co je to ten middle-ware? Obecně řečeno, je to něco mezi. V našem případě je to software, který zprostředkuje komunikaci mezi čtečkou a softwarem, který to požaduje. Díky tomu nám stačí, aby v projektu pcsc existoval ccid ovladač pro naši čtečku. Každý program, který si rozumí s pcsc démonem pak může mít přístup.
Stejně jako v přechozím díle budu vše provádět na Debian Lenny v poslední verzi.
Byl tu Ježíšek, a tak systému nadělíme pár dárků - balíčků. Pro provoz USB SmartCard čtečky budeme potřebovat libccid a pcscd. Je-li Vaše čtečka podporována, zjistíte na packages.debian.org/lenny/libccid. Nainstalujeme tedy potřebné balíčky.
aptitude install libccid pcscd
Nevadí, zkuste se podívat na stránky ccid - tady naleznete nejnovější verzi, kterou si pak můžete zkompilovat. Také vlastním čtečku, která je podporována až ve vyšších verzích, proto se přikloním ke kompilaci. Otevřete si oficiální stránky a najděte tam archívy s ccid a pcsc-lite, ty stáhněte a rozbalte. Nejdřív zkompilujeme PCSCd. Přesuňte se do rozbaleného adresáře s pcsc. PCSCd může běžet buď s libhal nebo libusb, výběr nechám na Vás. V případě libhal doinstalujte do systému libhal-dev. Pokud si vyberete libusb, musíte předat příslušné parametry - ./configure --prefix=/usr --disable-libhal --enable-libusb
aptitude install libhal-dev ./configure --prefix=/usr make make install
Nejspíš bude PCSCd požadovat novější libusb, než máte. Nenalezne-li např. libusb.h, bude nutné dodat novější verzi. Tu najdete na www.libusb.org. Stáhněte stable verzi, rozbalte a zkompilujte:
./configure --prefix=/usr make make install
Poté se můžete vrátit ke kompilaci PCSCd
Pro snadné ovládání PCSCd si přidáme init skript vypůjčený z balíčku.
nano /etc/init.d/pcscd
A obsah:
#! /bin/sh # # /etc/init.d/pcscd # Start/Stop/Restart PCSC Lite resource manager daemon # # Carlos Prados Bocos <cprados@debian.org> # modifications by Ludovic Rousseau <rousseau@debian.org> ### BEGIN INIT INFO # Provides: pcscd # Required-Start: $local_fs $remote_fs $syslog # Required-Stop: $local_fs $remote_fs $syslog # Should-Start: udev hal # Should-Stop: udev hal # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Daemon to access a smart card using PC/SC # Description: The PC/SC daemon is used to dynamically allocate/deallocate # reader drivers at runtime and manage connections to the readers. ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="PCSC Lite resource manager" NAME=pcscd DAEMON=/usr/sbin/$NAME PIDFILE=/var/run/pcscd/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # if you need to pass arguments to pcscd you should edit the file # /etc/default/pcscd and add a line # DAEMON_ARGS="--your-option" # Gracefully exit if the package has been removed (but not purged). [ -x "$DAEMON" ] || exit 0 # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions # Include pcscd defaults if available if [ -f /etc/default/pcscd ] ; then . /etc/default/pcscd fi # get LANG variable (code from /etc/init.d/keymap.sh) ENV_FILE="none" [ -r /etc/environment ] && ENV_FILE="/etc/environment" [ -r /etc/default/locale ] && ENV_FILE="/etc/default/locale" value=$(egrep "^[^#]*LANG=" $ENV_FILE | tail -n1 | cut -d= -f2) eval LANG=$value # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=3 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac :
Nastavíme práva + spouštění:
chmod +x /etc/init.d/pcscd update-rc.d pcscd defaults
Ještě vytvoříme jeden adresář:
mkdir /var/run/pcscd
Pak už jen spustíme pomocí /etc/init.d/pcscd start a máme hotovo. Pokud je tedy Vaše čtečka podporována, je PCSCd připraven poskytnout přístup. V případě problémů můžete PCSCd spustit příkazem pcscd -fd, získáte tak výstup do konzole, podle kterého uvidíte, co dělá.
V minulém dílu jsme konfigurovali SASC-NG pro komunikaci přímo se sériovou čtečkou. Otevřeme si opět soubor cardslot.conf a upravíme poslední řádek - pro připomenutí přidávám stejný konfigurační soubor. Změny: zakomentovaný řádek s nastavením sériové čtečky a odkomentování posledního řádku pro spojení s PCSCd.
nano /etc/sasc/cardslot.conf
Obsah souboru:
; ; Komentáře můžou začínat ; nebo # ; ; Phoenix/smartmouse čtečka na sériovém portě ; ; dev - sériové zařízení, např. /dev/ttyS0 ; CD - detekce karty 0=normal 1=obrácená ; RST - reset karty 0=normal 1=obrácený ; clock - frekvence v Hz. Pokud neuvedete nebo bude 0, použije se 3571200 ; ; Ukázka nastavení sériové čtečky s převodníkem serial:/dev/ttyUSB0:0:0 ; Ukázka nastavení sériové čtečky ;serial:/dev/ttyS1:1:0:3579545 ; Čtečka s Smargo Smartreader+ na sériovém portu ; ; srplus:dev:[clock] ; ; dev - sériové zařízení, např. /dev/ttyS0 ; clock - frekvence v Hz. Základní je 3571200 Hz ; ; Frekvence se automaticky nastaví dle normy ISO 7816-3. ; Frekvenci je možné přepsat parametrem pro přetaktování, ; nezkoušejte to, pokud opravdu nevíte, co děláte! ; Můžete tím kartu spálit! ; ;srplus:/dev/ttyUSB0:3571200 ;srplus:/dev/ttyS1:6000000 ; Čtečka komunikující skrz PCSCd pomocí CCID protokolu ; ; ccid:reader ; ; reader - jméno čtečky, které poskytne pcsc_scan ; ; Pro použití musíte mít nainstalovaný pcsc-lite a ccid. ; Taktéž je nutné SASC-NG zkompilovat s podporou PCSC. ; ccid:SCR331 USB Smart Card Reader 00 00
Ještě bude třeba doinstalovat pcsc-tools z repozitáře:
aptitude install pcsc-tools pcsc_scan
Zároveň po nainstalování zavoláme pcsc_scan a získáme potřebné údaje, které vyplníme do výše uvedeného konfiguračního souboru za ccid:. Pozn.: aktuální verzi naleznete v sekci pcsc-tools. Stačí rozbalit a zavolat make
.
Po zavolání pcsc_scan získáme výstup:
... 0: GemPC410 0 0 ...
Vše za 0: vyplníme do /etc/sasc/cardslot.conf za ccid:. Restartujeme SASC-NG démona a od této chvíle by mělo spojení fungovat.
S kartou můžeme dokonce komunikovat i po síti, umožní nám to cardserver. Sami určitě vymyslíte výhody takového řešení. Např. máte-li problém se zprovozněním čtečky na stroji, kde hodláte dekódovat signál, můžete to zkusit jinde, kde bude fungovat. Nebo Vám čtečka překáží či kazí vzhled. Dekódujete-li signál na notebooku a nechcete čtečku pořád nosit s sebou, můžete si např. cardserver spustit na linuxovém routeru. Zvládne i spravovat víc karet najednou, taktéž může obstarávat více TCP/IP spojení. Možností je spousta, zbytek už je jen na Vaší představivosti.
Použijeme oscam, na stránkách naleznete i binárky pro různé platformy. My se opět zaměříme na kompilaci, která není nikterak složitá. Budeme si muset doinstalovat cmake a subversion.
aptitude install cmake subversion
Nyní máme dvě možnosti, buď stáhneme poslední stabilní verzi, nebo nejnovější testovací verzi. Výběr nechám na Vás.
Stabilní verze svn co -r 3146 http://streamboard.gmc.to/svn/oscam/tags/1.00 oscam-1.00 Testovací verze svn co http://streamboard.gmc.to/svn/oscam/trunk oscam-svn
Po stáhnutí přejdeme ke kompilaci:
cd oscam-1.00 NEBO cd oscam-svn mkdir build cd build
Můžete nastavit několik voleb při kompilaci, doporučuji alespoň změnit cestu ke konfiguračním souborům na /etc/oscam/. Konfigurační menu spustíte tak, že místo cmake spustíte ccmake
ccmake ..
Pro změnu cesty ke konfiguračnímu adresáři změňte volbu CS_CONFDIR. Pokud nic měnit nehodláte, spusťte tento příkaz:
cmake ..
Pak pokračujte dále:
make make install mkdir /var/log/oscam
Tím máme nainstalováno. Vložíme ještě init skript:
#! /bin/sh # ### BEGIN INIT INFO # Provides: oscam # Required-Start: $local_fs $syslog # Required-Stop: $local_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: OSCAM # Description: OSCAM ### END INIT INFO set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Oscam" NAME=oscam DAEMON=/usr/bin/$NAME PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/oscam OPTIONS="-b -c /etc/oscam -d 0" # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 # # Function that starts the daemon/service. # d_start() { start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- $OPTIONS } # # Function that stops the daemon/service. # d_stop() { start-stop-daemon --stop --quiet --oknodo --name $NAME } case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
A ještě nastavíme práva + spouštění
chmod +x /etc/init.d/oscam update-rc.d oscam defaults
Přesuňte se do adresáře /usr/share/doc/oscam/example, případně /usr/local/share/doc/oscam/example. Překopírujeme si soubor oscam.conf do konfiguračního adresáře. V oscam.conf uděláme pár změn. Nejdříve si ze všech protokolů necháme jen newcamd. Nic jiného prozatím měnit nebudeme, výsledek bude takovýto:
# # main configuration # [global] nice = -1 WaitForCards = 1 # logging pidfile = /var/run/oscam.pid logfile = /var/log/oscam/oscam.log usrfile = /var/log/oscam/oscamuser.log cwlogdir = /var/log/oscam/cw # monitor [monitor] port = 988 aulow = 120 monlevel = 1 # web interface [webif] httpport = 8888 httpuser = myusername httppwd = mypassword # anti-cascading [anticasc] enabled = 1 numusers = 1 sampletime = 2 samples = 5 penalty = 1 aclogfile = /var/log/oscam/aclog.log denysamples = 9 # protocols [newcamd] key = 000102030405060708090A0B0C0D port = 10000@0100:FFFFFF;10001@0200:FFF000,FFFF00;10002@0300:FFFFFF
Dále vytvořte soubor oscam.server s následujícím obsahem:
[reader] label = mypcscreader # pojmenujte vaší čtečku, název budeme používat dále protocol = pcsc device = 0 # pořadí čtečky, dozvíte se ho např. pomocí pcsc_scan, čísluje se od 0 group = 1 # přiřadíme čtečku do nějaké skupiny caid = 0D03 # CAID Vaše operátora, např. SkyLink má 0D03. Pokud nevíte, caid nezadávejte vůbec
Ještě vytvoříme soubor oscam.user:
# # user configuration # [account] user = user1 # uživatelské jméno pwd = password1 # heslo monlevel = 1 # pro více info man oscam.user group = 1 # skupina - nastavte stejnou jako u čtečky au = mypcscreader # název čtečky - stejný jako jste vyplnili v souboru oscam.server ident = 0D03:000004,000008 # nemusíte uvádět nic nebo vyplnit později. Tyto údaje jsou pro SkyLink caid = 0D03 # CAID Vaše operátora, např. SkyLink má 0D03. Pokud nevíte, caid nezadávejte vůbec
Nyní spusťte oscam
/etc/init.d/oscam start
Pokud se vše povedlo, naleznete v adresáři /tmp/.oscam další informace, soubor začínající reader obsahuje informace o kartě. Naleznete tam CAID a další informace. Vrátíme se k souboru oscam.conf do sekce newcamd a vyplníme správně port podle údajů z karty:
... port = 10000@0d03:000004,000008,000000 ...
Jako první se vyplňuje port, na kterém bude naslouchat. Následně vyplníme CAID a ident, všechny tyto informace nám poskytne karta. Je možný i zápis 000000, který pak pošle na kartu vše. Oscam má rozsáhlou konfiguraci, doporučuji prostudovat man stránky a ukázkové konfigurační soubory, v článku ukazuji jen zlomek možností, jelikož by podrobný popis vydal na samostatný článek. Tímto skončíme s nastavováním Oscamu a přejdeme k nastavení SASC-NG.
Vytvoříme nový soubor:
nano /etc/sasc/cardclient.conf
Nastavení je jednoduché, vše se vejde do jednoho řádku v následujícím formátu: newcamd:ip serveru:port:povolit přenos emm:caid:maska:uživatel:heslo:klíč. Pro tento článek bude výsledek tento:
newcamd:localhost:10000:1/0d03/ffff:user1:password1:000102030405060708090A0B0C0D
A už stačí jen restart SASC-NG.
Odborníci prominou, vysvětlení bude velmi zjednodušené. Jak jistě víte, signál se ze satelitu šíří po obrovském území a komunikace je pouze jednosměrná. Lze mít i obousměrnou komunikaci, např. takto funguje satelitní internet, kde je možné mít i uplink přes satelit - záleží na poskytovateli, někdo může vyžadovat uplink jinou cestou, např. přes GPRS. Vrátíme se z odbočky zpět k tématu. Stejný signál je tedy šířen mezi všechny přijímače, které jsou na danou pozici naladěny.
Ať už kvůli licencím nebo pro zisk operátora je nutné signál nějak šifrovat, aby ho nemohl pozorovat každý. Pro šifrování se používá algoritmus CSA, který pro rozšifrování vyžaduje klíč. Ten se musí nějakým stylem získat a o to se postarají ECM zprávy. Ty obsahují informace pro přepočítání klíče, o to se postará CAM + karta. CAM vrátí klíč dekodéru. Přepočet probíhá pomocí dalších klíčů, které jsou na kartě. I ty je nutné udržovat, k tomu slouží EMM zprávy. Díky nim Vám může operátor průběžně měnit klíče na aktuální, povolovat přístup k dalším pořadům či je odebírat.
Ano, lze. Bohužel ne v reálnem čase, klíče se často mění (můžete sledovat Oscam a uvidíte, jak často se ptá karty). Proto je tento způsob nepoužitelný. Jak už to tak bývá, každý algoritmus je časem prolomen. Krásný příklad je Nagra2 používaný DigiTv (v současné době již přešli na Nagra3, který je prozatím neprolomený). Některé systémy jsou prolomeny, ale informace o tom nejsou veřejné. K zakoupení jsou pak nelegální karty, které Vám zpřístupní kompletní nabídku daného operátora bez nutnosti pravidelně platit. Každopádně takový příjem je protizákonný a taktéž Vám nikdo neručí, že karta bude dlouhodobě fungovat.
Gratuluji, nyní jste schopni používat pro dekódování USB čtečku a dokonce pro Vás není problém data přenášet po síti. Díky Oscamu máte v rukou silný nástroj, který Vám dovolí spoustu věcí.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
1+++
Velmi pekny popis co a jak udelat, akorat skoda ze po satelitni (ci obecne jakekoli TV) TV ani pes nestekne.
No, krasny clanek jak zkompilovat nejaky divny programy, ale ani slovo o tom, jak prehrat kodovanou TV na linuxu...Přehrávání bylo v minulém díle.
coz ta jedina co jde v cechach koupit je.Čtečku není problém si koupit ze zahraničí za pár šupů a funguje to. Opět viz minulý díl.
Sasc-ng se sice krasne spusti, ale scan na puvodnim i "dekodovanym" zarizeni najde uplne identicky kanaly.Scan bude vždy vracet ty samé kanály. Jediný rozdíl je v tom, že ty české budou dešifrované.