HPLinkConverter

Instrukcja obsługi

Przewodnik po programie do konwersji i porządkowania list kanałów IPTV oraz bukietów Enigma2.

HPL Converteropisywane wydanie: v3.13
Data wydania05.07.2026
PlatformaWindows 10 / 11 (aplikacja okienkowa)
Zasada oznaczeń: większość przycisków w programie ma stały numer w nawiasie, np. Wczytaj m3u (1). Instrukcja odwołuje się do tych numerów zapisem (1) - dzięki temu opis jednoznacznie wskazuje element interfejsu. Pełna tabela numerów 1-22 znajduje się w rozdziale 14.

Spis treści

1. O programie

HPL Converter v3.13 [05.07.2026] to narzędzie dla systemu Windows, które w jednym oknie łączy najważniejsze operacje na listach kanałów telewizyjnych:

Interfejs jest dostępny w języku polskim i angielskim (przełącznik PL / EN w prawym górnym rogu) i używa ciemnego, futurystycznego motywu „glass cockpit" z czerwonymi zakładkami i neonowym cyjanem.

Wymagania

2. Uruchomienie i zabezpieczenie dostępu

Pierwsze uruchomienie

  1. Uruchom program (plik hpl_converter.pyw lub dostarczony plik wykonywalny).
  2. Otworzy się główne okno o rozmiarze 1280x880 (minimalnie 980x620) z zakładką M3U / URL.
  3. Program startuje w języku polskim. Przyciskiem EN w prawym górnym rogu można natychmiast przełączyć cały interfejs na angielski (i z powrotem przyciskiem PL).
Uwaga: program nie zapisuje ustawień między uruchomieniami - po ponownym starcie język, zawartość pól i wczytana lista wracają do wartości domyślnych.

Zabezpieczenie MAC / MachineGuid

Program może być powiązany z konkretnymi komputerami. O dostępie decydują dwie listy skonfigurowane w dystrybucji programu (każda może zawierać maksymalnie 5 pozycji):

Konfiguracja listWarunek uruchomienia
Obie listy pusteZabezpieczenie wyłączone - program uruchomi się na każdym komputerze.
Tylko lista MACPrzynajmniej jeden adres MAC komputera musi znajdować się na liście.
Tylko lista MachineGuidMachineGuid komputera musi znajdować się na liście.
Obie listy wypełnioneMuszą pasować oba składniki: MAC oraz MachineGuid.

Jeśli komputer nie jest uprawniony, zamiast programu pojawi się okno „Brak uprawnień" z listą wykrytych adresów MAC i identyfikatorem MachineGuid - te dane wystarczy przekazać dostawcy programu, aby dopisał komputer do listy.

Odczyt MachineGuid: na komputerze klienta wykonaj w wierszu poleceń: reg query HKLM\SOFTWARE\Microsoft\Cryptography /v MachineGuid

3. Główne okno

Poniższy rysunek jest bezpiecznym schematem GUI. Nie zawiera adresów IP, loginów ani innych danych użytkownika.

≡ HPL Converter v3.13   |   Odbiornik Enigma2: [ Adres IP ]   |   [ PL | EN ]
M3U / URLXtream CodesM3U TV / SerwerPobieranie .m3u
Wczytaj m3u (1)Zapisz m3u (2)Konwertuj -> Enigma2 (3)Zapisz jako... (4)Wczytaj z URL (5)⌕ Szukaj kanału...Wyczyść (20)
Wczytaj Enigma2 (6)Zapis wzór listy (7)Wczytaj wzór listy (8)Sortuj kanały m3u (9)Sortuj Jason (12)Zapisz Jason (11)Wczytaj Jason (10)
Zaznacz wszystko (13)Odznacz wszystko (14)Przesuń w górę (15)Przesuń w dół (16)Usuń zaznaczone (17)Narzędzia (18)Test strumieni (19)
LISTA KANAŁÓW   |   NAZWA   URL   ✓
▸ Grupa / katalog (liczba kanałów)
  • Kanał 1    http://...    ✓
  • Kanał 2    http://...
