2011. április 1., péntek

NewCS konfigurálása

Mint már mondtam a NewCS jópár éves program, melyet már nem fognak fejleszteni (legalábbis jelenleg így néz ki). Azért foglalkozok mégis vele, mert (viszonylag) egyszerű a kezelése és a beállítása valamint nagyon stabil.

A NewCS konfigurációs fájla a newcs.xml. Itt van minden beállítás a program működéséhez. Indítás után a konfigot előszór abban a könyvtárban keresi, ahonnét el lett indítva, ha nem találja akkor megnézi a var/tuxbox/config könyvtárban (ez a beállítás régi Dreambox hagyaték). Ha ott se találja, elindul, de konfiguráció nélkül.

Mint látható a konfigurációt XML formában tárolja. Ez azt jelenti a gyakorlatban, hogy minden bejegyzés <TAG>-al kell nyitni és </TAG>-al kell zárni. Nagyon fontos, hogy minden TAG-ot lezárjunk, mert ha nem tesszük el fog indulni ugyan a NewCS, de mivel nem tudja értelmezni, konfiguráció nélkül.

Kezdjük.

A newcs.xml keretes szerkezetű, viszonylag könnyen áttekinthető:
<?xml version="1.0"?>
<newCSconfig>
    <readers name="Kartyaolvasok">
        <device>
            <name>CardReader1</name>
            ....
        </device>
        <device>
            <name>CardReader2</name>
            ...
        </device>

    </readers>

    <radegastserver>
            <enabled>No</enabled>
            .....
    </radegastserver>

    <cache>
            .....
    </cache>

    <httpd>
        .....
    </httpd>

    <debug>
            ....
    </debug>

    <newcamdserver>
            <enabled>Yes</enabled>
            ....
            <user>
               <name>user1</name>
                ...
            </user>

             <user>
                <name>user2</name>
                ....
            </user>

</newcamdserver>
</newCSconfig>

  • A <readers> és a </readers> között a kártyaolvasókat definiáljuk és azon belül a <device> és </device> között adjuk meg az egyes olvasók pontos beállításait. Ezzel foglalkozunk kell majd.
  • A <radegastserver> és a </radegastserver> közötti területen engedélyezhetjük és beállíthatjuk a NewCS speciális üzemmódját. Az itt konfigurált IP vagy DNS címről mindenféle jelszó vagy titkosítás nélkül használják a felhasználók kártyát. Előnye, hogy csökken a szerver terhelése és rövidebbek a válaszadási idők. Igen nagy a biztonsági kockázat, így használata nem javasolt, én sem fogok vele foglalkozni. Ha érdekel a téma, nézz körül a Neten.
  • A <cache> és a </cache> között (milyen meglepő...) a  kártyára irányuló kérések átmeneti tárhelyére  (cache-ra) vonatkozó beállítások vannak. Általában ezzel nem kell foglalkozni.
  • A <httpd> és a </httpd> között a NewCS webes felületét tudjuk konfigurálni. A felhasználónéven és a jelszón kívül nem nagyon kell állítani semmit (esetleg a portot)
  • A <debug> és a </debug> között az ellenőrző funkciókara vonatkozó beállításokat tehetjük meg, ugyanis a NewCS-nek van egy felülete, ahol nyomon követhetünk minden a kártyára vonatkozó kérést és választ. Általában az alapértelmezett beállítások megfelelőek, a jelszón kívül nem kell semmit átállítani.
  • A <newcamdserver> és a </newcamdserver> állítjuk be a NewCS szerver beállításait. Az <user> és az </user> között állítjuk be az egyes felhasználók jogait, így itt biztosan bele kell nyúlni a konfigba.
A newcs.xml rengeteg beállítási lehetőséget tartalmaz, de én most abból fogok kiindulni, van 1 db kártyánk amit olvas/ír 3 user.

