Настройка CCcam: конфиг, порты и cccam.cfg
Если ты уже поставил бинарник и сидишь перед пустым конфигом — эта статья для тебя. Настройка CCcam выглядит несложно на бумаге, но на практике половина проблем возникает из-за мелочей: лишний пробел, Windows-переносы строк, неправильный регистр имени файла. Разберём всё по порядку — пути, синтаксис, порты и что делать, когда линия висит ONLINE, а картинка не идёт.
Что такое CCcam и где лежат его файлы
CCcam — это протокол обмена ключами условного доступа по сети. Ресивер (или Linux-сервер) подключается к удалённому хосту, получает ключ для расшифровки ECM и открывает зашифрованный канал. Всё это работает поверх TCP, без UDP, без дополнительных рукопожатий.
Назначение протокола CCcam и его версии
Протокол существует в нескольких версиях — 2.0.x, 2.1.x, 2.2.x, 2.3.x. Различия в основном в механизме handshake и поддержке отдельных caid. Проблема в том, что клиент CCcam 2.1 и сервер CCcam 2.3 могут работать вместе нормально, а могут давать частичную несовместимость на определённых пакетах. Если поставщик выдал тебе C-line и она коннектится, но часть пакетов не открывается — это первое, что стоит проверить.
Путь к бинарнику и конфигам (/var/etc/CCcam.cfg, /etc/CCcam.cfg)
На ресиверах с Enigma2 конфиг лежит в одном из двух мест в зависимости от образа:
/etc/CCcam.cfg— OpenATV, OpenPLi, классические образы/var/etc/CCcam.cfg— VTi, некоторые сборки для Vu+
Бинарник обычно живёт в /usr/bin/CCcam. Проверить запущен ли демон:
ps | grep CCcam
Важный момент: файловая система на ресивере чувствительна к регистру. Файл cccam.cfg (строчными буквами) и CCcam.cfg — это два разных файла. Демон ищет именно CCcam.cfg с заглавными буквами. Если залил конфиг через FTP и назвал его неправильно — он просто не подхватится, без каких-либо ошибок в логах.
Права на файлы и запуск демона
Права должны быть правильными, иначе демон не стартует или не читает конфиг:
chmod 644 /etc/CCcam.cfg
chmod 755 /usr/bin/CCcam
Запуск вручную: /usr/bin/CCcam. На Enigma2 обычно есть init-скрипт в /etc/init.d/CCcam, тогда: /etc/init.d/CCcam start. Проверить процесс после запуска: ps | grep -i cccam.
Структура файла CCcam.cfg: основные параметры
Формат файла — простой текст. Каждая директива на отдельной строке, ключ и значение разделены пробелом (или двоеточием, в зависимости от типа строки). Комментарии начинаются с #. Порядок блоков важен: сначала глобальные опции, потом C-line и F-line.
Глобальные опции (SERVER LISTEN PORT, WEBINFO LISTEN PORT)
Минимальный рабочий блок опций:
SERVER LISTEN PORT : 12000
WEBINFO LISTEN PORT : 16001
CCCAM VERSION : 2.3.0
CCCAM REVISION : 0
ALLOW TELNET : yes
DEBUG : no
WAIT FOR CARD TIME : 300
RESTART ON SLEEP : yes
KEEPALIVE : yes
SERVER LISTEN PORT — TCP-порт, на котором CCcam принимает входящие подключения клиентов. По умолчанию 12000. WEBINFO LISTEN PORT — порт веб-интерфейса, обычно 16001. Через него можно смотреть статус линий в браузере.
Параметры безопасности и обмена
Несколько параметров, которые влияют на работу реально:
RECV TIMEOUT : 2000
CONNECT TIMEOUT : 5000
DISCONNECT ON SLEEP : yes
CACHEEX : 0
SHARE RESHARE HOPS : 1
SHARE ONLY LOCAL CARDS : no
RECV TIMEOUT в миллисекундах — сколько ждать ответа от сервера. 2000 мс — разумное значение, ставить меньше 1500 не стоит. SHARE RESHARE HOPS — сколько уровней пересдачи разрешено. Если поставил 0 — твои клиенты получат карты, но не смогут их передать дальше.
Комментарии и порядок строк
Строка начинается с # — игнорируется полностью. Порядок таков: сначала все глобальные директивы, потом C-line (входящие соединения к серверам), потом F-line (учётки для твоих клиентов). Если перемешать — CCcam в большинстве версий это переживёт, но лучше не экспериментировать.
Ещё одно: файл должен быть сохранён в кодировке UTF-8 без BOM, с Unix-переносами строк (LF, не CRLF). Если редактировал в Notepad на Windows и сохранил как есть — демон либо не запустится, либо начнёт вести себя странно. Исправляется через Notepad++: Edit → EOL Conversion → Unix (LF), потом сохранить.
Прописывание C-line и F-line
Вот где большинство инструкций дают просто «вставь строку» без объяснений. Разберём каждое поле.
Синтаксис C-line (клиент к серверу)
C-line — это исходящее подключение: твой ресивер идёт к чужому серверу как клиент.
C: hostname port username password
Реальный пример:
C: server.example.com 12000 mylogin mysecretpass
Поля по порядку:
- hostname — доменное имя или IP сервера
- port — TCP-порт сервера (чаще всего 12000, иногда 15000, 17000)
- username — логин, выданный поставщиком
- password — пароль, регистрозависим
Несколько C-line добавляют резервные источники. CCcam пытается использовать их по порядку — первая строка имеет приоритет. Но если два источника отдают одинаковый caid, может возникнуть конфликт: ресивер будет прыгать между ними, ECM time вырастет, появятся периодические фризы. Лучше иметь разные источники под разные пакеты.
Синтаксис F-line (сервер для клиентов)
F-line — учётная запись, которую ты выдаёшь своим клиентам. Это серверный режим.
F: username password uphops downhops options { caid:ident:maxhops }
Пример:
F: clientlogin clientpass 1 0 0 { 0:0:2 }
Поля:
- uphops — сколько уровней вверх клиент может видеть (обычно 1)
- downhops — сколько уровней пересдачи разрешено клиенту (0 — не может пересдавать)
- options — дополнительные флаги (0 — стандартный режим)
Параметры { 0:0:2 } и опции после строки
Блок в фигурных скобках — это фильтр карт. Формат: { caid:ident:maxhops }.
0:0:2— все caid, все провайдеры, максимум 2 хопа1702:000000:1— только Nagravision, только прямые карты0:0:0— без ограничений по хопам
Если хочешь дать клиенту доступ только к конкретному пакету — прописывай нужный caid. Для Viasat/Viaccess это 0500, для Nagravision 1702, для Irdeto 0602, для Conax 0B00.
Порты, сеть и проверка работоспособности
Настройка CCcam не заканчивается на редактировании конфига. Нужно убедиться, что сеть работает корректно.
Открытие порта 12000 и проброс на роутере
Если твой ресивер работает как сервер — клиенты должны до него достучаться. Для этого на роутере нужно пробросить TCP-порт 12000 на локальный IP ресивера. Делается через раздел Port Forwarding / Virtual Server в веб-интерфейсе роутера.
Есть несколько случаев, когда это не поможет:
- Провайдер выдал серый (частный) IP — тогда внешний мир не может к тебе подключиться напрямую. Нужен статический белый IP или VPN с проброской портов.
- Двойной NAT — ресивер за роутером, роутер за роутером провайдера. Пробросить порт на первом роутере недостаточно.
Проверка через webinfo в браузере
Если демон запущен и порт 16001 открыт, открой в браузере:
http://192.168.1.100:16001
Здесь видно: список C-line со статусом (CONNECTED / OFFLINE), список подключённых клиентов по F-line, текущие карты и caid. Если статус линии CONNECTED — соединение с сервером установлено. Если OFFLINE или NO CONNECT — проблема в сети или в данных.
Диагностика через telnet и логи
Проверить доступность порта сервера вручную:
telnet server.example.com 12000
Если порт отвечает — увидишь бинарный мусор (это нормально, это handshake протокола). Если «Connection refused» или таймаут — порт закрыт или хост недоступен.
Логи CCcam на Enigma2 чаще всего в /tmp/CCcam.log или выводятся в syslog. Посмотреть в реальном времени:
tail -f /tmp/CCcam.log
Включить подробный лог: в конфиге поставить DEBUG : yes, перезапустить демон.
Типичные ошибки настройки и их устранение
Большинство проблем при настройке CCcam одни и те же. Вот чеклист.
Линия не подключается (NO CONNECT / OFFLINE)
Причины по убыванию вероятности:
- Опечатка в hostname, логине или пароле (пароль регистрозависим)
- Неправильный порт — уточни у источника, это не всегда 12000
- Фаервол на стороне роутера или провайдера блокирует исходящий TCP на этот порт
- Сервер временно недоступен — попробуй через 10 минут
- Расхождение версий протокола — редко, но бывает
Проверь сначала telnet'ом, доступен ли хост вообще. Если нет — это сеть, не конфиг.
Подключение есть, но картинка не открывается (FREEZE)
Это отдельная история. Линия в статусе CONNECTED означает только то, что TCP-соединение установлено. Это не гарантирует, что сервер отдаёт нужные карты.
Что проверять:
- Источник не имеет нужного caid — посмотри в webinfo, какие caid реально доступны
- Превышены hops — канал требует прямую карту (hop 0), а у тебя в цепочке 3 ретрансляции
- reshare отключён или ограничен на стороне сервера
- ECM time слишком высокий — ресивер запрашивает ключ, но ответ приходит слишком поздно (больше 1000-1500 мс)
CCcam не стартует после правки конфига
Три самые частые причины:
CRLF вместо LF. Это убивает парсинг конфига полностью. Если редактировал на Windows и сохранил без конвертации — каждая строка содержит скрытый символ \r. Исправить: открыть в Notepad++, выбрать Edit → EOL Conversion → Unix (LF), сохранить. Или через командную строку Linux: sed -i 's/\r//' /etc/CCcam.cfg.
Синтаксическая ошибка в строке. Лишний пробел в C-line, пропущенное двоеточие после директивы, неправильный блок {} в F-line. Проверь каждую строку вручную.
Неправильные права или имя файла. Файл называется cccam.cfg вместо CCcam.cfg — на чувствительной к регистру FS это разные файлы. Права 600 вместо 644 тоже могут быть проблемой.
Как выбрать источник обмена: критерии без привязки к брендам
Настройка CCcam предполагает, что у тебя уже есть C-line от какого-то источника. Но выбор источника — отдельный вопрос, и здесь стоит знать, на что смотреть технически.
Стабильность и аптайм линии
Ключевой параметр — аптайм соединения. Линия, которая переподключается каждые 20 минут, даёт фризы в самый неподходящий момент. Хороший источник держит соединение без разрывов часами. Проверить это можно только практически — смотреть webinfo или логи в течение нескольких часов работы.
Ещё один признак — быстрое восстановление после разрыва. CCcam автоматически переподключается, но если сервер долго не отвечает на reconnect — это плохой знак.
Поддерживаемые пакеты и время реакции ключей
ECM time — время от запроса ключа до ответа. Нормальное значение: до 500 мс. При 800-1000 мс уже начинаются периодические фризы на некоторых ресиверах. Выше 1500 мс — практически нерабочее состояние.
Перед тем как брать линию, уточни список caid: какие спутниковые пакеты реально поддерживаются, какой hop у карт (прямые или перепроданные). Hop 0-1 — нормально. Hop 3+ даёт заметную задержку.
Прозрачность условий и юридические аспекты
Здесь нужно сказать прямо: CCcam-обмен с чужими картами в большинстве стран находится в серой или явно нелегальной зоне. Единственный легальный сценарий — использование собственной официальной подписки с собственной смарт-картой в своём устройстве. Всё остальное — на твоей ответственности.
Технически подкованный пользователь это понимает. Поэтому источник должен быть прозрачен в условиях: что даёт, на каком оборудовании работает, какие ограничения по подключениям. Без внятных условий — это лотерея.
Частые вопросы
Где находится файл CCcam.cfg на ресивере с Enigma2?
Зависит от образа. OpenATV и OpenPLi обычно кладут конфиг в /etc/CCcam.cfg, VTi и некоторые сборки для Vu+ — в /var/etc/CCcam.cfg. Проверить можно через FTP или telnet: найди файл командой find / -name "CCcam.cfg" 2>/dev/null. Имя файла регистрозависимо — cccam.cfg строчными буквами работать не будет.
Какой порт по умолчанию использует CCcam?
TCP 12000 для основного обмена (директива SERVER LISTEN PORT) и 16001 для веб-интерфейса (WEBINFO LISTEN PORT). Оба порта задаются в конфиге и могут быть изменены. Если поставщик выдал C-line с другим портом — это нормально, конкретное значение прописано прямо в строке подключения.
Чем отличается C-line от F-line?
C-line — это исходящее подключение: твой ресивер идёт к чужому серверу в роли клиента. F-line — это учётная запись, которую ты создаёшь для своих клиентов: твой ресивер работает как сервер. Можно иметь и то, и другое одновременно — принимать ключи по C-line и раздавать их клиентам по F-line.
Почему линия ONLINE, но каналы не открываются?
CONNECTED в статусе означает только установленное TCP-соединение. Возможные причины отсутствия картинки: источник не имеет нужного caid для твоих каналов, превышены разрешённые hops (источник разрешает hop 1, а в цепочке больше), отключён reshare на стороне сервера, или ECM time слишком высокий — ответ приходит позже, чем ресивер ждёт. Проверь в webinfo реальный список доступных caid.
Почему CCcam не запускается после редактирования конфига?
Три главные причины: CRLF-переносы строк после редактирования в Windows (исправить через Notepad++ или командой sed -i 's/\r//' /etc/CCcam.cfg), синтаксическая ошибка в директиве или строке подключения, неправильные права на файл (должно быть 644) или неверное имя файла в неправильном регистре. Включи DEBUG : yes в конфиге и смотри лог при запуске.
Как проверить, что мой сервер CCcam доступен извне?
Сначала убедись, что у тебя белый внешний IP (не серый от провайдера). Потом пробрось TCP-порт 12000 на роутере на локальный IP ресивера. Проверь с другого устройства или сети: telnet твой_внешний_ip 12000. Если соединение установлено — сервер доступен. Веб-интерфейс: http://твой_внешний_ip:16001. При двойном NAT (ресивер → роутер → роутер провайдера) проброс порта на домашнем роутере не поможет без дополнительной настройки.
Практические советы для стабильного просмотра
Даже самая стабильная линия 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 или внешние мониторы.