# ltcproxy - m3u8 playlist proxy for shortcut.lv Eksponē permamentus m3u8 linkus (playlisti), ko var norādīt PerfectPlayer, Kodi vai kādai citai IPTV aplikācijai. Ļauj skatīties shortcut.lv uz jebkuras iekārtas klasiskās TV pieredzes formā. Var to darīt no vairākām iekārtām (proxy režīmā). Strādā arhīvs (ar PerfectPlayer, bet var teorētiski pielāgot arī citiem pleijeriem). Nepieciešams derīgs shortcut.lv konts. Strādā jebkuŗā tīklā (tiek izmantots Android TV shortcut API). __Pagaidām ALFA versija__ (*proof of concept*, daudz vēl kas pietaisāms)! ## Instalēšana 1. Strādā uz jebkura datora, kur ir Python 2.7. Vislabāk kāds Linux serveris, var arī uz Windows (nestrādās daemona režīms) 2. Lejupielādējam/atzipojam aktuālo versiju no http://git.blue.lv/home/ltcproxy vai noklonējam folderi ar `git clone http://git.blue.lv/home/ltcproxy` un uztaisam cd uz folderi. 3. Uzinstalējam Python atkarības ``` pip install -r requirements.txt ``` 4. (Optional) Uzinstalējam "mīļāko" WSGI serveri - cheroot, waitress u.c. Skat. iespējamos variantus https://bottlepy.org/docs/dev/deployment.html. Defaultā strādas ar wsgiref, kas derēs mazām slodzēm. Piemēram, ``` pip install cheroot ``` 5. Sakonfigurējam ar redatoru `ltcproxy.cfg` - `debug = False|True` - papildus debug info - `port = 8881` - proxy ports - `redirect = False` - ja True, tad veic vienkāršu pāradresāciju (302), citādi strādā kā proxy - `cache = True` - kešo pieprasījumus (t.sk. video), lai lieki neraustītu shortcut.lv serveri un paātrinātu darbu - `key = 0000` - drošības kods, kas jānorāda url (skat ltc2.m3u9 piemēru) - `wsgi = wsgiref|mtwsgi|cheroot|waitress...` - izmantojamais WSGI serveris (mtwsgi - multitredingots defaultais wsgi) - `workers = n` - tredu skaits (atkarībā no izmantotā WSGI servera) - `ltc_user = user` - shortcut.lv lietotājs - `ltc_password = passowrd` - shortcut.lv parole 6. Piestartējam vai no `foreground` vai `daemon` (tikai uz linux) režīmā atticīgi (palaižot bez parametriem var redzēt iespējamās opcijas) ``` python ltcproxy.py manualstart python ltcproxy.py start ``` 7. Ja `daemon` procesu vajag apstādināt vai pārstartēt ``` python ltcproxy.py stop python ltcproxy.py restart ``` 8. Sagatavojam pleilisti. Paraugs ltc2.m3u8 ir folderī vai šeit http://epg.blue.lv/ltc2.m3u8. `localhost` aizvietojam ar servera `hostname`. Neaizmirtam ielikt pareizo key uzreiz pēc servera vārda. Kanāla paraugs (catchup tagi ir lai strādātu arhīvs PerfectPlayer) ``` #EXTINF:0 group-title="Latvian" tvg-id="ltc101" tvg-logo="https://manstv.lattelecom.tv/images/01_Bildes/01_Kanalu_LOGO/ltv-1_70x70.png" catchup="append" catchup-source="${start}/",LTV1 http://hostname:8881/00000/live/101/ ``` 9. IPTV aplikācijā norādām sagatavoto playlisti, kā arī EPG linku. Pašreiz var izmantot http://epg.blue.lv/ltc.xml.gz. Paredzēts, ka nākotnē to eksponēs ltcproxy. 10. Tas arī viss. Ja lieto kešu, tad vēlams 1x dienā pārstartēt (pārstartējot kešs nodzēšas). Ja iestrēgst kanāls, var mēģināt pārslēgties uz priekšu/atpakaļ. Ja nelīdz, tad jāpārstartē ltcproxy. ## Zināmās kļūdas/plāni - Ne līdz galam korekti nostrādā HEAD pieprasījumi (daži playeri pirms spēlēšanas nočeko ar HEAD, kas par strīma tipu). Šī iemesla dēļ šobrīd nestrādā uz Android TV Channels - Brīžiem pārlec uz priekšu atpakaļ par 5-10 sekundēm proxy režīmā (īsti nesaprotu iemeslu, varbūt kaut kāda shortcut strīmu īpatnība atjaunojot sesijas kukiju) - Plānā ir iespēja skatīties shortcut.lv filmas VOD playlista veidā - Plānā ir iespēja proxy režīmā izmantot citus (ne ltc strīmus) ## Kļūdām/ierosmēm - Vislābāk reģistrējiet kļūdu http://git.blue.lv/home/ltcproxy - Var arī boot forumā Kaut kā tā, ivars777@gmail.com