Az első amit be kell állítani az a kártyaolvasó típusa.
COM1 portos Phoenix olvasó esetén ez a konfig:
<device>
 <name>Phoenix_Interface</name>          <!-- kártyaolvasó neve --> 
 <type>phoenix</type>                    <!-- kártyaolvasó típusa -->
 <enabled>Yes</enabled>                  <!-- kártyaolvasó engedélyeze -->
 <carddetect>yes</carddetect>            <!-- automatikus kártyakeresés -->
 <mhz>375</mhz>                          <!-- kártyaolvasó sebessége -->
 <node>/dev/ttyS0</node>                 <!-- kártyaolvasó fizikai címe -->
 <parity>odd</parity>
 <reset>normal</reset>
 <newcamd_port>10580</newcamd_port>      <!-- kártyaolvasó portjának címe -->
 <export>Yes</export>
 <blocksa>No</blocksa>
 <blockua>No</blockua>
 <blockga>No</blockga>
   <!-- <boxkey>0000000000</boxkey> -->  <!-- boxkey, ha van -->
   <!-- <rsa>0000000000</rsa> -->        <!-- rsa kod, ha van -->
 <irdeto-camkey>0000000000000000</irdeto-camkey>
 <irdeto-camkey-data>000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000</irdeto-camkey-data>
 <crypto-special>No</crypto-special>
 <ipk>000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000</ipk>
 <ucpk>00000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 000000000000</ucpk>
 <PTShandshake>No</PTShandshake>
 <autosid>Yes</autosid>
 <Seca-PPV>no</Seca-PPV>
 <pincode>0000</pincode>
 <priority>round</priority>
</device> 


USB-s SmarGo olvasó esetén igy néz ki a konfig eleje:
<device>
 <name>SmarGo</name>           <!-- kártyaolvasó neve --> 
 <type>smartreader+</type>     <!-- kártyaolvasó típusa -->
 <enabled>Yes</enabled>        <!-- kártyaolvasó engedélyeze -->
 <carddetect>yes</carddetect>  <!-- automatikus kártyakeresés -->
 <mhz>375</mhz>                <!-- kártyaolvasó sebessége -->
 <node>/dev/ttyUSB0</node>     <!-- kártyaolvasó fizikai címe -->
....

A többi ugyanaz mint a Phoenixnél.
Nem fogok minden TAG-al foglalkozni. A legfontosabbak mellé odaírtam mire valók. Néhány dolog ami fontos:
  • A <name> és </name> között és úgy általában is, TILOS az ékezetes betűk és a space-ok használata ! Space helyett használjunk aláhúzást. Ezek figyelembe vételével bármilyen nevet adhatunk az olvasónak.
  • Az <mhz> és </mhz> közötti értékeket csak akkor növeljük, ha biztosak vagyunk benne, hogy tud gyorsabban dolgozni a kártya ! Hamar jégkaparó lehet az eredménye a kísérletezésnek....
  • A SmarGo-nál a <node> után álló /dev/ttyUSB0 az USB1 portra vonatkozik. Ha nem oda van bedugva az olvasó, más címet kell használni (/dev/ttyUSB1 vagy /dev/ttyUSB2 stb). Ugyanez igaz a Phoenixre is, ha nem a COM1 hanem a COM2-re van téve az olvasó, akkor /dev/ttyS1 lesz a <node> után.
  • <boxkey> és <rsa> TAG-okat csak akkor kell alkalmazni, ha olyan kártyánk van, ami amúgy össze van párosítva a gyári műholdvevő boxal, de ügyes emberek kiderítették a kódokat.
  •  A <newcamd_port> és </newcamd_port> között adjuk meg azt a portot, amelyik segítségével a felhasználók kapcsolódni tudnak a kártyához. Ezt a portot kell engedélyezni a router-on, ha az Internet felé is nyitva lesz a NewCS.
A kártyaolvasó konfigurációja kész. Menjünk tovább.
A <radegastserver> és a <cache> beállításokat ne bántsuk, jók az alapértelmezett beállítások.
<radegastserver>
 <enabled>no</enabled>
 <port>10001</port>
 <allow>
   <hostname>localhost</hostname>
 </allow>
 </radegastserver>

 <cache>
  <emm>20</emm>
  <ecm>-1</ecm>
</cache>

