Alat untuk mengunduh EPG (Panduan Program Elektronik) untuk ribuan saluran TV dari ratusan sumber.
Pertama, Anda perlu menginstal Node.js di komputer Anda. Anda juga perlu menginstal Git untuk mengikuti instruksi ini.
Setelah itu buka konsol (atau terminal jika Anda memiliki macOS) dan ketik perintah berikut:
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
Kemudian arahkan ke folder epg
yang diunduh:
cd epg
Dan instal semua dependensi:
npm install
Untuk memulai unduhan panduan, pilih salah satu situs yang didukung dan tempel namanya ke dalam perintah di bawah ini:
npm run grab -- --site=example.com
Dan setelah unduhan selesai, panduan ini akan disimpan ke file guide.xml
.
Usage: npm run grab -- [options]
Options:
-s, --site < name > Name of the site to parse
-c, --channels < path > Path to * .channels.xml file (required if the " --site " attribute is
not specified)
-o, --output < path > Path to output file (default: " guide.xml " )
-l, --lang < code > Filter channels by language (ISO 639-2 code)
-t, --timeout < milliseconds > Override the default timeout for each request
-d, --delay < milliseconds > Override the default delay between request
--days < days > Override the number of days for which the program will be loaded
(defaults to the value from the site config)
--maxConnections < number > Limit on the number of concurrent requests (default: 1)
--cron < expression > Schedule a script run (example: " 0 0 * * * " )
--gzip Create a compressed version of the guide as well (default: false)
Anda dapat menyediakan panduan melalui URL dengan menjalankan server Anda sendiri:
npm run serve
Setelah itu, panduan ini akan tersedia di tautan:
http://localhost:3000/guide.xml
Selain itu akan tersedia untuk perangkat lain di jaringan lokal yang sama di alamat:
http://<your_local_ip_address>:3000/guide.xml
Secara default, panduan untuk setiap saluran diunduh satu per satu, tetapi Anda dapat mengubah perilaku ini dengan meningkatkan jumlah permintaan simultan menggunakan atribut --maxConnections
:
npm run grab -- --site=example.com --maxConnections=10
Tetapi ketahuilah bahwa di bawah beban berat, beberapa situs dapat mulai mengembalikan kesalahan atau sepenuhnya memblokir akses Anda.
Buat file XML dan salin deskripsi semua saluran yang Anda butuhkan dari /situs ke dalamnya:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< channels >
< channel site = " arirang.com " lang = " en " xmltv_id = " ArirangTV.kr " site_id = " CH_K " >Arirang TV</ channel >
...
</ channels >
Dan kemudian tentukan jalur ke file itu melalui atribut --channels
:
npm run grab -- --channels=path/to/custom.channels.xml
Jika Anda ingin mengunduh panduan secara otomatis pada jadwal, Anda perlu meneruskan ekspresi cron yang valid ke skrip menggunakan atribut --cron
:
npm run grab -- --site=example.com --cron= " 0 0 * * * "
Jika Anda telah mengunduh kode repositori sesuai dengan instruksi di atas, maka untuk memperbaruinya akan cukup untuk menjalankan perintah:
git pull
Dan kemudian perbarui semua dependensi:
npm install
Daftar putar dengan panduan yang sudah terhubung dapat ditemukan di repositori IPTV-org/IPTV.
Semua data saluran diambil dari repositori IPTV-org/database. Jika Anda menemukan kesalahan, silakan buka masalah baru di sana.
Dokumentasi API dapat ditemukan di repositori IPTV-org/API.
Tautan ke sumber daya terkait IPTV lain yang berguna dapat ditemukan di repositori IPTV-org/Awesome-Import.
Jika Anda memiliki pertanyaan atau ide, Anda dapat mempostingnya di tab Diskusi.
Pastikan untuk membaca panduan yang berkontribusi sebelum mengirimkan masalah atau permintaan tarik.
Dan terima kasih untuk semua orang yang telah berkontribusi!