▸ Kolejna grupa (liczba kanałów)
Gotowy   |   pasek postępu operacji   |   liczba kanałów / grup

Elementy stałe okna

Drzewo kanałów

Lista jest prezentowana jako drzewo: grupy (katalogi) z licznikiem kanałów oraz kanały z kolumnami NAZWA, URL i kolumną zaznaczeń ✓. Grupy są wyróżnione kolorem i pogrubieniem. Kliknięcie w kolumnę ✓ lub dwuklik na pozycji przełącza zaznaczenie; zaznaczenie grupy zaznacza wszystkie jej kanały.

4. Wczytywanie list kanałów

Wczytaj m3u (1)

  1. Kliknij Wczytaj m3u (1) i wskaż plik .m3u, .m3u8 lub .txt.
  2. Program odczyta wpisy #EXTINF (nazwa z tvg-name lub tytułu, grupa z group-title) oraz adresy http/https/rtmp/rtsp.
  3. Kanały bez grupy trafiają do katalogu Ungrouped.

Wczytaj z URL (5)

  1. Kliknij Wczytaj z URL (5). Otworzy się okno z polem na link do listy m3u.
  2. Adres musi zaczynać się od http:// albo https://.
  3. Pole User-Agent (opcjonalnie) jest wstępnie wypełnione identyfikatorem popularnej aplikacji IPTV - niektórzy dostawcy wymagają konkretnego User-Agenta i bez niego zwracają pustą odpowiedź.
  4. Kliknij Pobierz. Pobieranie działa w tle (obsługiwana jest kompresja gzip/deflate), a po zakończeniu lista wypełnia drzewo.

Wczytaj Enigma2 (6)

Przycisk Wczytaj Enigma2 (6) otwiera plik bukietu / listy Enigma2 (.tv, .radio, .txt, .epl, .lst). Program odczytuje nazwy usług z linii #SERVICE / #DESCRIPTION i umieszcza je w katalogu Enigma2 (bez adresów URL). Tak wczytana lista służy przede wszystkim jako źródło wzoru kolejności kanałów - patrz rozdział 6.

Wskazówka: plik bukietu (np. userbouquet.xxx.tv) można pobrać z odbiornika przez FTP z katalogu /etc/enigma2.

Inne źródła

Listę można też wczytać przez zakładkę Xtream Codes (rozdział 11) albo pobrać w całości do pliku w zakładce Pobieranie .m3u (rozdział 13), a następnie otworzyć przyciskiem (1). Listy Jason opisuje rozdział 7.

Ważne: wczytanie nowej listy zastępuje bieżącą zawartość drzewa. Niezapisane zmiany zostaną utracone.

5. Konwersja do formatu Enigma2

1. WczytajWczytaj listę M3U przyciskiem (1), (5) albo z Xtream (21).
2. UporządkujOpcjonalnie posortuj i wyedytuj listę (rozdziały 6-9).
3. KonwertujKliknij Konwertuj -> Enigma2 (3). Pasek postępu pokaże przebieg.
4. ZapiszKliknij Zapisz jako... (4) i zapisz plik bukietu.

Konwersja tworzy w pamięci bukiet IPTV w formacie Enigma2. Każdy kanał staje się usługą strumieniową typu 4097:

#NAME IPTV
#SERVICE 4097:0:1:2:0:0:0:0:0:0:http%3a//adres/strumienia:Nazwa kanału
#DESCRIPTION Nazwa kanału

Użycie na odbiorniku: zapisany plik wgraj przez FTP do katalogu /etc/enigma2 jako np. userbouquet.iptv.tv, dopisz go do bouquets.tv (lub użyj edytora bukietów), a następnie przeładuj listę kanałów w odbiorniku.

Zapis listy jako M3U (2)