Nézzük a Webes megjelenés konfigurációját:
<httpd>
 <server>
   <port>8080</port>                <!-- a port címe, ahol elérjük a webes felületet -->
   <enabled>yes</enabled>           <!-- engedélyezzük a webes felületet -->
 </server>
 <user>
   <name>newcs</name>               <!-- felhasználó név -->
   <password>newcs</password>       <!-- jelszó -->
   <accesslevel>admin</accesslevel> <!-- hozzáférési szint -->
 </user>
</httpd>

Több usert is létrehozhatunk különféle hozzáférési szintekkel, de igencsak javasolt, hogy legyen legalább egy, aki rendelkezik "admin" szinttel, különben nem sok értelme van...
Nézzük a <debug> TAG-ot:
<debug>
 <password>NewCSpwd</password>      <!-- jelszó -->
 <mode>simple</mode>
 <level>normal</level>
 <type>init</type>
</debug>

Itt egy dolgot lehet változtatni, a jelszót, de az se kötelező.
A blokk a  <newcamdserver>. Itt definiáljuk a felhasználókat.
<newcamdserver>
 <enabled>Yes</enabled>          <!-- szerver engedélyezése -->
 <name>newcs</name>              <!-- szerver neve -->
 <userfile>/tmp/newcamdserver.txt</userfile>    <!-- log fájl helye és neve -->
 <deskey>01 02 03 04 05 06 07 08 09 10 11 12 13 14</deskey>  <!-- titkosítási kulcs -->
 
 <user>
  <status>access</status>        <!-- hozzáférési szint -->
  <name>dummy</name>             <!-- felhasználó neve -->
  <password>dummy</password>     <!-- felhasználó jelszava -->
  <hostname>localhost</hostname> <!-- honnan csatlakozhat a felhasználó - csak localhostról -->
  <port></port>                  <!-- melyik porton, ha üres az alapértelmezetten -->
  <readers></readers>            <!-- ez a user az összes kártyát eléri -->
  <au>on</au>                    <!-- kártyafrissítés engedélyezése -->
  <sidoverride>off</sidoverride> <!-- SID szúró felülbírálata -->
  <spider>on</spider>            <!-- Cardspider engedélyezése az usernél -->
  <rate>0</rate>                 <!-- ECM késleltetés -->
 </user>
 <user>
  <status>access</status>
  <name>szomszed_bacsi</name>
  <password>Jelszo</password>
  <hostname></hostname>
  <port></port>
  <readers>
   <allow>phoenix</allow>       <!-- ez a user csak a phoenix-et éri el -->
  </readers>
  <au>on</au>
  <spider>on</spider>
  <sidoverride>off</sidoverride>
  <rate>0</rate>
 </user>    
 <user>
   <status>access</status>
   <name>CCCAM</name>
   <password>cccam</password>
   <hostname></hostname>
   <port></port>
   <readers>
   <allow>smargo</allow>      <!-- ez a useer csak a smargo-t éri el -->
   </readers>
   <au>on</au>
   <au>off</au>               <!-- kártyafrissítés tiltva -->
   <spider>on</spider>
   <sidoverride>off</sidoverride>
   <rate>0</rate>
  </user>
</newcamdserver>

