Stap 9:5. [Optional] Installeer oscam server om gecodeerde kanalen te bekijken
Opmerking: gecodeerde kanalen kijken is niet onwettig. Kijken naar
gecodeerde kanalen in het geval dat u hoeft niet een abonnement kaart is illegaal en strafbaar. De ernst stijgt, als u uw abonnement kaart met anderen deelt. Dit document zal veronderstellen dat een geldig abonnement kaart wordt gebruikt en eigendom en dat de kaart alleen binnen het lokale netwerk wordt gedeeld. Dit document is ook een bewijs-van-concept en is alleen bedoeld voor academisch gebruik.
Instellen en configureren van OSCAM kaart server is niet een eenvoudig proces, en alleen het gedeelte van de installatie en die verband houden met het te verbinden met de server tvheadend zal worden hier besproken hebben, als gevolg van de opmerking van bovenaf. Aanvullende informatie kan worden gevonden op het internet.
De Oscam-server kan worden gedownload als een binair bestand uit de repository, of kan gebouwd worden uit bronnen. Als het constant wordt ontwikkeld, is het beter om het te hebben opgebouwd uit bronnen, zoals binaire bouwt meestal verouderd zijn.
Om te bouwen, zal aanvullende pakketten moeten worden geïnstalleerd voordat. De volgende stappen zal betrekking hebben op de installatie van de programmeerhulpmiddelen oscam, start stop scripts en scripts van de automatische update:
a) installeren programmeerhulpmiddelen, libs
sudo apt-get update
sudo apt-get - y install apt-utils dialoogvenster usbutils
sudo apt-get - y install gcc g ++ wget
sudo apt-get - y install build-essential subversion libpcsclite1 libpcsclite-dev
sudo apt-get - y install make cmake libssl-dev
sudo apt-get - y installeert nano libusb-1.0-0-dev
sudo apt-get install pcscd pcsc-tools
b) installeren oscam uit repository
cd/home/osmc
svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
mkdir te bouwen
chmod 755 bouwen
CD bouwen
cmake...
Als er staan geen configuratiefouten, worden de make-scripts uitgevoerd:
maken
Maak installeren
Na de installatie, wordt een systemd dienst script worden gemaakt:
nano /etc/systemd/system/oscam.service
Inhoud van bestand:
[Eenheid]
Beschrijving = oscam
After=Network.target
[Service]
Type = vertakking
PIDFile=/run/oscam.pid
ExecStart = / usr/local/bin/oscam - b - r 2 -B /run/oscam.pid - c /var/etc/oscam -p 512
ExecStop = / usr/bin/rm /run/oscam.pid
Opnieuw = altijd
RestartSec = 5
[Install]
WantedBy = multi-user.target
Om te beginnen het automatisch tijdens het opstarten van systeem, wordt de volgende opdracht worden uitgevoerd:
systemctl inschakelen oscam.service
De configuratiebestanden mogen worden gebracht in de volgende map:
/var/etc/oscam
mkdir /var/etc
mkdir /var/etc/oscamchown osmc.osmc /var/etc/oscam – R
Om te beginnen de oscam server, wordt de volgende opdracht worden uitgevoerd:
systemctl start oscam.service
Nu wij maken en auto-update script:
nano /usr/local/bin/oscam_update.sh
Het script moet machtigingen moet worden uitgevoerd:
chmod 755-/usr/local/bin/oscam_update.sh
De inhoud van het bestand:
#! / bin/sh
echo "De slag oscam update"
cd/home/osmc /
Als [! -d "$DIRECTORY"]; vervolgens
svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
fi
CD oscam-svn
svn update
Als [! -d 'build']; vervolgens
# Besturingselement treedt hier als $DIRECTORY niet bestaat.
mkdir te bouwen
fi
CD bouwen
cmake...
maken
systemctl stop oscam
Maak installeren
systemctl herstart oscam
slaap 10
Dit script controleert de nieuwste versie van de online databank, indien er momenteel geen bestaande, of een update voor de meest recente bestanden, zal presteren als het al bestaan, daarna zal proberen om het pakket te maken. Uiteindelijk stopt de actieve versie, zal de nieuw gebouwde versie en uiteindelijk zal de service opnieuw starten.
We kunnen het script testen door te voeren:
/usr/local/bin/oscam_update.sh
Om dit script uitvoeren van tijd tot tijd zal maken we een vermelding aan de Planner van de taak van de cron:
crontab-e
Wij zullen als redacteur, nano, Selecteer desgevraagd en zodra het bestand opent, kunnen we de volgende regels toevoegen:
#update oscam op 04:02, op de 5e dag van de week
2 4 ** 5 /usr/local/bin/oscam_update.sh >/dev/null
Als de server is voortdurend worden ontwikkeld, kan het gebeuren dat er ook sprake zijn van lekken van het geheugen dat systeembronnen in beslag na verloop van tijd nemen. Om op te lossen deze belemmering, maken we een automatische herstart script:
nano /usr/local/bin/oscam_autorestart.sh
Om te kunnen uitvoeren, zullen we de juiste machtigingen instellen:
chmod 755-/usr/local/bin/oscam_autorestart.sh
De inhoud van het bestand:
#! / bin/sh
systemctl stop oscam.service
slaap 5
systemctl start oscam.service
We kunnen het script testen door te voeren:
/usr/local/bin/oscam_autorestart.sh
Om dit script uitvoeren van tijd tot tijd zal maken we een vermelding aan de Planner van de taak van de cron:
crontab-e
en voeg de volgende regels aan:
#restart oscam om 3:54
54 3 *** /usr/local/bin/oscam_autorestart.sh >/dev/null
Vanaf dit punt verder zullen we aannemen dat we een werkende Oscam server op onze raspberry Pi, OR op ons intern netwerk, maar op de andere machine hebben. We zullen dit later om te zien waarom dit is ook ok werken.
Om te descramble de gecodeerde kanalen gebruiken als oscam, die we willen maken van een verbinding tussen de tvheadend server en oscam server.
Tvheadend heeft grote ondersteuning voor CAs (voorwaardelijke toegang); We kunnen vinden dat de instellingen onder de configuratie -> CAs Menubalk IcoFX
Wat is belangrijk voor ons is het newcamd-protocol of het dvbapi-protocol.
Als er slechts één CAID (kaart id – elke provider heeft ten minste één kaart id, maar kan ook meer), dan we ook een newcamd-verbinding tussen tvheadend en oscam gebruiken kon.
Als wij gaan ervan uit dat we graag om meer kanaal van verschillende providers te letten, zullen wij het dvbapi protocol, wijd ondersteund op een kavel van Enigma gebaseerde STB gebruiken.
Voordat we verdergaan, wat kort achtergrondinfo over codering uit wikipedia:
"
Dit wordt bereikt door een combinatie van versluiering en codering. De gegevensstroom wordt gecodeerd met een 48-bits geheime sleutel, genaamd de precisiemodus. Kennen van de waarde van het besturingselement woord op een gegeven moment is van relatief weinig waarde, als onder normale omstandigheden, aanbieders van inhoud de precisiemodus meerdere keren per minuut veranderen zal. Het woord controle wordt automatisch gegenereerd op een zodanige wijze dat de opeenvolgende waarden niet gewoonlijk voorspelbaar zijn; de DVB-specificatie raadt het gebruik van een fysisch proces daarvoor.
Om de ontvanger te decoderen van de gegevensstroom, moet het permanent op de hoogte van de huidige waarde van het besturingselement woord. In de praktijk, moet het worden geïnformeerd iets van tevoren, zodat er geen bekijken onderbreking zou optreden. Codering wordt gebruikt voor het beschermen van de precisiemodus tijdens transmissie naar de ontvanger: de precisiemodus is gecodeerd als een recht besturingsbericht (ECM). De CA-subsysteem in de ontvanger zal decoderen de precisiemodus alleen wanneer toegestaan om dit te doen; die autoriteit wordt verzonden naar de ontvanger in de vorm van een recht beheer bericht (EMM). De EMMs zijn specifiek voor elke abonnee, zoals aangegeven door de smartcard in zijn ontvanger, of groepen van abonnees, en worden uitgegeven veel minder vaak dan ECMs, meestal maandelijkse intervallen. Dit zich blijkbaar niet voldoende om te voorkomen dat onbevoegden, heeft TPS verlaagd dit interval tot ongeveer 12 minuten. Dit kunnen verschillen voor elke provider, BSkyB maakt gebruik van een termijn van 6 weken. Toen Nagravision 2 gehackt, Digital + begonnen met het verzenden van een nieuwe EMM ongeoorloofde Iedere drie dagen om hinderlijker bekijken.
De inhoud van ECMs en EMMs zijn niet gestandaardiseerd en als zodanig zij afhangen van het systeem voor voorwaardelijke toegang wordt gebruikt.
"
Meer info hier kan hier worden gevonden:
https://en.wikipedia.org/wiki/Conditional_access
In een notendop, in de ontvangen inhoud zal er aan de ECM verzenden de kaart geldig abonnement en de decoderingssleutel terug te krijgen. Dit betekent, dat de tvheadend server moet communiceren met de server oscam, dat moet communiceren met de kaartlezer waarin sprake is van een geldig abonnement kaarten. Nu, het deel dat de oscam communicatie met de kaarten en/of externe servers verzorgt zal niet hier worden besproken, het wordt besproken in verschillende forums op het internet.
We moet instellen voor het verzenden van de ECMs en de decoderingssleutels aanvragen bij de server oscam tvheadend. Zoals eerder gezegd, zullen we het dvapi-protocol gebruiken, maar helaas, we hebben meer varianten ook hier:
a) in het verleden de Enigma2 gebaseerd linux ontvangers een socketbeleidsbestand, meestal in de/tmp map met de naam camd.socket gemaakt. Via deze aansluiting de CAM (voorwaardelijke toegang Module) server en de Enigma2 gebaseerd set-top-box gebruikt voor het uitwisselen van gegevens. Dit heeft een nadeel: het CAM-bronprogramma dat nodig worden gecontroleerd op nieuwe gegevens elke keer, dus dit was niet een goed ontwerp. Echter, dit werd gehouden voor leeftijden, en, helaas wordt deze methode veel gebruikt als een voorbeeld op diverse fora. Gelukkig zijn er nu betere manieren, en, zoals ook op de website van tvheadend, de nieuwere versie worden gebruikt: http://docs.tvheadend.org/webui/config_caclient/... Oudere CAM-servers, zoals CCcam ondersteunt alleen deze methode. Modernere CAM-servers, zoals oscam ondersteunt ook de nieuwere en betere methoden.
Helaas, er is ook een oudere tutorial beschikbaar op het internet die de gebruiker verwart.
b) de socketbeleidsbestand was niet een goed ontwerp, als gevolg van de problemen die hierboven worden opgesomd en oscam geïmplementeerd de betere dvbapi-protocollen. Nu, het een TCP/IP gebaseerde client / server-benadering kunt gebruiken (of UDP, maar reeds verouderd) om de communicatie tussen oscam en tvheadend server. In dit geval de server wordt gemaakt op de kant oscam, en tvheadend zal verbinden met het als een klant alleen indien nodig. Daarom is er geen verkiezingen, en het beste deel, het oscam server kan zich in een andere machine dan tvheadend (nog steeds, moet worden op hetzelfde netwerk en geïsoleerd van buitenaf, zoals er geen verificatiemechanisme ten uitvoer gelegd tussen hen is - zo om het even wie verbinding kan maken).
Dit betekent dat zelfs als uw tvheadend-server zich op een andere machine, u kunt aanvragen bij de descrambling sleutels oscam zonder verlies van één hop. Hop zijn onderdeel van de manier waarop de oscam delen werken, ook is niet in beeld van dit document. Als wij gebruiken oscam op de dezelfde framboos willen, moeten we te installeren en te configureren zoals wordt beschreven in het hoofdstuk hierboven.
Als u eenmaal een werkende oscam server op uw netwerk, we overgaan tot het configureren van de verbinding met tvheadend. Dit kan ook worden gedaan vanaf de oscam server web interface manu, maar uiteindelijk moeten we eindigen met de volgende configuratie in het bestand oscam.conf: [dvbapi] ingeschakeld = 1 au = 1 #if u wilt doorgeven EMM gegevens voor abonnement updates pmt_mode = 4 request_mode = 1 listen_port = 9000 gebruiker = dvbapi boxtype = pc
Herstart oscam, en we moeten bereid zijn aan de serverzijde oscam zijn.
Opmerking: Als op een andere machine dan tvheadend we oscam lopen, we hebben om te controleren of de firewall correct configureren zodat de verbindingen van TCP op poort 9000.
Aan tvheadend kant, onder Configuratie -> CAs Menubalk IcoFX we moet toevoegen van een nieuwe klant van de voorwaardelijke toegang, en uit de lijst gekozen CAPMT (Linux DVBAPI).
Hier zullen we moeten instellen tot zoals in de screenshot aangesloten op deze stap.
Uitleg:
-de naam van de cliënt, commentaar kan van alles zijn.
-Mode: dit is het netelige deel. Om de zogeheten mode 5, of de protocolversie 2 gebruiken, moeten we hebben een enigszins nieuw oscam te bouwen. Dit is de ondersteunde manier ook door oscam, andere methoden zullen in de toekomst worden gedropt. Zo is het sterk aanbevolen om de oscam bijwerkt naar een nieuwere versie, niet te vergeten dat er een heleboel kwesties werden behandeld in deze. Als u nog steeds te houden met een oudere versie, kiest u oscam tcp. Het is niet aanbevolen om de oude camd.socket-methode te gebruiken, dus dit zal niet worden beschreven.
-In de screenshot zien we 192.168.1.3, zoals op dat de installatie, de oscam-server op een aparte dedicated server draait, en van de framboos tvheadend is verbinding mee te maken. In ons geval lopen we oscam op dezelfde machine (dat wil zeggen de RPi2), dan zullen we 127.0.0.1 gebruiken als hostname.
-De poort voor luisteren zijn 9000, dit wordt gebruikt in de oscam server. We kunnen omzetten in andere waarde, maar hebben om ervoor te zorgen dat de poort vrij is. Ook hebben wij om ervoor te zorgen dat we veranderen het ook aan de kant van de oscam, anders de verbinding zal niet worden vastgesteld.
Zodra alles is ingesteld, wij de instellingen opslaan en we moeten zien dat de verbinding tot stand is gebracht.
Opmerking:
1) de debug console op de bodem van de pagina elk gewenst moment kan worden geopend en we de output genereert kunt raadplegen.
2) nooit open de 9000 poort naar het WAN, d.w.z. buiten uw lokaal netwerk. Om het even wie verbinding kan maken met het en niet alleen wij zal niet zitten kundig voor verbinden, maar vreemden ook frauduleuze manier gebruiken onze server, of erger, check die we op oscam server worden uitgevoerd.
Zodra dit ingesteld is, moeten wij zitten kundig voor gecodeerde kanalen, kijk op dezelfde manier als wij op uw vak enigma2 gebaseerd doen.