someone1
Üye
- Katılım
- 10 Şubat 2025
- Konular
- 6
- Mesajlar
- 125
- Tepkime puanı
- 120
- Şehir
- Aksaray
Metadata: user-agent, headers, referer.
Aşağıda yazdıklarım uzmanlık alanım değil, amatörce uğraşıp sonuuç aldığım bir olayı paylaşıyorum. Herkes bu yazının geliştirilmesine hataların düzeltilmesine katkıda bulunabilir.
Bunu nasıl kurduğumu anlatacağım.
___________________________________________________________________________________________________________________________________
Bazı m3u playlistlerde böyle bilgiler olur. Ben
VLC, Kodi, Tivimate listeleri görmüşsünüzdür. Aynı akışı açmak için farklı yöntemler(söz dizimi) kullanırlar. VLC #EXTVLCOP ile yapar, bir başkası tek satırda `[akış-url] | [refer] [abc.def] | [origin]...` , biri tırnak içine alır öbürü almaz vs... Uygulamanın anlayacağı dile çevirir.
Biz de bu işi proxy kullanarak yapacağız.
Bu satırlar sunucudan tek bir URL olarak dönecek ve bu URL bu bilgileri içermiş olacak.
___________________________________________________________________________________________________________________________________
AMAÇ: Neden böyle bir şey yapıyoruz?
Benim amacım LG Webos kullandığım için fazla uygulama seçeneğim yok. SS-IPTV esnek bir yazılım değil, modern de değil. Playlistlerde ya da ayarlarında Metadata desteği yok. Geliştiricisi kendi forumunda "Bu iş server tarafında halledilmesi gereken bir iş, oynatıcı ile alakası yok" benzeri bir şey yazmış seneler önce. Ben de hak verdim kendim çözeyim bu işi dedim.
Kişisel amacım buydu, başka kullanım alanları da vardır. Aklımıza geldikçe yazarız.
___________________________________________________________________________________________________________________________________
m3u-playlist-proxy Docker kurulumu
Docker ile hiç işim olmamıştı şimdiye kadar, Qwen2.5-Max (yapay zeka chat) e sordum, sana VPS çözümü lazım dedi.
Şablon seçimi soruyor: Web Service
Docker image: dtankdemp/m3u-playlist-proxy
Dosyaları sunucuya çekiyor, işlemler yapıyor.. hazır.
Burada port konusuna çok takılmıştım ben, portu napacağız diye, gerek yokmuş, otomatik 4123 portu ayarlıyor. GPT beni yanıltmıştı o webe çıkan port değil bak böyle çalışmaz vs diye, çalışıyor yani.
Bu tür bir adres oluşturmuş olduk. bu adresi açtığımızda şöyle bir sayfanın sizi karşılaması beklenir;

Bu sayfaya metadata içeren url veriyoruz, Generate Playlist Url butonuna basıyoruz, o da bize kullanacağımız url'yi veriyor. ___________________________________________________________________________________________________________________________________
"More Info": bu kısım dtankdempse'nin verdiği nitelikli bilgi.
___________________________________________________________________________________________________________________________________
DAHA İLERİSİ İÇİN: Bu bir yaptım oldu işi. Denedim çalışıyor. Render ideal çözüm olmayabilir, günlük kullanımda test etmediğim için sunucunun belli bir süre kullanılmadığında uykuya geçmesi sorun yaratıyor mu vs bilmiyorum. Daha iyi alternatifleri olabilir. Bu işi başka bir sunucuda, yerel sunucuda çalıştırmak isteyen olabilir. Sinetech'in de bu ara sunucuları yavaş ama
Burada hazır bir site-sunucu varken ona böyle bir şey eklense çok güzel olur. O şurda çalışıyor, şuna başka playlist vs yorucu.
dtankdempse'ye sonsuz teşekkürler.
Aşağıda yazdıklarım uzmanlık alanım değil, amatörce uğraşıp sonuuç aldığım bir olayı paylaşıyorum. Herkes bu yazının geliştirilmesine hataların düzeltilmesine katkıda bulunabilir.
Bunu nasıl kurduğumu anlatacağım.
Kod:
https://hub.docker.com/r/dtankdemp/m3u-playlist-proxy
Bazı m3u playlistlerde böyle bilgiler olur. Ben
referer
sitesinden geliyorum user-agent
tarayıcısı üzerinden bu işlemi gerçekleştiriyorum benzeri bir şeyler söylemiş oluruz bağlantı kurduğumuz URL'ye. URL de sen geç, sen adamsın der, akışa müsade eder.VLC, Kodi, Tivimate listeleri görmüşsünüzdür. Aynı akışı açmak için farklı yöntemler(söz dizimi) kullanırlar. VLC #EXTVLCOP ile yapar, bir başkası tek satırda `[akış-url] | [refer] [abc.def] | [origin]...` , biri tırnak içine alır öbürü almaz vs... Uygulamanın anlayacağı dile çevirir.
Biz de bu işi proxy kullanarak yapacağız.
Kod:
#EXTINF:-1,Channel Name
#EXTVLCOPT:http-referrer=http://example.com
#EXTVLCOPT:http-user-agent=VLC/3.0.20 LibVLC/3.0.20
http://example.com/playlist.m3u8
Bu satırlar sunucudan tek bir URL olarak dönecek ve bu URL bu bilgileri içermiş olacak.
___________________________________________________________________________________________________________________________________
AMAÇ: Neden böyle bir şey yapıyoruz?
Benim amacım LG Webos kullandığım için fazla uygulama seçeneğim yok. SS-IPTV esnek bir yazılım değil, modern de değil. Playlistlerde ya da ayarlarında Metadata desteği yok. Geliştiricisi kendi forumunda "Bu iş server tarafında halledilmesi gereken bir iş, oynatıcı ile alakası yok" benzeri bir şey yazmış seneler önce. Ben de hak verdim kendim çözeyim bu işi dedim.
Kişisel amacım buydu, başka kullanım alanları da vardır. Aklımıza geldikçe yazarız.
___________________________________________________________________________________________________________________________________
m3u-playlist-proxy Docker kurulumu
Docker ile hiç işim olmamıştı şimdiye kadar, Qwen2.5-Max (yapay zeka chat) e sordum, sana VPS çözümü lazım dedi.
Ziyaretçiler için gizlenmiş link, görmek için kayıt olunuz.
Giriş yap veya üye ol.
üzerinden üyelik oluşturdumŞablon seçimi soruyor: Web Service
Docker image: dtankdemp/m3u-playlist-proxy
Dosyaları sunucuya çekiyor, işlemler yapıyor.. hazır.
Burada port konusuna çok takılmıştım ben, portu napacağız diye, gerek yokmuş, otomatik 4123 portu ayarlıyor. GPT beni yanıltmıştı o webe çıkan port değil bak böyle çalışmaz vs diye, çalışıyor yani.
Kod:
https://m3u-playlist-proxy-*******.onrender.com/#
Bu tür bir adres oluşturmuş olduk. bu adresi açtığımızda şöyle bir sayfanın sizi karşılaması beklenir;