Zapisz m3u (2) zapisuje aktualną zawartość drzewa (po wszystkich zmianach) jako standardowy plik .m3u z wpisami #EXTINF i grupami group-title. To zalecany sposób utrwalenia uporządkowanej listy dla innych aplikacji IPTV.

6. Wzór listy HPL i sortowanie

Wzór listy to zapamiętana kolejność nazw kanałów, według której program potrafi posortować dowolną inną listę - nawet jeśli nazwy różnią się szczegółami (HD/FHD/4K, przedrostki „PL:", znaki diakrytyczne itd.).

Utworzenie wzoru

  1. Wczytaj listę wzorcową przyciskiem Wczytaj Enigma2 (6) - np. bukiet z ulubioną kolejnością kanałów z odbiornika.
  2. Kliknij Zapis wzór listy (7). Program zapisze unikatowe nazwy kanałów do pliku channel_template.hpl obok programu i wyświetli liczbę zapisanych pozycji.

Wczytanie wzoru (8)

Wczytaj wzór listy (8) otwiera zapisany wcześniej wzór (.hpl, .json albo zwykły plik tekstowy z jedną nazwą kanału w każdej linii).

Sortowanie kanałów m3u (9)

  1. Wczytaj listę M3U i wzór (6 lub 8).
  2. Zaznacz w drzewie dokładnie jedną grupę (albo dowolny kanał w tej grupie).
  3. Kliknij Sortuj kanały m3u (9).
  4. Kanały dopasowane do wzoru zostaną ustawione na górze grupy w kolejności wzoru; pozostałe trafią pod nie w dotychczasowej kolejności.

Jak działa dopasowanie nazw

Wskazówka: operację sortowania można wycofać poleceniem Narzędzia (18) → Cofnij ostatnią zmianę.

7. Listy Jason

Lista Jason to numerowana lista kanałów w formacie JSON (rozszerzenie .jason lub .json), w której każda pozycja ma pola name, link, icon i target:

{ "1": { "name": "Kanał", "link": "http://...", "icon": "http://...", "target": "POLSAT" }, "2": { ... } }

Operacje

Uwaga: podczas edycji listy Jason numeracja widoczna w drzewie jest odświeżana automatycznie po przeniesieniu, usunięciu, wycięciu i wklejeniu pozycji.

8. Edycja listy kanałów

Zaznaczanie

Przenoszenie i usuwanie

Menu podręczne (prawy przycisk myszy)

PolecenieDziałanie
Zmień nazwęZmienia nazwę pojedynczego kanału (okno z polem tekstowym, Enter zatwierdza).
Zmień nazwę kataloguZmienia nazwę grupy, w której znajduje się zaznaczona pozycja.
Przenieś do katalogu...Przenosi podświetlone kanały do wybranej grupy z listy.
Wytnij / Wklej tutajWycina pozycje (także całe grupy z zawartością) do schowka programu i wkleja je za wskazaną pozycją.
UsuńDziała jak przycisk (17).

Wyszukiwarka (20)

Pole Szukaj kanału... w prawym górnym rogu zakładki M3U / URL filtruje listę po fragmencie nazwy kanału lub nazwy grupy (zatwierdzenie klawiszem Enter). Przycisk Wyczyść (20) przywraca pełną listę. Operacje edycyjne wykonane na wyniku wyszukiwania są automatycznie przenoszone na pełną listę.

9. Narzędzia (18)

Przycisk Narzędzia (18) rozwija menu z funkcjami porządkowymi:

FunkcjaOpis
Utwórz katalogDodaje nową, pustą grupę o podanej nazwie.
Scal katalogiPrzenosi wszystkie kanały z katalogu źródłowego do docelowego (wybór z listy).
Usuń puste katalogiUsuwa wszystkie grupy bez kanałów i pokazuje ich liczbę.
Znajdź duplikatyWyświetla raport par duplikatów. Duplikat jest wykrywany po znormalizowanej nazwie, po adresie URL albo po obu naraz.
Usuń duplikatyZostawia pierwsze wystąpienie każdego kanału, usuwa kolejne powtórzenia i pokazuje ich liczbę.
Masowa zmiana nazwUsuwa lub zamienia podany fragment tekstu we wszystkich nazwach kanałów (np. usunięcie przedrostka „PL: "). Nadmiarowe spacje są porządkowane automatycznie.
Automatyczne porządkowanieRozdziela kanały do katalogów tematycznych na podstawie nazw: Sport, Film, Seriale, Dzieci, Dokument, Informacje, Muzyka, Rozrywka, Inne.
Eksport raportuZapisuje listę do pliku .csv (kolumny: group, name, url) albo ostatni raport tekstowy do .txt.
Cofnij ostatnią zmianęPrzywraca stan listy sprzed ostatniej operacji edycyjnej (wielopoziomowa historia zmian).

10. Test strumieni (19)

  1. Podświetl w drzewie kanały albo całe grupy do sprawdzenia.
  2. Kliknij Test strumieni (19). Test działa w tle, a pasek postępu pokazuje przebieg.
  3. Każdy kanał jest odpytywany krótkim zapytaniem HTTP (limit 5 sekund) i otrzymuje kolor:
KolorWynikZnaczenie
zielonyOKSerwer odpowiedział poprawnie w limicie czasu.
bursztynowyWARNSerwer odpowiedział kodem 401 / 403 / 405 (odmawia testu, ale strumień może działać w odtwarzaczu) albo odpowiadał wolno.
czerwonyFAILBrak odpowiedzi, błąd połączenia albo pusty adres URL.

Po zakończeniu pasek stanu pokazuje podsumowanie, np. Test strumieni zakończony: 42 OK, 3 WARN, 5 FAIL.

Uwaga: test sprawdza wyłącznie odpowiedź serwera - nie odtwarza obrazu i nie zużywa znaczącego transferu. Wynik WARN nie przesądza, że kanał nie działa.

11. Xtream Codes (21)

  1. Przejdź na zakładkę Xtream Codes.
  2. Wpisz Host w formacie http://twoj-serwer.com:port, Użytkownika i Hasło (pole hasła jest maskowane).
  3. Zaznacz, co ma zostać wczytane: Live TV, VOD, Seriale (co najmniej jedno).
  4. Kliknij Połącz i wczytaj (21).

Program loguje się przez player_api.php, a po udanym logowaniu pokazuje status w formie Zalogowano: nazwa | Wygasa: data. Kanały trafiają do głównego drzewa (program sam przełącza na zakładkę M3U / URL) w grupach z przedrostkami:

Tak wczytaną listę można normalnie edytować, sortować, konwertować do Enigma2 (3), zapisać jako m3u (2) albo udostępnić przez M3U TV.

Ważne: dane logowania nie są nigdzie zapisywane - po zamknięciu programu trzeba je wpisać ponownie. Adresy wygenerowanych strumieni zawierają login i hasło konta, dlatego zapisane pliki m3u należy przechowywać ostrożnie.

12. M3U TV - serwer lokalny (22)

Zakładka M3U TV / Serwer udostępnia wczytaną listę kanałów w sieci domowej - telewizorowi, dekoderowi lub aplikacji IPTV - bez kopiowania plików.

  1. Wczytaj listę kanałów (zakładka M3U / URL albo Xtream).
  2. Kliknij Uruchom serwer (22). Program pokaże status Serwer działa oraz adres playlisty w formie http://adres-IP-komputera:8899/iptv.m3u.
  3. Przyciskiem Kopiuj URL skopiuj adres i wpisz go w aplikacji IPTV na telewizorze jako „Import m3u-file from URL".
  4. Karty pod adresem pokazują liczbę udostępnianych kanałów i port (8899).
  5. Ten sam przycisk zatrzymuje serwer (Zatrzymaj serwer (22)).
Ważne: komputer i telewizor muszą być w tej samej sieci lokalnej, a program musi pozostać uruchomiony. Przy pierwszym starcie serwera zapora Windows może zapytać o zgodę - zezwól na dostęp w sieci prywatnej.

13. Pobieranie .m3u LIVE + VOD + SERIALE

Czwarta zakładka pobiera z serwera Xtream kompletną listę i zapisuje ją bezpośrednio do plików na dysku: kanały LIVE i filmy VOD do jednego pliku, a odcinki seriali do osobnego. Lista jest budowana lokalnie przez player_api.php - żaden skrypt z serwera nie jest uruchamiany.

Krok po kroku

  1. Dane logowania.
    • Najszybciej: wklej pełny adres listy (link typu get.php / m3u_plus) w górne pole i kliknij Wczytaj z URL - host, użytkownik i hasło wypełnią się automatycznie.
    • Albo wpisz ręcznie Host (http://serwer:port), Użytkownika i Hasło.
  2. Zakres pobierania. Zaznacz Live TV, VOD i/lub Seriale (domyślnie wszystkie).
  3. Kategorie seriali. Przy zaznaczonych Serialach kliknij Wybierz kategorie seriali...:
    • okno pobierze listę kategorii z serwera,
    • w polu filtru wpisz np. PL i użyj Zaznacz pasujące (albo Zaznacz wszystkie / Wyczyść zaznaczenie),
    • zatwierdź przyciskiem Zatwierdź wybór. Etykieta pod przyciskiem pokaże np. „Kategorie seriali: wybrano 12 z 96".
  4. Pliki wynikowe. Wskaż plik LIVE + VOD (domyślnie playlist.m3u obok programu) i plik SERIALE (domyślnie playlist_series.m3u).
  5. Pobierz listę. Program sprawdza konto, po czym kolejno pobiera LIVE, VOD i odcinki wybranych seriali. Postęp widać na pasku, a szczegóły w oknie logu z godzinami. Przycisk Przerwij zatrzymuje operację w dowolnym momencie.
  6. Podsumowanie. Na końcu pojawia się okno z liczbą pozycji LIVE / VOD / odcinków seriali oraz ścieżkami zapisanych plików. Gotowe pliki można od razu otworzyć przyciskiem Wczytaj m3u (1).
Uwaga: pobieranie seriali wymaga osobnego zapytania o każdy tytuł, więc przy dużej liczbie wybranych kategorii może potrwać kilka-kilkanaście minut. Log pokazuje postęp co 200 tytułów.

14. Numeracja przycisków i pliki programu

Numeracja przycisków 1-22

NrPrzycisk (PL)Funkcja
1Wczytaj m3uWczytanie listy z pliku .m3u / .m3u8 / .txt
2Zapisz m3uZapis aktualnej listy do pliku .m3u
3Konwertuj -> Enigma2Konwersja listy do bukietu Enigma2 (usługi 4097)
4Zapisz jako...Zapis wyniku konwersji do pliku tekstowego
5Wczytaj z URLPobranie listy m3u z internetu (z polem User-Agent)
6Wczytaj Enigma2Wczytanie bukietu / listy Enigma2 (źródło wzoru)
7Zapis wzór listyZapis wzoru kolejności do channel_template.hpl
8Wczytaj wzór listyWczytanie wzoru z pliku .hpl / .json / .txt
9Sortuj kanały m3uSortowanie wybranej grupy według wzoru
10Wczytaj JasonWczytanie numerowanej listy .jason / .json
11Zapisz JasonZapis listy Jason z nową numeracją
12Sortuj JasonSortowanie listy Jason według wzoru
13Zaznacz wszystkoOdhaczenie ✓ wszystkich pozycji
14Odznacz wszystkoZdjęcie ✓ ze wszystkich pozycji
15Przesuń w góręPrzesunięcie podświetlonych pozycji w górę
16Przesuń w dółPrzesunięcie podświetlonych pozycji w dół
17Usuń zaznaczoneUsunięcie podświetlonych i odhaczonych pozycji
18NarzędziaMenu funkcji porządkowych (rozdział 9)
19Test strumieniTest dostępności strumieni z kolorowym wynikiem
20WyczyśćWyczyszczenie wyszukiwarki i powrót do pełnej listy
21Połącz i wczytajLogowanie Xtream Codes i wczytanie kanałów
22Uruchom / Zatrzymaj serwer (M3U TV)Start i stop lokalnego serwera playlisty

Pliki tworzone przez program

PlikPrzeznaczenie
channel_template.hplWzór kolejności kanałów zapisywany obok programu przyciskiem (7). Format JSON: {"format": "HPL_LIST", "source": "ENIGMA2", "channels": [...]}.
playlist.m3uDomyślny plik wynikowy LIVE + VOD zakładki Pobieranie .m3u (obok programu).
playlist_series.m3uDomyślny plik wynikowy odcinków seriali (obok programu).
pliki .m3u, .txt, .csv, .jasonZapisywane wyłącznie w miejscach wskazanych przez użytkownika (przyciski 2, 4, 11 oraz Eksport raportu).
Uwaga: program nie tworzy plików konfiguracyjnych ani wpisów w rejestrze (poza odczytem MachineGuid na potrzeby zabezpieczenia). Usunięcie katalogu programu usuwa go w całości.

15. Rozwiązywanie problemów

Program nie startuje - okno „Brak uprawnień"

Komputer nie znajduje się na liście dozwolonych maszyn (rozdział 2). Prześlij dostawcy programu wykryte adresy MAC i MachineGuid pokazane w oknie błędu.

Wczytaj z URL zwraca błąd albo pustą odpowiedź

  1. Sprawdź, czy adres zaczyna się od http:// lub https:// i czy działa w przeglądarce / VLC.
  2. Niektórzy dostawcy wymagają konkretnego User-Agenta - zostaw wartość domyślną albo wpisz identyfikator swojej aplikacji IPTV.
  3. Sprawdź, czy konto u dostawcy jest aktywne i czy nie przekroczono limitu jednoczesnych połączeń.

Sortowanie (9) lub (12) nie działa

„Brak danych - najpierw konwertuj"

Przycisk Zapisz jako... (4) zapisuje wynik konwersji - kliknij najpierw Konwertuj -> Enigma2 (3).

Serwer M3U TV nie startuje albo TV nie widzi listy

  1. Najpierw wczytaj listę kanałów - pusty program nie ma czego udostępniać.
  2. Port 8899 może być zajęty przez inny program - zamknij go albo uruchom ponownie komputer.
  3. Zezwól programowi na dostęp do sieci prywatnej w zaporze Windows.
  4. Telewizor musi być w tej samej sieci; wyłącz izolację klientów w routerze / Wi-Fi gościnnym.
  5. Program musi pozostać uruchomiony przez cały czas korzystania z listy na TV.

Test strumieni pokazuje same FAIL / WARN

Część serwerów IPTV odrzuca krótkie zapytania testowe (WARN przy kodach 401/403/405) - kanał może mimo to działać w odtwarzaczu. Sprawdź też ważność konta i limit połączeń u dostawcy.

Logowanie Xtream nie powiodło się

  1. Host podaj z portem, np. http://serwer.com:8080 (bez końcowego ukośnika).
  2. Sprawdź login i hasło; komunikat auth=0 oznacza odrzucenie danych logowania albo wygaśnięcie konta.
  3. Zaznacz co najmniej jeden typ danych: Live TV, VOD lub Seriale.

„Niepoprawny format pliku Jason"

Plik musi być poprawnym JSON-em o strukturze opisanej w rozdziale 7 (słownik numerowanych pozycji z polami name / link / icon / target).