CCcam lines: настройка C-line и F-line на ресивере
Если вы получили строку вида C: my.server.net 12000 user1 pass1 и не знаете, куда её вставить и почему статус не зеленеет — эта статья для вас. CCcam lines выглядят просто, но нюансов хватает: формат, кодировка файла, пути на разных образах Enigma2, права доступа. Разберём всё по порядку — от анатомии строки до диагностики через telnet.
Что такое CCcam lines и из чего состоит строка
CCcam — протокол card sharing, при котором физическая смарт-карта, вставленная в сервер, расшаривает ключи расшифровки (ECM-ответы) по сети. Клиент получает эти ответы и декодирует поток без наличия собственной карты. Именно для настройки этого подключения и нужны cccam lines — строки конфигурации, которые прописываются в файл CCcam.cfg или его аналог в OScam.
Протокол CCcam и принцип card sharing
Ресивер с эмулятором CCcam (или OScam с reader типа cccam) выступает клиентом. Он подключается к серверу, где зарегистрирован ваш логин, и в реальном времени получает ECM-ответы для нужного CAID. Весь трафик идёт по TCP через порт 12000 по умолчанию.
Задержка между запросом и ответом — это ECM time. Именно от него зависит, будет картинка плавной или начнёт фризить. Об этом подробнее в разделе про диагностику качества.
Разбор полей C-line по порядку
Стандартная клиентская строка выглядит так:
C: my.server.net 12000 user1 pass1
Разбираем поля:
- C: — тип строки, клиентское подключение (Client line). Двоеточие и пробел обязательны.
- my.server.net — хост сервера, IP или доменное имя. DNS-имя предпочтительнее, если у сервера динамический IP.
- 12000 — порт. По умолчанию 12000, но сервер может использовать любой другой.
- user1 — логин, регистрозависимый.
User1иuser1— разные аккаунты. - pass1 — пароль, тоже регистрозависимый.
Опционально строка может содержать расширенные параметры:
C: my.server.net 12000 user1 pass1 no { 0 0 0 }
Флаг no запрещает решару от этого клиента другим клиентам. Блок { 0 0 0 } задаёт лимиты share: максимальные хопы, downhops и uphops. Нули означают «без ограничений». Для большинства клиентских конфигураций эти параметры можно опустить.
Чем C-line отличается от N-line и F-line
Путаница здесь частая. Вот чёткое разграничение:
- C-line — клиентская строка. Вы прописываете её у себя, чтобы подключиться к чужому серверу.
- F-line — friend line, серверная строка. Прописывается на сервере CCcam для регистрации клиента, которому разрешён доступ. Формат:
F: username password. Это то, что сервер выдаёт вам вместе с C-line. - N-line — строка протокола newcamd, совершенно другой протокол. Формат принципиально отличается:
N: host port username password deskey, где deskey — 14-байтовый ключ шифрования. Путать с CCcam нельзя.
Что означают параметры после хоста и порта
Некоторые провайдеры присылают строки с дополнительными блоками — например, с ограничением по CAID или явным указанием share-уровней. Если вы видите что-то нестандартное после пароля — не удаляйте без понимания. Лучше сначала проверить, что демон вообще стартует с этой строкой по логам.
Куда прописывать lines: CCcam.cfg и пути на ресивере
Это место, где большинство и спотыкается. Путей несколько в зависимости от образа и сборки.
Расположение CCcam.cfg в Enigma2
Основные пути для разных сборок:
/var/etc/CCcam.cfg— стандарт для большинства современных образов Enigma2 (OpenATV, OpenVision, OpenPLi)./etc/CCcam.cfg— встречается на старых сборках и некоторых ресиверах Dreambox./usr/keys/CCcam.cfg— используется на ресиверах с альтернативным менеджером ключей, например на некоторых сборках для VU+./etc/tuxbox/config/CCcam.cfg— редко, но встречается на исторических сборках для Dreambox DM800.
Если не уверены — выполните поиск: find / -name "CCcam.cfg" 2>/dev/null. Найдёте за секунду.
Структура файла и порядок строк
Файл CCcam.cfg — текстовый, каждая директива на своей строке. Порядок: сначала серверные настройки (BIND PORT и т.д.), потом C-line. Пример минимального рабочего конфига:
SERVER LISTEN PORT : 12000
NEWCAMD LISTEN PORT : 15050
CAID : 0
ACCOUNT : myuser mypass 0 { 0 0 0 } { 0 0 0 } ALL { 0:0:0 } 0
C: remote.server.net 12000 user1 pass1
Два момента, которые убивают конфигурацию молча. Первый — кодировка с BOM. Если вы редактировали файл в Windows Notepad и сохранили как UTF-8 с BOM, демон CCcam тихо не читает первую строку. Используйте Notepad++ с явным выбором «UTF-8 без BOM» или любой Linux-редактор. Второй — окончания строк CRLF (Windows). Конвертируйте через dos2unix /var/etc/CCcam.cfg.
Права доступа тоже важны: chmod 644 /var/etc/CCcam.cfg. Если файл нечитаем для демона — подключения не будет.
Настройка той же линии в OScam через server
OScam работает иначе — у него нет единого CCcam.cfg. Клиентское подключение к CCcam-серверу настраивается в файле /etc/oscam/oscam.server через блок reader:
[reader]
label = myserver
protocol = cccam
device = remote.server.net,12000
user = user1
password = pass1
caid = 0500,1800
group = 1
ccchop = 2
Поле caid ограничивает ридер только нужными системами — это хорошая практика, снижает лишние запросы. group должен совпадать с группой в oscam.user для ваших клиентов. ccchop — аналог hop-ограничения, 2 означает принимать карты не глубже второго хопа.
Веб-интерфейс OScam по умолчанию доступен на порту 8888 (или 83 в некоторых сборках). Там же видно статус ридера в реальном времени.
Применение изменений и перезапуск демона
После редактирования CCcam.cfg демон нужно перезапустить. Варианты:
# Жёсткий kill с перезапуском через init.d
killall -9 CCcam
/etc/init.d/ccam start
# Или через один скрипт (зависит от образа)
/etc/init.d/softcam restart
Для OScam перезапуск через веб-интерфейс (раздел «Restart») или командой killall -HUP oscam — это более мягкий вариант, который перечитывает конфиги без полного сброса соединений.
Диагностика подключения: почему линия не активна
Настроили, перезапустили, а статус всё равно не зеленеет. Вот алгоритм, который работает.
Проверка статуса в веб-интерфейсе и логах
Веб-интерфейс CCcam обычно висит на порту 16001: открывайте http://<ip-ресивера>:16001. Там видно статус каждой C-line: зелёный — подключена, жёлтый — connecting, красный — ошибка. Для OScam смотрите раздел Readers на порту 8888.
Логи CCcam по умолчанию идут в /tmp/CCcam.log. Для OScam включите уровень debug в oscam.conf: loglevel = 64, лог будет в /tmp/oscam.log. Смотрите хвост файла: tail -f /tmp/oscam.log — увидите запросы и ответы в реальном времени.
Тест порта через telnet и ping
Прежде чем копаться в конфиге — убедитесь, что порт вообще доступен с вашего ресивера:
ping my.server.net
telnet my.server.net 12000
Ping прошёл, но telnet завис — порт закрыт или фаервол. Это часто случается при двойном NAT: ваш провайдер сидит за CGNAT и блокирует исходящие соединения на нестандартные порты. В таком случае попросите провайдера разрешить соединение, или используйте сервер с портом 80/443 — они обычно не блокируются.
Telnet сразу закрыл соединение с ошибкой — порт открыт, но логин неверный или IP заблокирован на сервере.
Расшифровка ошибок: connecting, no card, login failed
Три основных состояния, с которыми приходят за помощью:
- Connecting (бесконечно) — TCP-соединение не устанавливается. Причина: неверный хост/порт, фаервол, сервер офлайн. Проверяйте telnet.
- Login failed — соединение есть, но сервер отклоняет аутентификацию. Неверный логин или пароль (помните про регистр), или ваш аккаунт деактивирован на сервере.
- No cards / Connected, 0 cards — подключились успешно, но нужного CAID на сервере нет. Картинка будет чёрной. Уточните у провайдера, какие именно CAID он расшаривает.
Отдельный случай — линия активна, CAID есть, SD-каналы работают, но HD фризит. Это уже история про ECM time, а не про подключение.
Проблемы с hops и share
Hop — это количество промежуточных серверов между физической картой и вашим ресивером. Hop 1 означает прямое подключение к серверу с реальной картой. Hop 2 — карта уже через один промежуточный сервер (решара). Hop 3 и выше — через два и более посредников.
Чем больше хопов, тем выше задержка ECM. На практике hop 2 ещё терпимо, hop 3+ на HD-каналах с частой сменой ключей (HBO, спортивные пакеты) — гарантированные фризы. В OScam видно hop-уровень каждого шаринг-ресурса в разделе Shares.
Ещё одна причина фризов — несколько ресиверов с одним логином. Большинство серверов ограничивают одно одновременное подключение на аккаунт. При втором подключении первый сессия сбрасывается, оба клиента получают разрывы.
Параметры качества: ECM time, фризы и стабильность
Что такое ECM time и какие значения нормальны
ECM time — время от момента запроса ключа расшифровки до получения ответа от сервера. Измеряется в миллисекундах. Видно в веб-интерфейсе OScam в колонке «ECM» для каждого канала.
Практические диапазоны: до 300 мс — отлично, картинка плавная; 300–600 мс — нормально для большинства каналов; 600–1000 мс — на каналах с быстрой сменой ключей начнут появляться кратковременные блоки; выше 1000 мс — фризы будут регулярными, особенно на HD и спортивных трансляциях.
Причины фризов на спортивных и HD каналах
Спортивные HD-каналы, типа каналов с футбольными трансляциями, меняют ECM-ключи каждые 10–30 секунд. Если ответ от сервера не пришёл до смены ключа — получаете блок на экране. На новостных SD-каналах смена ключей реже, поэтому они работают даже при 800 мс.
Основные причины высокого ECM time: большое количество хопов, перегруженный сервер (слишком много клиентов на одну карту), медленный интернет-канал между вашим ресивером и сервером, или географически далёкий сервер.
Настройка приоритета ридеров в OScam
Если у вас несколько ридеров (несколько cccam lines или смешанная конфигурация), OScam позволяет задать приоритеты. В файле /etc/oscam/oscam.services можно привязать конкретные CAID и провайдеры к группам ридеров. А в oscam.conf параметр preferlocalcards = 1 отдаёт предпочтение локальным картам перед сетевыми.
Параметр lb_mode в oscam.conf управляет балансировщиком нагрузки. Значение lb_mode = 1 выбирает ридер с минимальным ECM time на основе истории. Это реально работает — OScam сам «запоминает», какой ридер отвечает быстрее для конкретного CAID, и направляет туда запросы.
Кэширование (cache) и cacheex
OScam поддерживает кэширование ECM-ответов: если один клиент уже запросил ключ для данного события и получил ответ, второй клиент получит его из кэша без повторного запроса к серверу. Это снижает нагрузку и время ответа для повторных запросов.
CacheEx — расширенная версия, которая обменивается кэшем между несколькими OScam-серверами по сети. Помогает, если у вас несколько серверов в локальной сети или есть партнёры с cacheex-пирингом. Но честно: если у вас один клиент и один сервер — cacheex не даст заметного эффекта. Настраивать его ради одного ресивера не стоит.
Как выбрать источник lines: критерии без названий
Здесь не будет названий сервисов — их полно и они меняются. Вместо этого — критерии, по которым вы сами оцените любой источник cccam lines.
На что смотреть: аптайм, локальные карты, hop 1
Первое и главное — наличие local-карт (hop 1). Это значит, что физическая карта находится прямо на сервере, к которому вы подключаетесь. Никаких посредников, минимальный ECM time. Спрашивайте у провайдера прямо: «Это local или reshare?»
Аптайм сервера — второй критерий. Сервер, который падает каждую неделю, бесполезен для нормального просмотра. Нормальный аптайм — 99%+ за месяц, то есть не более ~7 часов простоя в месяц. Проверить это заранее сложно, поэтому важен тестовый период.
Также проверьте, что сервер покрывает именно нужные вам CAID и пакеты. Есть серверы с отличным аптаймом, но покрывающие только один спутник или один пакет. Убедитесь, что ваши каналы там есть.
Признаки нестабильного источника
Красные флаги, которые видно уже в первые часы тестирования:
- ECM time скачет от 100 до 2000 мс в течение часа — сервер перегружен или нестабильный канал.
- Статус «connecting» повторяется каждые несколько минут — сервер периодически перезагружается или теряет связь.
- Карты появляются и исчезают в веб-интерфейсе — нестабильный upstream у самого сервера.
- HD-каналы работают в ночное время, но фризят в прайм-тайм — слишком много клиентов на одну карту, сервер не справляется с нагрузкой.
Юридические и технические риски
Card sharing находится в правовой серой зоне в большинстве стран. Суть в том, что использование чужой карты без согласия правообладателя нарушает лицензионные соглашения вещателей. В ряде европейских стран это прямо криминализировано. Технически легитимным card sharing считается только когда вы расшариваете собственную легальную карту внутри своего домохозяйства — например, между несколькими ресиверами на одной подписке.
Технические риски тоже есть: ваш IP-адрес виден серверу card sharing, трафик идёт в открытом виде (без шифрования в базовом CCcam), и при компрометации сервера ваши учётные данные могут утечь.
Тестовый период и проверка перед использованием
Нормальный тестовый период — от 24 до 72 часов. За это время успеете проверить и дневную, и ночную нагрузку, и поведение в прайм-тайм. Во время теста смотрите не только «работает / не работает», но и ECM time в веб-интерфейсе OScam — он должен быть стабильным, а не скачущим.
Проверьте конкретные каналы, которые важны лично вам. Общий статус «линия зелёная» ничего не говорит о том, есть ли именно ваш CAID на сервере и с каким качеством.
Какой формат у CCcam C-line?
Стандартный формат: C: host port username password. Например: C: my.server.net 12000 user1 pass1. Двоеточие после C обязательно, пробелы между полями строго одиночные. Логин и пароль регистрозависимы — User1 и user1 разные. Опционально в конце добавляют флаг no и блок { 0 0 0 } для управления решарой, но для клиентского подключения это необязательно.
Чем отличается C-line от F-line?
Направление противоположное. C-line (Client line) прописывается на вашем ресивере — это инструкция «подключись к вот этому серверу с таким логином». F-line (Friend line) прописывается на сервере CCcam — это разрешение «вот этому пользователю разрешён доступ». Когда вы берёте линию у провайдера, он добавляет F-line у себя на сервере, а вам присылает соответствующую C-line. Вы вставляете только C-line к себе в CCcam.cfg.
Почему линия показывает connecting и не подключается?
Порядок проверки: сначала ping host — если нет ответа, проблема с DNS или сервер офлайн. Затем telnet host 12000 — если зависает, порт закрыт (фаервол на стороне провайдера интернета или сервера). Если telnet сразу отключается — порт открыт, но логин/пароль неверны. Дополнительно проверьте дату и время на ресивере — если время сбито, ECM не расшифровывается и линия может не подниматься вообще.
Какой порт использует CCcam по умолчанию?
Протокол CCcam использует порт 12000 TCP. Веб-интерфейс самого CCcam обычно на 16001. OScam webif — на 8888 или 83 в зависимости от сборки. В OScam порт сервера задаётся в поле device блока reader: device = host,12000. Если ресивер за роутером — убедитесь, что исходящие соединения на порт 12000 не заблокированы. При двойном NAT может потребоваться другой порт (80 или 443), если провайдер фильтрует нестандартные порты.
Что значит hop 1 и почему это важно?
Hop 1 означает, что ваш ресивер получает ECM-ответы напрямую от сервера с физической смарт-картой — без промежуточных серверов-посредников. Это минимальная задержка и максимальная стабильность. Hop 2 — карта уже через один промежуточный сервер (решара), задержка выше. Hop 3 и более — практически гарантированные фризы на HD-каналах с быстрой сменой ключей. Для нормального просмотра стремитесь к hop 1 или максимум hop 2.
Куда вставлять CCcam line на ресивере Enigma2?
В файл /var/etc/CCcam.cfg — это стандартный путь для OpenATV, OpenPLi, OpenVision. На старых Dreambox может быть /etc/CCcam.cfg, на VU+ с некоторыми сборками — /usr/keys/CCcam.cfg. После правки обязательно перезапустите демон: killall -9 CCcam && /etc/init.d/ccam start. Если используете OScam вместо CCcam — прописывайте в /etc/oscam/oscam.server через блок [reader] с protocol = cccam.
Практические советы для стабильного просмотра
Даже самая стабильная линия CCCam или OSCam требует пары простых подготовительных шагов. Обновляйте прошивку ресивера, раз в неделю очищайте ECM‑кеш и держите 15–20% свободного места на USB‑накопителе или во встроенной памяти, чтобы кардридер записывал ключи без задержек.
При настройке антенны оставляйте запас по MER/BER: смещение на два градуса или ослабленный F‑коннектор чаще становится причиной “фризов”, чем сам кардшаринг. Держите под рукой короткий патч‑корд для проверки другого роутера и сохраните два профиля в OSCam — под TCP и под UDP — чтобы мгновенно переключиться, если провайдер начнёт фильтровать протокол.
Utgard.tv следит за каждым хабом 24/7, однако вы можете ускорить диагностику, если будете вести небольшой журнал действий. Записывайте время переключения канала, активный CAID и то, использовали ли вы Wi‑Fi или Ethernet. Такой мини‑отчёт позволит инженерам воспроизвести вашу конфигурацию в лаборатории и предложить решение не за часы, а за минуты.
- Держите активными две линии: если первый сервер уходит на обслуживание, второй тут же подхватывает поток без повторного ввода логина.
- Раз в месяц делайте замер скорости и задержек. Стабильных 1–2 Мбит/с при пинге до 80 мс достаточно для SD/HD, но если джиттер превышает 20 мс — переведите роутер на провод.
- Сохраните в закладки страницу статуса Utgard.tv и Telegram‑бота @utgard_tv_bot — там появляются уведомления о работах раньше, чем успеют среагировать SEMrush или внешние мониторы.