Зачем всё это нужно
У меня дома перестало работать iptv с одного известного сервиса (где за 1 доллар в месяц тебе дают много-много каналов). Попробовал через vpn - всё работает. Но не буду же я весь трафик с роутера кидать через vpn?
Сам я использую для выборочного обхода свою статью. Осталось узнать как найти все ip адреса, которые используются в моём iptv-плейлисте.
Исходные данные
Исходные данные это iptv плейлист. Выглядит он примерно вот так:
#EXTM3U
#EXTINF:0 tvg-rec="7",Первый канал FHD
#EXTGRP:Общие
http://mydomain.mysite.net/iptv/MyKey/240/index.m3u8
#EXTINF:0 tvg-rec="7",Первый канал HD
#EXTGRP:Общие
http://mydomain.mysite.net/iptv/MyKey/204/index.m3u8
#EXTINF:0 tvg-rec="0",Первый канал HD 50
и таких строк у меня 2 с лишним тысячи. Осталось в каждом из них посмотреть какие адреса используются
Программа
В итоге я написал программку на python, которая в выдаёт два множества. Первое - это все ip адреса, перечисленные в файле. Второе это множества, которые свёрнуты в CIDR. Эти множества это весь диапазон адресов 192.168.0.0 - 192.168.255.255, где 192.168 это нужная сеть из iptv-файла.
Код программы:
import codecs
import urllib.request
f = codecs.open( "1.m3u8", "r", "utf_8_sig" )
myset=set()
myset2=set()
#f=open("1.m3u8")
i=0
for line in f:
if (line.find("http")>-1):
i+=1
site =line.strip()
res = urllib.request.urlopen(site).readlines()
for sites in res:
sites=str(sites)
if (sites.find("http") > -1):
s=sites[2:-3].replace("http://","")
mas=s.split("/")
ip=mas[0]
myset2.add(ip)
ips=ip.split(".")
myset.add(ips[0]+'.'+ips[1]+'.0.0/16')
print(i)
print(myset2)
print(myset)
На выходе
Я использовал второе множество (CIDR) для использование его в файле unblock*.txt из исходной статьи
Комментарии (13)
ky0
11.12.2022 15:16Скиньте в личку сайт, плз, если тут не хотите рекламировать.
crawlingroof
11.12.2022 16:40У меня этот https://tvlider.net без vpn, плачу в btc, 6$ на пол-года закинул. Каналов куча, плюс региональные и для взрослых, плейлист собираешь сам, но работает ОЧЕНЬ криво, нормально создался только 1й, так что подходить лучше вдумчиво. Телепрограмма лучше всего подходит отсюда http://epg.it999.ru/edem.xml.gz
an0nim0u5
11.12.2022 22:39У меня iLookTV на абсолютно идентичном движке, за те же деньги. Работает на 4 по 5-тибальной шкале без VPN (Ростелеком). Хотя я смотрю 5 каналов и те фоном.
Mastersland Автор
11.12.2022 23:33В том и беда, что у меня жутко стало тормозить (грузится дольше чем проигрывается раз в 10),причем было несколько дней подряд, даже футбол не посмотришь. Пришлось шаманить. Кстати айлук теперь заблокирован некой неофициальной террористической организацией, которая ломает интернет в России, видимо и сервера айлука тоже блокирнули. А если работает, значит хорошо, но если предупрежден, значит вооружён))
an0nim0u5
12.12.2022 08:02У меня все работает, но спасибо за предупреждение. Буду искать альтернативу на всякий случай.
Formyurik
12.12.2022 10:06У них же куча серверов. Надо просто поменять сервер в личном кабинете и соответственно перезагрузить плейлист. И все заработает и без vpn
Mastersland Автор
12.12.2022 10:07у меня на некоторых их серверах жутко тормозит, поэтому я выбрал один и им пользуюсь. Ну теперь через впн, что ж...
Rebeiro
12.12.2022 08:58я "торренты" террабайтами качаю, через свой впн в Германии, даже не задумывался, чтобы его отключать, 5 лет полет нормальный, а iptv за бакс работает и без впн, у вас провайдер видимо блокирует
ALito
А не проще было с локального адреса устройства трафик пускать через ВПН?
Mastersland Автор
я пользуюсь обычным телеком, подключенному к wifi. Поэтому мне было важно, чтобы роутер выдавал нужный трафик. Плюс ко всему, повторюсь, весь трафик через VPN пускать... такое себе удовольствие, потому как часто банят, например, торренты (а куда без них)
ALito
Я про то и говорю, что на роутере прописать маршрут с адреса телевизора на впн.
d-stream
Просто весь трафик, но только для телевизора.
Mastersland Автор
Да, конечно, можно было бы и так, неплохая идея))
Но я, иной раз, и на компе пользуюсь, и тут сразу неудобства)