Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »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é.