Loading...
OScam jak wgrać - Pełny przewodnik instalacji

OScam jak wgrać - Pełny przewodnik instalacji

Jeśli szukasz sposobu na oscam jak wgrać na swój system, trafiłeś we właściwe miejsce. Instalacja OScam to proces wymagający kilku kroków, ale przy właściwym przewodniku zajmie ci maksymalnie godzinę. Ten artykuł prowadzi cię przez kompilację ze źródeł, konfigurację i testowanie — wszystko co musisz wiedzieć, żeby uruchomić OScam na Linuxie.

Zanim zaczniesz, powinieneś mieć dostęp do serwera lub routera z systemem Linux (Debian, Ubuntu, OpenWrt, Alpine) i podstawową wiedzę z linii poleceń. Proces jest powtarzalny, więc nawet jeśli jesteś nowy w tym obszarze, instrukcje krok po kroku sprawdzą się bez problemów.

Co to jest OScam i dlaczego go wybierać

OScam to otwartoźródłowy emulator kart, napisany w C, zaraz zaadaptowany do pracy z systemami cardsharing. Jego główną zaletą jest lekkość — zużywa mało zasobów procesora i RAM, co czyni go idealnym rozwiązaniem dla routerów, pudełek satelitarnych i serwerów o ograniczonej mocy obliczeniowej.

W ekosystemie cardsharing oscam jak wgrać na własnym systemie to jedno z pierwszych pytań, które sobie zadają użytkownicy. OScam obsługuje protokoły CCcam, Newcamd, Gbox i inne, co daje dużą elastyczność w wyborze źródeł dostępu do treści.

OScam vs inne oprogramowanie CAM

OScam wyróżnia się na tle konkurencji kilkoma cechami. Po pierwsze, jest lekki — na starszym routerze ARM zajmuje około 2-3 MB pamięci operacyjnej. Po drugie, kod źródłowy jest dostępny do sprawdzenia i modyfikacji, co daje poczucie kontroli.

Inne oprogramowanie CAM bywa bardziej zasobożerne lub trudniejsze do skonfigurowania dla początkujących. OScam ma przyzwoitą dokumentację i aktywne forum społeczności, choć musisz wiedzieć, gdzie go szukać bez polegania na gotowych pakietach.

Wymagania systemowe i zależności

OScam działa na większości architektur Linuxa. Obsługiwane są ARM (32 i 64-bit), x86_64, MIPS i inne. Minimalne wymagania to:

  • Procesor: ARM Cortex-A7 lub szybszy, lub odpowiednik x86
  • RAM: 64 MB minimum, 256 MB zalecane
  • Dysk: 50 MB miejsca na instalację + miejsce na logi (100-200 MB)
  • System: Linux z gcc, make, git

Ważne: OScam wymaga bibliotek kryptograficznych (OpenSSL) i opcjonalnie bibliotek PCSC dla czytelników kart. Bez tych zależności kompilacja się nie powiedzie.

Gdzie pobrać źródła OScam

Oficjalne źródła OScam znajdują się w repozytorium git. Nie pobieraj OScam z losowych stron — zawsze sięgaj po źródła z wiarygodnego repozytorium, które możesz sam przejrzeć.

Repozytorium dostępne jest publicznie i zawiera pełny historię zmian od wersji 1.0. Przed pobraniem sprawdź, czy wersja którą pobierasz nie jest nieoficjalnie zmodyfikowana — najlepiej klonuj bezpośrednio ze źródła.

Przygotowanie środowiska do instalacji

Zanim zaczniesz kompilować OScam, musisz przygotować system. To nie zajmie wiele czasu, ale pominięcie któregoś kroku spowoduje błędy kompilacji.

Aktualizacja systemu i menedżera pakietów

Na systemach Debian/Ubuntu:

sudo apt-get update
sudo apt-get upgrade -y

Na OpenWrt:

opkg update

Ta aktualizacja dostosowuje listy pakietów do najnowszych wersji dostępnych w repozytoriach. Następnie zainstaluj niezbędne narzędzia kompilacji.

Instalacja kompilera i bibliotek wymaganych

To jest kluczowy krok. Bez tych pakietów nie skompilasz OScam.

Na Debian/Ubuntu (wszystkie dystrybucje oparte na apt):

sudo apt-get install -y build-essential git libssl-dev libpcsclite-dev pkg-config

Jeśli planujesz obsługę zaawansowanych funkcji (LCD, karty czytnika), dodaj:

sudo apt-get install -y libusb-dev libudev-dev

Na OpenWrt (gdzie pakiety są mniejsze):

opkg install build-essential git libssl libpcsclite-dev

Sprawdź, czy kompilator GCC zainstalował się prawidłowo:

gcc --version

Powinnaś zobaczyć wersję GCC (np. gcc version 10.2.1). Jeśli pojawi się "command not found", coś poszło nie tak — wróć do kroku instalacji build-essential.

Sprawdzenie dostępnego miejsca na dysku

OScam zajmuje niewiele miejsca w ostatecznej formie, ale proces kompilacji tworzy tymczasowe pliki. Zalecam minimum 200 MB wolnego miejsca.

df -h /

Jeśli widzisz mniej niż 200 MB wolnego miejsca, wyczyść stare pakiety lub logi przed instalacją:

sudo apt-get clean
sudo apt-get autoclean

Przygotowanie katalogu instalacyjnego

Utwórz katalog, w którym będzie pobierany i kompilowany OScam. Zazwyczaj jest to /opt lub /usr/local/src:

sudo mkdir -p /opt/oscam
sudo chown $USER:$USER /opt/oscam
cd /opt/oscam

Dzięki zmianie ownership nie będziesz musiał używać sudo podczas klonowania repozytorium. To oszczędza problemów z uprawnieniami plików.

Pobieranie, kompilacja i instalacja OScam

Tu zaczyna się właściwa praca. Zrozumienie każdego kroku pomoże ci rozwiązać problemy, jeśli się pojawią. Oscam jak wgrać prawidłowo zależy od prawidłowego wykonania tych poleceń w dokładnej kolejności.

Klonowanie repozytorium z git

Pobierz najnowsze źródła OScam z oficjalnego repozytorium:

cd /opt/oscam
git clone https://github.com/E2OpenPlugins/oscam.git
cd oscam

Proces klonowania pobiera wszystkie pliki źródłowe (zwykle około 50 MB). Po zakończeniu sprawdź, czy katalog oscam zawiera plik configure i Makefile:

ls -la | grep -E "configure|Makefile"

Jeśli pliki istnieją, jesteś gotów do następnego kroku. Jeśli nie — upewnij się, że git się zainstalował bez błędów.

Konfiguracja opcji kompilacji (./configure)

To jest moment, gdzie decydujesz, które funkcje mają być wkompilowane w OScam. Różne flagi ./configure włączają lub wyłączają obsługę różnych funkcji.

Minimalna konfiguracja z obsługą SSl i protokołów sieciowych:

./configure --prefix=/usr/local --enable-ssl --enable-cccam --enable-newcamd

Pełna konfiguracja (ze wsparciem dla czytelników PCSC i zaawansowanych funkcji):

./configure --prefix=/usr/local \ --enable-ssl \ --enable-cccam \ --enable-newcamd \ --enable-pcsc \ --enable-lcd \ --enable-dvbapi

Flagi oznaczają:

  • --prefix=/usr/local — miejsce instalacji binariów
  • --enable-ssl — obsługa szyfrowania SSL/TLS
  • --enable-cccam — protokół CCcam
  • --enable-newcamd — protokół Newcamd
  • --enable-pcsc — obsługa czytelników kart Smart Card PC/SC
  • --enable-dvbapi — interfejs DVB-API dla kartach tunerów

Configure skrypt najpierw sprawdzi dostępność bibliotek. Jeśli brakuje libssl-dev, zobaczysz błąd typu "checking for OpenSSL... not found". Nie ignoruj takich błędów — wróć do sekcji przygotowania i zainstaluj brakujące pakiety.

Jeśli konfiguracja się powiedzie, na końcu zobaczysz podsumowanie:

OScam version x.xx configured successfully
Installing in /usr/local
...

Kompilacja z make i make install

Kompilacja to proces, który zmienia kod źródłowy (C) w binarny plik wykonywalny. Może potrwać od kilkudziesięciu sekund do kilku minut w zależności od mocy procesora.

make -j4

Flaga `-j4` oznacza kompilowanie na 4 rdzeniach jednocześnie (jeśli masz wiele rdzeni, zwiększ liczbę dla przyspieszenia). Na starszych systemach spróbuj `-j2` lub bez flagi.

Czekaj, aż zobaczysz informację o zakończeniu kompilacji. Zwykle jest to komunikat zawierający "oscam" i rozmiaru w bajtach (np. "oscam (27 MB)"). Jeśli pojawi się błąd, przeczytaj go — zwykle wskazuje, brakuje którego pakietu.

Po pomyślnej kompilacji zainstaluj binarny plik:

sudo make install

To polecenie kopiuje plik oscam do /usr/local/bin/oscam i tworzy niezbędne katalogi konfiguracyjne.

Weryfikacja poprawności instalacji

Sprawdź, czy OScam zainstalował się prawidłowo:

/usr/local/bin/oscam --version

Powinieneś zobaczyć numer wersji, liczbę buildów (SVN/GIT), datę kompilacji i listę włączonych funkcji. Przykład:

OScam 1.20-oe-alliance (svn12345) compiled Jan 1 2024
Features: SSL, CCcam, Newcamd, PCSC, DVB-API, LCD

Jeśli Output pokazuje wersję i funkcje — wszystko jest w porządku. Jeśli pojawi się "command not found" — sprawdź, czy ścieżka /usr/local/bin jest w zmiennej PATH:

echo $PATH

Powinieneś zobaczyć /usr/local/bin na liście. Jeśli nie ma, dodaj ją:

export PATH=$PATH:/usr/local/bin

Ustawianie uprawnień i ownership plików

OScam musi działać z odpowiednimi uprawnieniami. Jeśli uruchamiasz go jako regularny użytkownik (nie root), musisz zmienić ownership na konkretnego użytkownika:

sudo useradd -m -d /var/lib/oscam -s /usr/sbin/nologin oscam

Utwórz katalogi konfiguracyjne z poprawnym ownership:

sudo mkdir -p /etc/oscam /var/log/oscam /var/lib/oscam
sudo chown -R oscam:oscam /etc/oscam /var/log/oscam /var/lib/oscam
sudo chmod -R 755 /etc/oscam /var/log/oscam /var/lib/oscam

Jeśli planujesz dostęp do czytnika kart PCSC, dodaj użytkownika oscam do grupy scard:

sudo usermod -aG scard oscam

Konfiguracja plików oscam.conf, oscam.server i oscam.user

Teraz przychodzi moment, kiedy OScam "nauczysz" jak pracować. Konfiguracja jest sercem całej instalacji. Oscam jak wgrać to jedno, ale bez poprawnej konfiguracji pozostanie bezużytecznym binarnym plikiem.

Struktura i lokalizacja plików konfiguracyjnych

OScam domyślnie szuka plików konfiguracyjnych w /etc/oscam/. Główne pliki to:

  • oscam.conf — główna konfiguracja (porty, protokoły, logowanie)
  • oscam.server — definicje źródeł (karty, serwery CCcam/Newcamd)
  • oscam.user — użytkownicy i grupy dostępu
  • oscam.dvbapi — konfiguracja interfejsu DVB-API (opcjonalnie)

Utwórz te pliki, jeśli nie istnieją:

sudo touch /etc/oscam/{oscam.conf,oscam.server,oscam.user}

Konfiguracja listenera (port, protokół, szyfrowanie)

Listener to część OScam, która nasłuchuje na określonym porcie i protokole, czekając na połączenia od klientów. Konfiguracja listenera w oscam.conf wygląda tak:

[global]
logfile = /var/log/oscam/oscam.log
syslogfile = stdout
debug = 0
nice = 0
maxlog = 50
fallbacktimeout = 2500
failbantime = 0
failbancount = 0
cachedelay = 120
sleep = 100
[monitor]
port = 9000
auLevel = 4
monlevel = 4
hideclient_to = 15
[newcamd]
port = 1234
key = 0102030405060708091011121314151617181920
users = user1

Wyjaśnienie parametrów:

  • logfile — ścieżka do pliku dziennika
  • debug — poziom debugowania (0-255, gdzie 0 to wyłączone)
  • port w sekcji [newcamd] — port nasłuchiwania dla protokołu Newcamd (domyślnie 1234)
  • key — klucz deszyfrujący dla komunikacji Newcamd (16 bajtów heksadecymalnie)
  • users — lista użytkowników mających dostęp do tego listenera

Dla protokołu CCcam dodaj sekcję:

[cccam]
port = 9000
version = 2.2.1
nodeid = 0102030405060708091011121314151617181920
reshare = 2
ignorereshare = 0

Parametry CCcam:

  • version — wersja protokołu CCcam (2.2.1 to popularny standard)
  • nodeid — 20-bajtowy identyfikator węzła (heksadecymalnie)
  • reshare — ile poziomów reshare'u zezwalasz (2 oznacza shareowanie z drugą osobą)

Dodawanie źródeł (readers) - karty, serwery

Sekcja [reader] w oscam.server definiuje, skąd OScam ma pobierać dane — czy z fizycznej karty, czy ze zdalnego serwera.

Przykład czytelnika karty fizycznej (PCSC):

[reader]
label = mycard
protocol = pcsc
device = 0
services = srvid
group = 1
caid = 0100,0500

Parametry:

  • label — nazwa czytelnika (dla logów i raportów)
  • protocol — typ protokołu (pcsc dla Smart Card readers, dvbapi dla tunerów DVB)
  • device — numer urządzenia (0 dla pierwszego czytnika, 1 dla drugiego itd.)
  • group — numer grupy (musi zgadzać się z grupą w oscam.user)
  • caid — identyfikatory CAID karty (0500 dla Viaccess, 0100 dla Seca itp.)

Przykład serwera CCcam (zdalnego źródła):

[reader]
label = remoteserver
protocol = cccam
device = remotehost.example.com,9000
user = share_user
password = share_pass
group = 2
caid = 0500
services = srvid

Dla serwera Newcamd:

[reader]
label = newcamd_source
protocol = newcamd
device = newcamd.example.com,1234
user = newuser
password = newpass
key = 0102030405060708091011121314151617181920
group = 3

Tworzenie użytkowników i grupy dostępu

Plik oscam.user definiuje, kto może się łączyć z OScam i co ma dostęp do jakich kanałów.

[user]
user = user1
pwd = user1_password
group = 1,2
au = 1
services = srvid
uniq = 0
iplimit = 1
maxconnections = 2
monlevel = 1
bandwidth = 0
[user]
user = user2
pwd = user2_password
group = 3
au = 1
services = srvid

Znaczenie parametrów:

  • user, pwd — login i hasło
  • group — grupy dostępu (muszą zgadzać się z grupami w oscam.server)
  • au — poziom autoryzacji (1 to normalny użytkownik)
  • iplimit — limit połączeń z różnych adresów IP (0 = nieograniczony)
  • maxconnections — maksymalna liczba jednoczesnych połączeń dla użytkownika
  • monlevel — dostęp do monitorowania i logów (4 to pełny dostęp)

Ustawianie logów i debugowania

Logi to twoje najlepsze narzędzie diagnostyczne. Ustaw poziom debugowania w oscam.conf:

[global]
logfile = /var/log/oscam/oscam.log
debug = 127

Poziom debug 127 wypisuje informacje o EMM, ECM, połączeniach i błędach. Dla produkcji możesz zmniejszyć do 0 lub 16 (tylko błędy).

Upewnij się, że katalog /var/log/oscam ma poprawne uprawnienia:

sudo chown oscam:oscam /var/log/oscam
sudo chmod 755 /var/log/oscam

Testowanie połączenia i diagnostyka

Przed uruchomieniem OScam w tle jako usługa, przetestuj go w trybie interaktywnym. Dzięki temu zobaczysz błędy na bieżąco i zaoszczędzisz czas na debugowanie.

Uruchomienie OScam w trybie debug

Uruchom OScam z opcją -b (background disabled), co wymuszy wypisywanie logów na konsoli:

sudo -u oscam /usr/local/bin/oscam -c /etc/oscam/ -b

Flagi oznaczają:

  • -c /etc/oscam/ — katalog konfiguracyjny
  • -b — wyłączenie tła (run in foreground)

Jeśli wszystko jest w porządku, zobaczysz komunikaty startowe:

OScam 1.20 starting (pid: 12345)
Loaded config from /etc/oscam/
Reader label "mycard" initialized
Newcamd listener on port 1234 ready
CCcam listener on port 9000 ready
Ready for clients

Jeśli pojawi się błąd typu "Port 9000 already in use", oznacza to, że inny proces nasłuchuje na tym porcie. Zmień port w oscam.conf lub zabij istniejący proces:

sudo lsof -i :9000
sudo kill -9 <PID>