Bu sayfaya metadata içeren url veriyoruz, Generate Playlist Url butonuna basıyoruz, o da bize kullanacağımız url'yi veriyor.
"More Info": bu kısım dtankdempse'nin verdiği nitelikli bilgi.
Markdown (GitHub flavored):
Adding Playlist URL(s)
When adding multiple playlist URLs, separate them with a comma. This will merge all playlists into a single combined list. If multiple EPGs are defined in the playlists using the url-tvg tag, they will also be merged into a single EPG file.
Example:
http://example.com/playlist1.m3u8,http://example.com/playlist2.m3u8,http://example.com/playlist3.m3u8
The example above will merge three playlists into a single playlist.
Merge EPGs
When checked, this option combines EPG sources (specified by tvg-url) into a single EPG file if more than one playlist is used. If only one playlist is used, the tvg-url will remain untouched. This provides a consolidated channel guide across merged playlists. Leaving this unchecked removes all tvg-url tags when multiple sources are detected, helping to reduce bandwidth usage. This is especially useful on free-tier services like Vercel.
Select Groups
The Select Groups can be used to filter out channels from the playlist based on the group titles. First click on the Choose Groups button to fetch the playlist, the grpups will then be listed. Check the box next to each group you want to include in the playlist; any unchecked boxes will be excluded from the playlist.
Headers in the Playlist
If specific headers for applications like VLC, TiviMate, or Kodi are included within the playlist, MPP will use those headers to proxy the individual streams. This means the headers embedded in the playlist itself will be utilized directly when accessing a particular stream.
Headers in the Header Fields
If no headers are present within the playlist for a given stream, MPP will fall back to using the headers specified in the "Header Name / Value" fields of the form. This allows for a default set of headers to be used when the playlist lacks specific instructions.
No Headers Set
If neither the playlist nor the "Header Name / Value" fields provide any headers, the streams will be accessed without any headers, essentially passing through unmodified, which means they won't be explicitly proxied by MPP.
Priority System for Headers
Overall, MPP outlines a priority system for using headers:
Headers embedded in the playlist.
Headers provided via form input.
No headers at all.
Supported Formats
The following are supported formats for specifying headers within a playlist:
Format Example 1:
#EXTINF:-1,Channel Name
http://example.com/playlist.m3u8|Referer="http://example.com"|User-Agent="VLC/3.0.20 LibVLC/3.0.20"
Format Example 2:
#EXTINF:-1,Channel Name
http://example.com/playlist.m3u8|Referer=http://example.com|User-Agent=VLC/3.0.20 LibVLC/3.0.20
Format Example 3:
#EXTINF:-1,Channel Name
http://example.com/playlist.m3u8|Referer=http%3A%2F%2Fexample.com&User-Agent=VLC%2F3.0.20%20LibVLC%2F3.0.20
Format Example 4:
#EXTINF:-1,Channel Name
#EXTVLCOPT:http-referrer=http://example.com
#EXTVLCOPT:http-user-agent=VLC/3.0.20 LibVLC/3.0.20
http://example.com/playlist.m3u8
DAHA İLERİSİ İÇİN: Bu bir yaptım oldu işi. Denedim çalışıyor. Render ideal çözüm olmayabilir, günlük kullanımda test etmediğim için sunucunun belli bir süre kullanılmadığında uykuya geçmesi sorun yaratıyor mu vs bilmiyorum. Daha iyi alternatifleri olabilir. Bu işi başka bir sunucuda, yerel sunucuda çalıştırmak isteyen olabilir. Sinetech'in de bu ara sunucuları yavaş ama
dtankdempse'ye sonsuz teşekkürler.
Son düzenleme: