Format linii CCcam.cfg: C-Line, D-Line& Wyjaśnienie F-Line
Jeśli masz otwarty plik CCcam.cfg i patrzysz na linię, którą ktoś ci podał na forum, próbując ustalić, która część to hasło, a która to flaga — to jest dla ciebie. To rozbicie formatu linii cccam.cfg: wyjaśnienie c-line d-line f-line obejmuje każde pole, w kolejności, z trybami błędów, które rzeczywiście występują, gdy jedno z nich jest błędne.
Spędziłem dużo czasu w tych plikach konfiguracyjnych, głównie o 1 w nocy, próbując ustalić, dlaczego "połączony" peer nie serwował żadnych kart. Więc to nie jest teoria. To rzeczy, które naprawdę sprawiają ludziom problemy, pole po polu.
Jak jest analizowany CCcam.cfg: Typy linii, kolejność i zasady składni
CCcam.cfg to płaski plik tekstowy. Brak sekcji, brak zagnieżdżeń, brak nawiasów w stylu JSON, z wyjątkiem bloków sharelimit, do których przejdziemy. Każda linia zaczyna się od litery i dwukropka, a ta litera mówi parserowi, jaką rolę odgrywa linia: C dla połączenia klienta wychodzącego, F dla konta przychodzącego, które oferujesz komuś innemu, N dla newcamd, D dla typu linii z przeszłości, którego prawie nigdy nie potrzebujesz, oraz garstki globalnych opcji, które nie mają prefiksu literowego, zapisanych jako KLUCZ : wartość./var/etc/CCcam.cfg. W ogólnych wersjach Linuxa często jest to po prostu/etc/CCcam.cfg. Sprawdź oba, zanim założysz, że box nie odczytuje twoich edycji — straciłem czas edytując niewłaściwą kopię więcej niż raz.
Oto część, której prawie nikt ci nie mówi wprost: CCcam odczytuje ten plik dokładnie raz, przy uruchomieniu. Nie ma sygnału przeładowania, nie ma obsługi SIGHUP, nic. Jeśli edytujesz plik, gdy CCcam działa, nic się nie dzieje, dopóki nie zabijesz i nie uruchomisz procesu ponownie. Standardowy wzór to:
killall -9 CCcam&& CCcam -C /var/etc/CCcam.cfg
Na większości obrazów istnieje skrypt start/stop softcam, który to dla ciebie opakowuje — użyj go, jeśli istnieje, ale wiedz, co robi pod spodem.
System prefiksów typu linii i dlaczego dwukropek ma znaczenie
Prefiks litera-dwukropek nie jest dekoracyjny.C:,F:,N:,D:,L:,M: — każdy odpowiada konkretnej gałęzi parsera. Jeśli wpiszeszC bez dwukropka, lub dwukropek zostanie w jakiś sposób uszkodzony, parser nie zgłosi błędu. Po prostu nie rozpoznaje linii jako niczego i przechodzi dalej. To jest, szczerze mówiąc, największa przyczyna zgłoszeń "Dodałem linię i nic się nie stało". Nie ma komunikatu w logach, nie ma ostrzeżenia. Linia jest po prostu niewidoczna dla CCcam.# i parser toleruje je dobrze, wraz z wiodącymi białymi znakami i tabulatorami między polami — CCcam dzieli pola na białe znaki ogólnie, więc dodatkowe spacje między polami zazwyczaj niczego nie psują. Co psuje rzeczy, to białe znaki wewnątrz pola, co prowadzi mnie do następnego problemu.
Białe znaki, niewidoczne znaki i pułapka kopiuj-wklej
Jeśli skopiowałeś linię ze strony internetowej lub z PDF-a, istnieje realna szansa, że przenosi ona nieczytelne znaki, których nie możesz zobaczyć. Niezłomne spacje (U+00A0) wyglądają identycznie jak normalna spacja w większości edytorów tekstu, ale parser nie traktuje ich jako separatora pól, a jeśli jedna znajdzie się wewnątrz twojego pola hasła, autoryzacja po prostu zawiedzie — cicho, bez użytecznego błędu. Ta sama historia z zakończeniami linii CRLF z pliku, który ktoś edytował na Windows: końcowy\r jest traktowane jako część pola, które je poprzedza, zazwyczaj hasła.
cat -A /var/etc/CCcam.cfg | head
Zakończenia CRLF pojawiają się jako^M na końcu każdej linii. Niezłomne spacje i inteligentne cudzysłowy z strony internetowej zazwyczaj pokazują się jakoM-BM- sekwencje. Jeśli zobaczysz którąkolwiek z nich, uruchomdos2unix na pliku, lub po prostu przepisz dotkniętą linię ręcznie zamiast ufać wklejaniu.
Czułość na wielkość liter i dlaczego CCcam to ślepy zaułek na dłuższą metę
Nazwy użytkowników i hasła są czułe na wielkość liter, zawsze. W formacie pliku nie ma mechanizmu cytowania, więc nazwa użytkownika lub hasło z spacją po prostu nie jest możliwe — parser podzieli to na dwa pola, a wszystko po tym się łamie.
Linia C: Łączenie Twojego urządzenia z zdalnym serwerem
Prawdopodobnie dlatego tu jesteś, więc przejdźmy do rzeczy. Kanoniczna linia C wygląda tak:
C: server.example.net 12000 myusername mypassword
Cztery obowiązkowe pola, oddzielone spacjami, w tej dokładnej kolejności.
Szczegółowe omówienie pól
Host — FQDN lub czysty adres IPv4. To jest pierwsze miejsce, w którym ludzie się palą, i wyjaśnię dlaczego za chwilę.
Port — dowolny port TCP wybrany przez osobę prowadzącą serwer. Nie ma zarezerwowanego portu CCcam. Zobaczysz, że 12000-13000 jest często używane z przyzwyczajenia, ale to tylko nawyk, a nie standard. Użyj tego, co powie Ci operator serwera.
Nazwa użytkownika ihasło — czułe na wielkość liter, tekst jawny, bez cytowania. Spacja na końcu któregokolwiek pola, co zdarza się nieustannie, gdy ludzie wklejają z strony internetowej, łamie uwierzytelnienie i nie daje żadnego użytecznego wskazania dlaczego.
Opcjonalne pole 5 i 6: flagi EMU
Poza czterema obowiązkowymi polami, niektóre wersje akceptują piąte pole kontrolujące zachowanie EMU/wantemus oraz szóste dla powiązanej flagi. Będę z Tobą szczery: dokładna semantyka tych pól różniła się między wersjami 2.1.x, 2.2.x i 2.3.x, a ja widziałem sprzeczne zachowanie zgłaszane w różnych obrazach. Chyba że operator serwera wyraźnie powie Ci, aby ustawić jedno z nich, najbezpieczniejszym posunięciem jest całkowite ich pominięcie i pozwolenie na zastosowanie domyślnych ustawień. Zgadywanie tych pól powoduje więcej problemów, niż rozwiązuje.
Blok sharelimit
Często zobaczysz linię C z blokiem w nawiasach klamrowych dołączonym na końcu:
C: server.example.net 12000 myusername mypassword { 0100:000068:2, 0500:032830:1 }
Każdy wpis to CAID:ident:sharelimit. Liczba na końcu to maksymalna głębokość skoku, którą jesteś gotów zaakceptować dla kart pasujących do tej pary CAID/ident. Wartość 0 oznacza "lokalne karty tylko na tym serwerze, nie przekazuj niczego, co otrzymali od kogoś innego." To ma ogromne znaczenie dla jakości linii — wrócę do głębokości skoku później, ale krótka wersja jest taka, że karta hop-1 jest zasadniczo bardziej niezawodna niż karta hop-4, a ten blok to sposób, w jaki wymuszasz ten sufit po swojej stronie.
Nazwa hosta vs IP, i pułapka DDNS, o której nikt nie wspomina
Oto rzecz, która nieustannie łapie ludzi i której prawie żadna inna strona na ten temat nie omawia właściwie: CCcam rozwiązuje nazwę hosta w linii C dokładnie raz, przy uruchamianiu. Jeśli serwer Twojego partnera znajduje się za dynamiczną nazwą DNS i ich IP zmienia się po tym, jak proces CCcam już się rozpoczął, Twoje połączenie będzie ciągle nieudane — w nieskończoność — aż do ponownego uruchomienia CCcam. Nie rozwiąże się ponownie samodzielnie, nigdy, niezależnie od tego, jak długo czekasz. Jeśli wcześniej działająca linia C nagle przestaje się łączyć i zweryfikowałeś, że dane uwierzytelniające są w porządku, warto to sprawdzić przed czymkolwiek innym. Po prostu uruchom ponownie CCcam i zobacz, czy złapie nowe IP.
Weryfikacja, czy linia C rzeczywiście działa
Nie wklejaj po prostu linii i nie miej nadziei. Pracuj przez to warstwami:
Najpierw sprawdź, czy port jest w ogóle osiągalny, z samego urządzenia — nie z laptopa w innej sieci, ponieważ NAT na poziomie operatora i blokady na poziomie ISP mogą sprawić, że port wygląda na otwarty z jednej sieci i zamknięty z innej:
nc -vz server.example.net 12000
Jeśli to się połączy, otwórz interfejs webowy CCcam, który domyślnie działa na porcie 16001 (można go skonfigurować za pomocą dyrektywy WEBINFO LISTEN PORT) —http://<box-ip>:16001. Pokaże, czy peer jest połączony i, co najważniejsze, ile kart faktycznie ci wysyła. "Połączony" i "wysyłanie kart" to dwa zupełnie różne stany, a ich pomieszanie marnuje dużo czasu na debugowanie.
W logach zobaczysz kilka wyraźnych komunikatów, z których każdy oznacza coś innego: "połączenie nieudane" to problem z siecią/zaporą, a nie z danymi uwierzytelniającymi. "Połączenie zamknięte przez serwer" prawie zawsze oznacza, że serwer odrzucił twoją autoryzację lub konto jest wyłączone. A "brak kart" oznacza, że autoryzacja powiodła się, ale serwer odesłał pustą listę udostępnionych kart — co jest zupełnie innym problemem, omówionym w sekcji debugowania poniżej.
Jedna rzecz, którą warto wyraźnie zaznaczyć: C-line jest tylko wychodząca. Nie otwiera portu nasłuchującego na twoim urządzeniu, więc nie potrzebuje przekierowania portu, żadnej reguły NAT, nic na twoim routerze. Jeśli nie otrzymujesz kart, problem nigdy nie polega na "zapomniałem przekierować port dla mojej C-line" — to jest problem F-line.
Wiele C-line'ów i priorytet
Możesz mieć tyle C-line'ów, ile chcesz w jednej konfiguracji. CCcam spróbuje połączyć się ze wszystkimi i pobrać karty z tych, które odpowiedzą, łącząc pule udostępniania. Nie ma ścisłego pola priorytetu — to nie jest "spróbuj tego najpierw, a potem przejdź do drugiego". Jeśli dwie C-line'y oferują ten sam CAID/ident, CCcam wybiera na podstawie wewnętrznej logiki routingu (ogólnie faworyzując mniejszą liczbę skoków i lepszy czas odpowiedzi ECM), a nie kolejności linii w pliku.
F-Line: Udostępnianie kart innym z twojego urządzenia
Jeśli C-line to ty konsumujący karty kogoś innego, F-line to odwrotność: to konto na twoim urządzeniu, które pozwala C-line'owi kogoś innego połączyć się i pobrać karty od ciebie. Forma kanoniczna:
F: peeruser peerpass 1 0
Pole po polu, i dwa numery, które wszyscy mylą
Pola 1 i 2 to nazwa użytkownika i hasło, które ten peer użyje w swojej własnej C-line, aby się z tobą połączyć. Pola 3 i 4 to miejsca, w których ludzie konsekwentnie się mylą, więc bądźmy bardzo bezpośredni:
Pole 3 — uphops. To reguluje, co dajesz. To, jak głęboko w swoim własnym drzewie kart ten peer ma prawo sięgać. 0 oznacza, że widzi tylko karty lokalne dla twojego urządzenia. 1 oznacza, że widzi również karty, które pobierasz z jednego skoku w dół — tzn. karty z twoich własnych połączeń C-line. 2 i wyżej kaskaduje dalej, i to właśnie tutaj drzewa udostępniania zamieniają się w pętle, jeśli dwa peery są również źródłem upstream dla siebie nawzajem.
Pole 4 — downhops. To reguluje, co bierzesz. To, ile skoków własnych kart peera jesteś gotów zaakceptować od nich.
Mów to wprost: uphops to to, co dajesz, downhops to to, co bierzesz. Klasyczny błąd początkującego to ustawienie uphops na 5 "żeby być hojnym" wobec nowego peera. To nie czyni cię hojnym, zalewa całą rzekę udostępniania kartami oddalonymi o kilka skoków od ich źródła, i to rodzaj rzeczy, która sprawia, że peer jest cicho banowany przez wszystkich innych w sieci za pogarszanie jakości udostępniania.
Filtracja udostępniania per-peer
Ta sama składnia z klamrami jak w C-line, ale tutaj ogranicza, co ten konkretny peer ma prawo otrzymać:
F: peeruser peerpass 1 0 { 0100:000068, 0500:032830 }
Nie ma wyraźnej składni "deny" w CCcam.cfg — model to pozwolenie przez listę. Jeśli CAID/ident nie znajduje się w bloku, ten peer go nie dostaje. Całkowicie pomiń blok, a oni dostają wszystko, co pozwala twoje ustawienie uphops.
F-line'y potrzebują portu nasłuchującego — to tutaj ludzie utknęli
F-line nic nie robi sama w sobie, jeśli twoje urządzenie nie akceptuje faktycznie połączeń przychodzących. Musisz mieć globalną dyrektywę obecna w tej samej konfiguracji:
SERVER LISTEN PORT : 12000
I ten port musi być faktycznie otwarty — przekierowany przez tabelę NAT twojego routera, jeśli jesteś za jednym, i nie zablokowany przez żadną regułę zapory na samym urządzeniu. Twój peer również potrzebuje sposobu, aby się z tobą skontaktować: statyczny IP lub hostname DDNS, który wprowadza do swojej własnej C-line. Jeśli którakolwiek strona tej pary znajduje się za NAT klasy operatorskiej — co jest coraz bardziej powszechne w połączeniach mobilnych i niektórych dostawcach światłowodowych — F-line peera jest niedostępna, niezależnie od tego, co robisz na routerze, ponieważ nie ma publicznego IP, na które można by przekierować port w pierwszej kolejności.
Jedna F-line na peera, inaczej dostaniesz pętlę rozłączeń
Nie przekazuj tych samych danych F-line dwóm różnym osobom. CCcam domyślnie pozwala na jedną aktywną sesję na nazwę użytkownika, więc jeśli dwa urządzenia próbują jednocześnie używać tego samego konta, każde nowe połączenie odrzuca poprzednie. Rezultat wygląda jak niestabilna linia, która ciągle się rozłącza, gdy rzeczywistą przyczyną są dwie osoby walczące o jedno logowanie. To naprawdę powszechny tryb awarii i łatwo to przeoczyć, ponieważ obie osoby będą zapewniać, że ich własna konfiguracja jest w porządku — a indywidualnie, jest.
Globalne opcje ALLOW TIMEOUT i ALLOW CONNECT mogą dodatkowo ograniczać, kiedy F-line'y są akceptowane (ograniczenia czasowe, limity ponownych prób połączenia), a dokładne zachowanie wokół MAXCONNECTIONS różni się nieco w zależności od wersji, więc sprawdź, co twoja konkretna wersja obsługuje, zanim założysz, że ustawienie działa.
D-Line i N-Line: DVN, Newcamd i linie, które ludzie mylą
Chcę być z tobą szczery na temat D-line, ponieważ większość stron omawiających ten temat po prostu wymyśla definicje pól, aby zająć miejsce, a ja nie zamierzam tego robić.
Czym właściwie jest D-line
W ekosystemie CCcam, D-line była linią klienta protokołu DVN. Jest w zasadzie przestarzała. W wersjach 2.3.x, które stanowią w zasadzie wszystko, co nadal działa dzisiaj, prawie nigdy nie napiszesz jednej, a nowoczesny CCcam nie używa jej w znaczący sposób. Jeśli ktoś wręczy ci coś, co nazywają "D-line", to najprawdopodobniej jest to jedna z dwóch rzeczy: błędnie oznaczona C-line lub linia przeznaczona dla zupełnie innej aplikacji softcam, która przypadkowo używa litery D do czegoś niezwiązanego. Nie zamierzam wymyślać semantyki pole po polu dla typu linii, który nie jest aktywnie używany — jeśli naprawdę musisz pracować z jednym, zweryfikuj to w odniesieniu do konkretnego softcamu i wersji, która faktycznie analizuje twój plik, ponieważ zgadywanie tutaj zmarnuje twój czas.
N-line: co naprawdę potrzebujesz dla serwerów newcamd
To jest prawdziwe, aktualne i warto to znać, ponieważ to linia, której potrzebujesz, gdy serwer po drugiej stronie mówi newcamd zamiast protokołu CCcam. Pełna forma:
N: server.example.net 34000 username password 01 02 03 04 05 06 07 08 09 10 11 12 13 14
Host, port, nazwa użytkownika, hasło — ta sama idea co w C-line do tej pory. Następnie ciąg czternastu par bajtów szesnastkowych, oddzielonych spacjami. To klucz konfiguracyjny DES. Musi mieć dokładnie czternaście bajtów. Jeśli jest krótki — trzynaście bajtów lub piętnaście — CCcam nadal zaakceptuje linię bez skargi, ale sesja połączy się, a następnie natychmiast rozłączy. To wygląda dokładnie jak odrzucenie autoryzacji w logach, i łatwo spędzić czas na podwójnym sprawdzaniu poprawnej nazwy użytkownika i hasła, gdy rzeczywistym problemem jest klucz z niewłaściwą liczbą bajtów.
L-line i M-line: stare prefiksy wciąż krążące
Czasami zobaczysz linie z prefiksem L: i M: w starszych konfiguracjach pobranych z legacy images. Te odnoszą się do lokalnego czytnika kart i obsługi multi-CAM z wcześniejszych er CCcam. Są rzadkie w cokolwiek aktywnie utrzymywanego dzisiaj — jeśli znajdziesz jedną w konfiguracji, którą odziedziczyłeś, warto sprawdzić, czy nadal robi coś w twojej obecnej wersji, zanim założysz, że ma to znaczenie.
Mapowanie do OScam, ponieważ większość ludzi ostatecznie tu trafia
Jeśli migrujesz z CCcam — a prawdopodobnie powinieneś to zrobić w pewnym momencie — koncepcje mapują się czysto, po prostu do innej struktury plików. OScam dzieli rzeczy na/etc/tuxbox/config/oscam.conf,oscam.server, ioscam.userzamiast jednego płaskiego pliku.
| CCcam.cfg | Odpowiednik OScam |
|---|---|
| C-linia | blok [reader] w oscam.server z protokołem = cccam |
| F-linia | blok [account] w oscam.user, plus odpowiadający wpis cccam w oscam.conf |
| N-linia | blok [reader] w oscam.server z protokołem = newcamd i kluczem = linia |
OScam daje ci rzeczywiste strukturalne logowanie na czytnikach, co — po latach niemal bezgłośnych awarii CCcam — jest naprawdę ulgą, gdy po raz pierwszy to zobaczysz.
Debugowanie linii, która nie chce się połączyć: drzewo decyzyjne
Pracuj przez to w kolejności. Nie przeskakuj — każda warstwa wyklucza kategorię problemu, zanim stracisz czas na następną.
Warstwa 1: czy port jest w ogóle osiągalny?
Z samego urządzenia, nie z laptopa:
nc -vz server.example.net 12000
Jeśli to się nie powiedzie, przestań. Zawartość linii jest nieistotna — masz problem z siecią, a nie z konfiguracją. Sprawdź zasady zapory, przekierowania portów i czy serwer jest rzeczywiście uruchomiony. tcpdump na urządzeniu może potwierdzić, czy pakiety w ogóle wychodzą, jeśli wynik nc wydaje się niespójny.
Warstwa 2: czy peer w ogóle widzi twoją próbę?
Jeśli port jest osiągalny, ale połączenie nadal nie działa, poproś peera o sprawdzenie swojego logu w poszukiwaniu twojej próby połączenia. Jeśli w ogóle się nie pojawia, prawdopodobnie trafiasz na inny port lub IP, niż myślisz — sprawdź pod kątem literówek i wyklucz DDNS rozwiązujące do przestarzałego IP, jeśli twoja C-linia działa od jakiegoś czasu (pamiętaj, CCcam rozwiązuje tylko przy uruchomieniu).
Warstwa 3: połączono, ale zero kart
To jest mylące i to najczęstsze pytanie wsparcia, jakie widziałem. Interfejs internetowy pokazuje Połączono, ale nic nie dostajesz. W kolejności prawdopodobieństwa:
Wpis F-linii peera dla twojego konta ma ustawione uphops na 0, a oni po prostu nie mają lokalnych kart, aby ci je wysłać — nic złego po twojej stronie. Lub twoja własna C-linia ma blok sharelimit filtrujący na CAID, którego serwer nawet nie obsługuje, więc wszystko jest cicho odrzucane przez twój własny filtr. Lub, rzadziej, serwer naprawdę nie ma niczego pasującego do CAID-ów, które jest gotowy wysłać. Sprawdź najpierw blok sharelimit na swojej C-linii — to jest coś, co kontrolujesz, i łatwo tu o literówkę.
Warstwa 4: karty obecne, ale kanał wciąż czarny
Karty są widoczne w interfejsie internetowym, połączenie jest zdrowe, a ty wciąż masz czarny ekran. Porównaj CAID i identyfikator dostawcy, które twój odbiornik zgłasza dla tego kanału, z tym, co jest rzeczywiście wymienione na liście kart w interfejsie internetowym. Karta dla CAID 0500 ident 032830 nigdy nie odszyfruje kanału potrzebującego CAID 0100 ident 000068 — połączenie będące "zdrowym" nie mówi nic o tym, czy to właściwa karta. To również zdarza się z pasującym CAID/ident, ale inną podgrupą dostawcy pod spodem, która wygląda identycznie na liście kart, ale wciąż nie odszyfruje.
Warto również sprawdzić tutaj: czas odpowiedzi ECM. Jeśli czas odpowiedzi ECM karty wynosi powyżej około 800 ms, zobaczysz widoczne zacięcia przy zmianach kanałów, nawet jeśli karta technicznie działa. Interfejs internetowy pokazuje czas ECM na każdą kartę — warto na to rzucić okiem, nawet w "działającej" konfiguracji.
Czytanie rzeczywistych logów
CCcam domyślnie zapisuje do stdout. W zależności od obrazu, może to być przekierowane do/tmp/CCcam.loglub może w ogóle nigdzie nie trafić, jeśli skrypt startowy softcamu go nie przekierowuje. Jeśli utkniesz, najszybszym sposobem, aby zobaczyć, co się naprawdę dzieje, jest zabicie działającego procesu i uruchomienie go w pierwszym planie przez SSH z wyjściem debug:
CCcam -d
Zobaczysz rzeczywiste zachowanie parsera, w tym linie, które cicho pomija — co często jest najszybszym sposobem na wychwycenie źle sformułowanej linii, której w przeciwnym razie nigdy byś nie zauważył.
Wybieranie źródła linii bez poparzenia się
Nie zamierzam wskazywać ci żadnego konkretnego źródła — nie o to chodzi w tym artykule, a szczerze mówiąc, nazwa, którą polecam dzisiaj, może zniknąć w przyszłym miesiącu. Co mogę ci dać, to co naprawdę sprawdzić przed zaufaniem linii.
Co uczciwe źródło ujawnia z góry
Źródło, które ma pewność w tym, co oferuje, powie ci konkretną listę CAID i identyfikatorów dostawców, a nie tylko "ile kart". Wyraźnie określą głębokość hopów — a jeśli źródło nie powie ci głębokości hopów, to jest prawdziwy sygnał, że coś jest nie tak, ponieważ głębokość hopów to rzeczywista rzecz, która decyduje, czy linia wytrzymuje w rzeczywistym użyciu. Zazwyczaj podadzą ci również poczucie czasu odpowiedzi ECM, a większość uczciwych konfiguracji oferuje jakiś rodzaj okna testowego, zanim zobowiążesz się do czegokolwiek.
Czerwone flagi
"Nieograniczone" cokolwiek. Liczba kart w tysiącach — to nie jeden serwer z ogromnym zapasem kart, to agregacja reshare łącząca wiele hopów, co jest dokładnie tym rodzajem konfiguracji, która się rozpada pod obciążeniem. Brak listy CAID w ogóle. I jakikolwiek nacisk na zapłatę przed tym, jak będziesz mógł przetestować.
Dlaczego liczba skoków jest metryką, która naprawdę ma znaczenie
Każdy skok między tobą a fizyczną kartą dodaje opóźnienie i jeden dodatkowy punkt awarii. Karta znajdująca się trzy skoki za dwoma resellerami zamarznie przy szybkich zmianach kanałów, niezależnie od tego, jak dobra jest twoja własna sieć i urządzenie — nie ma nic, co możesz skonfigurować lokalnie, aby naprawić problem, który występuje trzy serwery w górę. Dlatego pola sharelimit i uphops, które omówiliśmy wcześniej, nie są tylko abstrakcyjną składnią — to rzeczywisty mechanizm utrzymania głębokości skoków pod kontrolą na liniach, które konsumujesz lub serwujesz.
Krótko o sytuacji prawnej
Udostępnianie karty, którą legalnie posiadasz, na własnych urządzeniach, w swojej własnej sieci, jest bliskie pierwotnemu zamysłowi stojącemu za udostępnianiem kart jako technologią. Używanie jej do uzyskania dekodowania kanałów, za które nie zapłaciłeś, jest niezgodne z prawem w większości jurysdykcji, a żadne zmiany w poprawnej składni C-line lub F-line tego nie zmienią. Ten artykuł dokumentuje protokół — jak działają pola, dlaczego linie zawodzą, jak je debugować — a nie sposób na obejście subskrypcji, której nie masz.
Jaka jest różnica między C-line a F-line w CCcam.cfg?
C-line jest wychodząca: wskazuje twoje urządzenie na serwer kogoś innego i konsumuje ich karty. F-line jest przychodząca: tworzy konto na TWOIM urządzeniu, do którego loguje się C-line kogoś innego. To dwie połówki tej samej relacji — wzajemne połączenie wymaga C-line i F-line na obu urządzeniach, łącznie czterech linii. C-line nie potrzebuje otwartego portu po twojej stronie; F-line potrzebuje.
Co oznaczają dwa numery na końcu F-line?
F: hasło użytkownika<uphops> <downhops>Uphops to głębokość, na jaką peer może sięgnąć w twoim drzewie kart (0 = tylko twoje lokalne karty, 1 = twoje lokalne karty plus karty oddalone o jeden skok). Downhops to liczba skoków kart peera, które zaakceptujesz z powrotem. Powszechnym błędem jest traktowanie ich jako jednego ustawienia "jakości" i ustawianie obu na 5, co zalewa drzewo udostępniania i powoduje, że zostajesz odrzucony.
Czy D-line nadal istnieje w nowoczesnym CCcam?
Efektywnie nie. D-line to linia klienta protokołu DVN, której obecne wersje 2.3.x nie używają w sposób znaczący. Jeśli ktoś poda ci "D-line", to prawie zawsze jest to błędnie oznaczona C-line lub linia przeznaczona dla innego softcamu. Nie kopiuj definicji pól z forów — zweryfikuj je w odniesieniu do prefiksu typu linii, który twój softcam rzeczywiście analizuje.
Moja C-line pokazuje, że jest połączona, ale nie dostaję żadnych kart. Dlaczego?
Autoryzacja powiodła się, wymiana udostępniania nie zwróciła nic. Trzy przyczyny w kolejności: F-line serwera dla twojego konta ma ustawione uphops na 0 i brak lokalnych kart; twoja C-line zawiera blok sharelimit, który filtruje wszystko; lub serwer naprawdę nie ma kart na CAID-ach, które jest gotów ci wysłać. Sprawdź interfejs webowy na porcie 16001 — odróżnia "Połączono, 0 kart" od "Łączenie".
Z którego portu korzysta CCcam?
Nie ma ustalonego portu. Wychodzące C-line łączą się z dowolnym portem TCP, który wybrał operator serwera — 12000-13000 to powszechna konwencja, nic więcej. Twój własny port przychodzący dla F-line jest ustawiony przez SERVER LISTEN PORT w CCcam.cfg i musi być przekierowany na twoim routerze. Interfejs webowy domyślnie korzysta z 16001. Newcamd (N-line) zwykle działa w zakresie 34000-35000.
Gdzie znajduje się CCcam.cfg i jak go przeładować po edytowaniu?
/var/etc/CCcam.cfg w większości obrazów Enigma2, czasami /etc/CCcam.cfg w ogólnym Linuksie. CCcam analizuje plik tylko przy uruchomieniu — nie ma sygnału przeładowania. Zrestartuj binarny (killall -9 CCcam, a następnie uruchom ponownie, lub użyj skryptu softcamu obrazu). Zawsze sprawdzaj zakończenia linii CRLF i spacje niełamiące po wklejeniu linii z strony internetowej; cat -A ujawni je.
Czy powinienem nadal używać CCcam w 2026 roku, czy przejść na OScam?
CCcam to zamknięte oprogramowanie porzucone; OScam jest aktywnie utrzymywane, wspiera protokół CCcam zarówno jako klient, jak i serwer, i daje prawdziwe logowanie oraz kontrolę per-reader. Szczera odpowiedź: używaj OScam do nowych konfiguracji, trzymaj CCcam tylko tam, gdzie stary obraz lub peer tego wymaga. C-line mapuje się na OScam [reader] z protocol=cccam; F-line mapuje się na oscam.user [account].
Dlaczego moja linia działa przez kilka minut, a potem wielokrotnie się rozłącza?
Zwykle jest to kolizja nazw użytkowników — dwa urządzenia używające tych samych danych logowania F-line, a CCcam pozwala na jedną aktywną sesję na konto, więc każde połączenie wylogowuje drugie. Sprawdź również, czy nie ma hosta dynamicznego DNS, który zmienił IP (CCcam rozwiązuje tylko przy uruchomieniu) oraz czy dostawca usług internetowych lub router nie wyłącza długoterminowej sesji TCP z powodu bezczynności.