Sprawdzenie logów w pliku oscam.log

Gdy OScam działa, otwórz drugie okno terminala i monitoruj logi na żywo:

sudo tail -f /var/log/oscam/oscam.log

Szukaj wpisów zawierających:

  • "EMM processed" — karty lub serwery wysyłają dane autoryzacyjne
  • "ECM request" — klienci proszą o deszyfrrowanie
  • "Successfully decoded" — decoding przebiegł pomyślnie
  • "Connection from" — nowy klient się połączył

Przykład poprawnych logów:

[2024-01-15 14:23:45] OScam started
[2024-01-15 14:23:46] Reader 'mycard' initialized (PCSC)
[2024-01-15 14:23:47] Newcamd listener ready on port 1234
[2024-01-15 14:23:48] CCcam listener ready on port 9000
[2024-01-15 14:25:00] EMM received from reader mycard (20 bytes)
[2024-01-15 14:25:15] ECM request from 192.168.1.100:45678
[2024-01-15 14:25:15] Successfully decoded in 234ms

Błędy mogą wyglądać tak:

[2024-01-15 14:23:45] ERROR: Cannot open reader device
[2024-01-15 14:23:46] ERROR: Port 1234 already in use
[2024-01-15 14:25:00] ERROR: Failed to decrypt ECM (no valid key)

Test połączenia od klienta (netcat, telnet)

Aby przetestować, czy listener nasłuchuje prawidłowo, użyj netcat:

nc -zv 127.0.0.1 1234
nc -zv 127.0.0.1 9000

Jeśli połączenie się powiedzie, zobaczysz "succeeded" lub "Connection to 127.0.0.1 port 1234 [tcp/*] succeeded". Jeśli się nie powiedzie, sprawdź, czy OScam rzeczywiście nasłuchuje:

sudo netstat -tlnp | grep oscam

Powinieneś zobaczyć linie zawierające port 1234 i 9000 z procesem "oscam".

Monitorowanie zasobów systemowych

Sprawdź zużycie zasobów przez OScam:

ps aux | grep oscam

Typowe wyjście:

oscam 12345 0.5 2.3 128456 12345 ? Ss 14:23 0:05 /usr/local/bin/oscam -c /etc/oscam/

Kolumny oznaczają: użytkownik, PID, %CPU, %MEM, wirtualna pamięć, rzeczywista pamięć, czas startu. Jeśli %CPU jest konsekwentnie powyżej 50%, coś nie działa prawidłowo (zwykle słaby sprzęt lub pętla nieskończona).

Sprawdzić również limit liczby otwartych plików:

sudo cat /proc/12345/limits | grep "open files"

Rozwiązywanie typowych problemów startowych

Jeśli OScam nie startuje, sprawdź te rzeczy w kolejności:

Problem: "oscam: command not found" — Binarny plik nie znajduje się w PATH. Sprawdź:

ls -la /usr/local/bin/oscam

Jeśli plik istnieje, dodaj /usr/local/bin do PATH lub uruchom pełną ścieżkę.

Problem: "Permission denied" przy uruchomieniu — Uprawnienia binariusza są za restrykcyjne:

sudo chmod 755 /usr/local/bin/oscam

Problem: "Cannot open config directory" — Katalog /etc/oscam nie istnieje lub użytkownik oscam nie ma dostępu:

sudo mkdir -p /etc/oscam
sudo chown oscam:oscam /etc/oscam
sudo chmod 755 /etc/oscam

Problem: "Port already in use" — Port nasłuchiwania zajęty przez inny proces:

sudo lsof -i :9000
sudo kill <PID>

Albo zmień port w oscam.conf.

Problem: "Failed to load SSL certificates" — Brakuje biblioteki OpenSSL lub jest zainstalowana zła wersja:

ldd /usr/local/bin/oscam | grep ssl

Powinieneś zobaczyć "libssl.so" z wersją. Jeśli jest "not found", zainstaluj libssl-dev i przebuduj OScam.

Problem: Logi nie pojawiają się w oscam.log — Katalog logów nie istnieje lub nie ma uprawnień zapisu:

sudo mkdir -p /var/log/oscam
sudo chown oscam:oscam /var/log/oscam
sudo chmod 755 /var/log/oscam

Po naprawieniu któregoś z tych problemów spróbuj uruchomić OScam ponownie w trybie debug.