Igyekeztem egy olyan példát készíteni, ami több verziót tartalmaz.
  • <enabled>-el engedélyezzük/tiltjuk a szerver használatát
  • <name> a szerver neve. Szükségtelen a megváltoztatása, mert nemigen fogunk így hivatkozni rá.
  • <userfile> a log fájl neve és helye. Csak akkor ír ide, ha hiba van.
  • A <deskey> tartalmazza a titkosítási kulcsot. Ezt meg kell adni csatlakozáskor. Megváltoztatjuk ha akarjuk, de szükségtelen.
  • <status> mindig access legyen, különben nem sok értelme van az user beállításának...
  • <name> és <password>: az user neve és jelszava
  • A <hostname> -val állíthatjuk be honnan csatlakozhat az user. Ha üresen marad, bárhonnan csatlakozhat. Javasolt üresen hagyni.
  • <port>-al állíthatjuk be, melyik portról csatlakozhat a felhasználó. Ha üresen marad, akkor a konfigurációs fájl elején, a <device> részészen a <newcamd_port> TAG-al beállított port lesz az alapértelmezett. Javasolt üresen hagyni.
  • A <readers> beállításaival szűkíthetjük a felhasználók jogait, hogy melyik olvasóhoz férhet hozzá. Az olvasó nevét kell megadni. Nem javasolt a használata, főleg, ha csak egy olvasónk van...
  • Az <au>-val engedélyezzük/tiltjuk hogy az user küldhet-e EMM csomagot a kártyára. Ezekkel a csomagokkal a szolgáltatók módosítják a kártyák működését. Pl. új csomag aktiválás, kódváltás, vagy éppen kártya letiltás. Ezt úgy teszik, hogy a TV adás adatfolyamához adják az EMM csomagokat.  Nem javasolt, hogy annál a sornál ezt engedélyezzük ezt, ami a CCcam részére van létrehozva, ugyanis a kártyák azonosítója (CAID) nem mindig határozza meg egyértelműen a szolgáltatót, így előfordulhat, hogy egy kuala-lumpuri szolgáltató EMM csomagjával frissül a magyar kártyánk. Az eredmény az lesz, hogy semmilyen adást nem fog nyitni (nyugi, fizikálisan nem meg tökre a kártya, de kell neki egy jópár EMM csomag a saját szolgáltatónktól, hogy helyreálljon - ez több óra is lehet). Viszont azoknál az usereknél, akik csak a saját szolgáltatónkat nézik, mindenképpen engedélyezzük, különben az első kódváltásig tudjuk csak a kártyánkat nézni.
  • <sidoverride>: SID szűrő engedélyezése/tiltása, Ne módosítsuk az alapértelmezett OFF értéket.
  • <spider>: engedélyezzük/tiltjuk card splitter használatát az usernél. Maradjon ON álláson, ne módosítsuk.
  • <rate>: ECM késleltetési idő. Maradjon mindig nullán.
Az utolsó sorral zárjuk a konfigurációt:
</newCSconfig> 

Kész a konfiguráció.
Természetesen még sok beállítási lehetősége van a NewCS-nek, de ahhoz, hogy elinduljunk, bőven elegendő ez a mennyiség.

Nézzük a NewCS Webes a felületet.
Ha a fenti adatokat használtuk, akkor a irjuk be a Web-browserbe:
http://[SZERVER_IP_CÍM]:8080
Adjuk meg a <httpd> TAG-nál megadott felhasználónevet és jelszót. Voilá, bent vagyunk a NewCS Webes felületén. :)

A leggyakrabban használt menüpont a Newcamd Users. Igy néz ki:
Felsorolja a beállított usereket, és megjeleníti a kapcsolódási információkat.
Az Ok ECM  oszlop azoknak a kéréseknek a számát írja ki, amire a NewCS (vagyis inkább a kártya) pozitív választ adott (vagyis el tudta küldeni a TV adás dekódolásához szükséges adatokat), a Bd ECM ezzel szemben azt a számot adja meg, amire nem tudott válaszolni. Az EMM oszlop a szolgáltatótól fogadott (vagyis kártyára írt) csomagok darabszámát írja ki.

A NewCS-röl ennyit.
A következő részben a CCcam beálításait nézzük át.

3 megjegyzés:

  1. Nagyon köszönöm profi munka!

    VálaszTörlés
  2. Szia!

    Segíts kérlek!

    A gond a következő:
    yntruder@yntruder-szerver:~$ cd /var/bin
    yntruder@yntruder-szerver:/var/bin$ ./newcs.i686
    ./newcs.i686: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file: No such file or directory
    yntruder@yntruder-szerver:/var/bin$ ls -l
    összesen 1292
    -rwxr-xr-x 1 yntruder yntruder 779828 nov 14 2009 CCcam.x86
    -rwxr-xr-x 1 yntruder yntruder 507480 jan 19 2009 newcs.i686
    -rwxr-xr-x 1 yntruder yntruder 15082 jan 16 19:09 newcs.xml
    -rwxr-xr-x 1 yntruder yntruder 15082 jan 16 17:37 newcs.xml~
    yntruder@yntruder-szerver:/var/bin$ ^C
    yntruder@yntruder-szerver:/var/bin$

    Milehet a hiba?

    Asegítséged előre is köszi

    VálaszTörlés