Tworzenie usługi systemd i uruchamianie przy starcie systemu

Aby OScam uruchamiał się automatycznie po restarcie systemu, utwórz jednostkę systemd.

Utwórz plik /etc/systemd/system/oscam.service:

sudo tee /etc/systemd/system/oscam.service > /dev/null <<EOF
[Unit]
Description=OScam - Open Source CA Module
After=network.target
[Service]
Type=simple
User=oscam
Group=oscam
WorkingDirectory=/var/lib/oscam
ExecStart=/usr/local/bin/oscam -c /etc/oscam/
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

Włącz i uruchom usługę:

sudo systemctl daemon-reload
sudo systemctl enable oscam
sudo systemctl start oscam

Sprawdź status:

sudo systemctl status oscam

Powinieneś zobaczyć "active (running)". Jeśli OScam padnie, systemd automatycznie go restartuje po 10 sekundach (parametr RestartSec).

Aktualizacja i utrzymanie OScam

OScam jest regularnie aktualizowany. Aby zaktualizować do najnowszej wersji:

cd /opt/oscam/oscam
git pull origin master
./configure --prefix=/usr/local --enable-ssl --enable-cccam --enable-newcamd --enable-pcsc
make clean
make -j4
sudo make install
sudo systemctl restart oscam

Komenda `git pull` pobiera najnowsze zmiany z repozytorium. `make clean` czyści stare obiekty kompilacji, co zapobiega konfliktom. Po reinstalacji systemctl restartuje OScam z nową wersją.

Sprawdź wersję po aktualizacji:

/usr/local/bin/oscam --version

Obsługa wielu instancji OScam na jednym systemie

Jeśli chcesz uruchomić kilka niezależnych instancji OScam (np. dla różnych użytkowników lub konfiguracji), musisz zadbać o izolację katalogów konfiguracyjnych i portów.

Utwórz oddzielne katalogi:

sudo mkdir -p /etc/oscam-1 /etc/oscam-2
sudo mkdir -p /var/log/oscam-1 /var/log/oscam-2

Każda instancja musi mieć własne pliki oscam.conf z różnymi portami:

# /etc/oscam-1/oscam.conf
[newcamd]
port = 1234
# /etc/oscam-2/oscam.conf
[newcamd]
port = 1235

Utwórz oddzielne usługi systemd dla każdej instancji (oscam-1.service, oscam-2.service), zmieniając flagę `-c` na odpowiedni katalog konfiguracyjny.

Jaka jest różnica między ./configure i bezpośrednią kompilacją bez opcji?

Skrypt ./configure przygotowuje proces kompilacji, sprawdzając dostępność bibliotek i włączając/wyłączając funkcje na podstawie flag. Bez configure kompilacja może się nie powieść, jeśli brakuje zależności lub będzie zawierać tylko domyślnie włączone funkcje. Na przykład, bez `--enable-ssl` OScam nie będzie obsługiwać szyfrowania, a bez `--enable-pcsc` nie będzie mogła czytać kart Smart Card. Minimalny configure (bez flag) da ci binarny plik, ale pozbawiony wielu funkcji. Pełny configure z wszystkimi flagami daje maksymalną elastyczność, ale binarny plik będzie większy (kilka MB vs kilkadziesiąt KB).

Jak zainstalować OScam na routerze OpenWrt?

OpenWrt używa menedżera pakietów opkg, a nie apt. Architektura procesora jest kluczowa — OpenWrt obsługuje ARM, MIPS, x86 i inne. Najpierw sprawdź architekturę routera: `uname -m`. Potem pobierz wstępnie skompilowany binarny OScam dla twojej architektury lub kompiluj ze źródeł krzyżowo (cross-compile). Ścieżki w OpenWrt różnią się od Debiana: konfiguracja idzie do /etc/oscam/ (jeśli /etc jest persystentne) lub /tmp/oscam (jeśli transient). Logi mogą być pisane do /tmp ze względu na ograniczenia pamięci. Ważne: upewnij się, że masz wystarczającą ilość wolnego miejsca w /tmp lub na partycji danych routera.

Mogę zainstalować OScam na Windows?

OScam jest natywnym oprogramowaniem Linuxa, ale możesz uruchomić go na Windows za pośrednictwem pośrednika. Opcje: (1) WSL2 (Windows Subsystem for Linux 2) — zainstaluj dystrybucję Linuxa (Ubuntu, Debian) na Windows 10/11 i postępuj standardowo; (2) Cygwin — emulator Unix dla Windows, ale ma ograniczenia i jest wolniejszy; (3) VirtualBox lub Hyper-V — maszyna wirtualna z pełnym Linuxem. WSL2 to najproste rozwiązanie dla większości użytkowników Windows. Jednakże production deployment na Windows nie jest zalecany — Linuxy (serwery, routery) są preferowaną platformą.

Co zrobić jeśli przy kompilacji pojawia się błąd 'libssl-dev not found'?

Ten błąd oznacza, że nagłówki biblioteki OpenSSL (development headers) nie są zainstalowane. Zainstaluj je: na Debian/Ubuntu: `sudo apt-get install libssl-dev`; na CentOS/RHEL: `sudo yum install openssl-devel`; na Alpine: `apk add openssl-dev`. Po instalacji uruchom configure ponownie. Jeśli wciąż pojawia się błąd, sprawdź, czy wersja OpenSSL jest kompatybilna: `openssl version`. OScam wspiera OpenSSL 1.0.1 i nowsze. Jeśli masz zainstalowaną starą wersję (pre-2016), może być problem z kompatybilnością — musisz zaktualizować OpenSSL.

Jak zmienić port nasłuchiwania OScam bez restartowania?

Niestety, zmiana portu w oscam.conf wymaga restartu OScam — gorący reload (hot reload) nie jest obsługiwany dla słuchaczu portów. Aby zmienić port, edytuj oscam.conf, zapisz i restartuj: `sudo systemctl restart oscam`. Jeśli chcesz minimalizować przestoje, możesz: (1) uruchomić drugą instancję OScam na nowym porcie (patrz sekcja o wielu instancjach); (2) użyć proxy/forwarder (np. socat) do временно routowania ruchu na stary port do nowego; (3) zaplanować zmianę portu w oknie serwisowym. W każdym razie restart trwa zwykle mniej niż sekundę, więc wpływ jest minimalny.

Jakie są minimalne wymagania sprzętowe dla OScam?

OScam jest lekkim oprogramowaniem. Minimalne wymagania: procesor ARM Cortex-A7 (lub x86 550 MHz+), RAM 64 MB, dysk 50-100 MB (plus miejsce na logi). W praktyce działa na bardzo starych routerach (z 2008-2010). Dla deploymentu na serwerze: 1 GHz CPU, 256 MB RAM, 1 GB dysku wystarczą na obsługę setek równoczesnych połączeń. Zużycie zasobów rośnie liniowo z liczbą połączeń (każde połączenie to ~1-2 MB pamięci). Na routerze z 256 MB RAM możesz obsługiwać 50-100 klientów; na serwerze z 4 GB RAM — tysiące.

Gdzie znaleźć dokumentację do pliku oscam.conf?

Oficjalna dokumentacja OScam znajduje się w repozytrium GitHub w katalogu `doc/` oraz w man pages. Po instalacji: `man oscam.conf` wyświetla opis wszystkich parametrów. W internecie dostępne są również przykłady konfiguracji na forach społeczności (szukaj "oscam.conf example"). Najlepsze źródła: (1) man page — `man oscam` i `man oscam.conf`; (2) README w repozytorium GitHub; (3) komentarze w przykładowych plikach (zwykle dołączane z kodem źródłowym). Unikaj starych poradników sprzed 2015 roku — mogą zawierać nieaktualną składnię.

Jak sprawdzić, czy moja karta działa prawidłowo z OScam?

Uruchom OScam w trybie debug (`oscam -c /etc/oscam/ -b`) i obserwuj logi w realtime (`tail -f /var/log/oscam/oscam.log`). Szukaj: (1) komunikatów "Reader initialized" dla twojej karty; (2) linii zawierających "EMM" — oznacza, że karta wysyła dane; (3) brak błędów "Smart card not found" lub "PCSC error". Jeśli widzisz EMM, karta działa. Możesz również testować dekodowanie — zaconnectuj się klientem i poproś o kanał; jeśli zobaczysz "ECM decoded" w logach, wszystko jest OK. Jeśli karta nie wysyła EMM, sprawdź: czytelnik PCSC (uruchom `pcsc_scan`), połączenia fizyczne (karta jest wstawiona?), sterowniki Smart Card.