danceflare
Üye
- Katılım
- 11 Aralık 2024
- Konular
- 7
- Mesajlar
- 127
- Tepkime puanı
- 91
Kekik akademinin içinde bu dimi
Sitemizi ana ekranınıza bir web uygulaması olarak nasıl yükleyeceğinizi görmek için aşağıdaki videoyu izleyin.
Not: Bu özellik şu anda siteye yerleşik Safari tarayıcısını kullanarak erişmeyi gerektirmektedir.
Bu şuan da bende çalıştı MPC ile ama şimdi de bu çalışmıyor; https://zekonew.iosplayer.ru/zeko/premium62/mono.m3u8Ben pes ediyorumBurada yazılan kanalların hiçbiri çalışmıyor bende. 62 geçen çalışıyordu her şekilde sadece url ile, şimdi çalışmıyor. Anlamadım valla uğraşamayacağım daha fazla.
Bu çalışıyor mesela başkaları çalışmıyor vs..
Rica ederim. Ben de MPC ve Chrome eklentisi ile denedim ama "referer" istemese de "origin" mutlaka istiyor, maalesef direkt açamadım.Evet ama yalnızca bu URL ile; https://zekonew.iosplayer.ru/zeko/premium62/mono.m3u8
o da yalnızca MPC ve Chrome HLS Player ile ama diğer URL bu şekilde açılmıyordu.
Bu arada güzel yararlı bilgiler Teşekkürler.
Yayınlar çok değişken, kimisi direkt açılıyor, kimisi hem header hem AES korumalı, kimisi sadece AES korumalı vs. vs.Ben pes ediyorumBurada yazılan kanalların hiçbiri çalışmıyor bende. 62 geçen çalışıyordu her şekilde sadece url ile, şimdi çalışmıyor. Anlamadım valla uğraşamayacağım daha fazla.
Bu çalışıyor mesela başkaları çalışmıyor vs..
Sen yeterki iste kardeşvalla o konuda ben de senin gibi takıntılıyım her sitede olmuyor muhtemelen oluyor ama hls filan olunca da olmuyor deathless dosyalar da guzel de bulamıyorum var mı güncel ?
Bence herkes eski sisteme dönsün, VLC olmadığı zamanlara; Media Player Clasic eklentili K-lLite Codec Pack Paketi bulunması lazım, en azından deneme amaçlı.Rica ederim. Ben de MPC ve Chrome eklentisi ile denedim ama "referer" istemese de "origin" mutlaka istiyor, maalesef direkt açamadım.
Wuffy Player gibi istediğimiz kadar header ekleyebildiğimiz başka uygulamalar var mı acaba? Hem windows hem android için merak ediyorum.
Yayınlar çok değişken, kimisi direkt açılıyor, kimisi hem header hem AES korumalı, kimisi sadece AES korumalı vs. vs.
Bütün kombinasyonlar mevcut herhalde.![]()
Kekik eklediğiniz yere megarepo yazınMega repo nasil ekleniyor patron
Teşekkür hocam. Vodafone ile vpn olmadan gayet stabil calişiyor.wifide denemedim henüzDepo ekleme kısmına gir, bunu yaz; doGior
Sonra da KekikAkademi yüklüyormuş gibi; bu deponun eklentilerini de sırayla aktıf edin. Aktif edildikten sonra; Kekik'in ekletileri ile beraber Huhu da görünücek. '' Sorunsuz bir şekilde çalışıyor.'' Demek isterdim ama VPN'siz çalışmıyor.
.git gibi bir versiyonlama kullanmadığım için bende her şey birbirine karıştı, anlamıyorum da zatenRica ederim. Ben de MPC ve Chrome eklentisi ile denedim ama "referer" istemese de "origin" mutlaka istiyor, maalesef direkt açamadım.
Wuffy Player gibi istediğimiz kadar header ekleyebildiğimiz başka uygulamalar var mı acaba? Hem windows hem android için merak ediyorum.
Yayınlar çok değişken, kimisi direkt açılıyor, kimisi hem header hem AES korumalı, kimisi sadece AES korumalı vs. vs.
Bütün kombinasyonlar mevcut herhalde.![]()
Senin de bahsettiğin headers olayını proxy ile halletmiş sanırımZiyaretçiler için gizlenmiş link, görmek için kayıt olunuz. Giriş yap veya üye ol.
Benim de derdim zaten genel olarak bu proxy ile header olayı hk bilgilenmek aslında. Çünkü LG tv kullanıyorum, box falan yok, ss-iptv de header yok bende diyor. Cloudware Workers'da yapay zeka yardımıyla bir şeyler yaptım daddylive harici headers için. Çok işlevsel değil ama çalışıyor iyi kötü .dThe m3u-playlist-proxy is a lightweight and efficient solution designed to forward the required headers to proxy M3U playlist streams. This script acts as an intermediary between your client and the server, ensuring that necessary headers (like User-Agent, Referer, etc.) are forwarded correctly. By doing this, it allows seamless access to media streams that require specific request headers for playback.
Bu da değerli bir şeye benziyorZiyaretçiler için gizlenmiş link, görmek için kayıt olunuz. Giriş yap veya üye ol.
abi ben bunu televizo uygulamasına yukledim kanal 0 diyo acaba listeyi yuklerken user agent var atta oraya yazımı yazmak lazım@knowkinq zaten paylaşmış bu kadar uzuna gerek yok ama bunu referans alarak kanalların linkini tek tek bulursanız buna göre düzeltme yapabilirsiniz.
Bende buraya tüm kanalların id dahil php linklerini bırakayım idlere göre stream linklerine giderseniz aradığınız kanalın sayfasına gidersiniz sonrasında m3u8 linkini bulmak size kalacak.
Dogiors repoda var daddyliveAltta ki mesajda bahsettiğim eklenti buydu cloudstream içinde bu eklenti ile daddylive geliyo
Ben çoktan bulmuşum o haldeHocam tuhaflık şurada, denerken farklı linkler seçmişiz ve bazı linkler header istemiyorken bazıları istiyor.
Siz sadece m3u8 linkini oynatıcının url kısmına yazıp yayını açabildiğinizi mi söylüyorsunuz(header falan uğraşmadan) orayı tam anlayamadım.
Bende hiç header eklemeden kabul etmedi.
Linklerin çalışma mantığını şöyle anlatayım:
Mesela sizin daha önce attığınız "https://zekonew.iosplayer.ru/zeko/premium62/mono.m3u8" linki hiç header bilgisi vermesek bile açılıyor.
Sadece yayının içeriği AES ile şifrelenmiş.
M3U içerisinde AES şifrelemesini çözmek için gereken KEY ve IV değerleri zaten verilmiş ki player'lar açabilsin.
![]()
Ama benim denediğim link ise aynı yayının farklı domain üzerinden yönlendirileni.
Ve bu linki açmak için "referer" header'ı olmak zorunda. Yani header mevzusu domain'den domain'e değişiyor gibi.
![]()
Şimdi yukarıdaki iki ekran görüntüsünde dikkat ederseniz AES KEY aldığımız URL birebir aynı.
O da şu şekilde açılıyor:
![]()
M3U'ya ulaşmak için bazen header istemese de yayını oynatabilmek için AES KEY alırken illa ki "origin" header'ı eklememiz gerekiyor.
Yani benim denediğim linklerden ediğindiğim tecrübe şunu söylüyor;
1-Bu linkleri oynatabilmek için AES çözebilen bir player lazım.
2-Playerın AES KEY alıp yayını çözebilmesi için kesinlikle "origin" header'ı eklememiz lazım.
3-Her link için gerekmese de M3U'ya ulaşmak için "referer" header'ı eklememiz lazım, gerekip gerekmediğine bakmaksızın her türlü eklersek zaten garanti olur.
Kısacası hiçbir header değeriyle uğraşmadan sadece ".m3u8" linkinin player'a yazılıp açılabileceğini düşünmüyorum, çünkü en azından AES için gerekli. Hem header istemeyen hem de içeriği AES ile şifrelenmemiş ".m3u8" linkleri denk gelirse ancak bu dediğim olur.
Yukarıda bahsi geçen linkleri ham haliyle açabiliyorsanız gerçekten garip bir durum.
Bu yüzden hem istediğimiz gibi header ekleyebildiğimiz için hem de AES çözebildiği için ben Wuffy player ile açabildim.
HTML:#EXTM3U #EXTINF:-1,TEST https://zekonew.koskoros.ru/zeko/premium62/mono.m3u8|origin=https://pkpakiplay.xyz|referer=https://pkpakiplay.xyz
Üst mesajlarda m3u linki verdim ona göz atabilirsin referans olarak kullanabilirsin.abi ben bunu televizo uygulamasına yukledim kanal 0 diyo acaba listeyi yuklerken user agent var atta oraya yazımı yazmak lazım
Ben de bunu düşünüyordum, gerçi SSİPTV kullanmıyorum ama birilerine liste yolladığımızda ve listede bu başlıklar olursa SSİPTV açmayacak m;.git gibi bir versiyonlama kullanmadığım için bende her şey birbirine karıştı, anlamıyorum da zaten
Bilen birilerinin işine yarayacak bir şey paylaşayım. Redditte bu daddy konusu konuşuluyordu. Birisi yolunu bulmuş ama açıktan söylemek istemedi yayılırsa kapanır diye. Docker hub ta tvapp ya da thetvapp gibi bir aramayla çıkan sonuçlardan biriyle çözebilirsiniz vs demişti. Belki başka bi docker dan bahsediyodu belki de bizim konuştuğumuz dmca yiyen github reposunun içerikleri de var, ondan bahsetmiş de olabilir
Senin de bahsettiğin headers olayını proxy ile halletmiş sanırım
Benim de derdim zaten genel olarak bu proxy ile header olayı hk bilgilenmek aslında. Çünkü LG tv kullanıyorum, box falan yok, ss-iptv de header yok bende diyor. Cloudware Workers'da yapay zeka yardımıyla bir şeyler yaptım daddylive harici headers için. Çok işlevsel değil ama çalışıyor iyi kötü .d
Bir de konuyla uzaktan alakalı merak ettiğim ama henüz hiç denemediğim bir repo bırakayım. Bu konuya böyle ilgi olacağını hiç zannetmiyordum.
Bu da değerli bir şeye benziyor![]()
#EXTVLCOPT:http-referrer=
#EXTVLCOPT:http-origin=
#EXTVLCOPT:http-user-agent=
http referrer işi server işi beni ırgalamaz diyip kesip atmış. İnsanlar bunun için proxy gibi bir çözüm kullanıyor sanırım. Ben de yapay zekaya sordum, Cloudflare Workers önerdi. Ücretsiz günlük 200 bin istek sınırı var, heralde yayının her karesi için istek gidiyor. Çok akıl karı bir iş değil ama sırf yapmış olmak için yaptım, kör topal çalıştı.Ziyaretçiler için gizlenmiş link, görmek için kayıt olunuz. Giriş yap veya üye ol.
export default {
async fetch(request) {
const { searchParams } = new URL(request.url);
const playlistURL = searchParams.get("playlist");
const debug = searchParams.get("debug") === "true";
if (!playlistURL) {
return new Response("Hata: Playlist URL eksik!", { status: 400 });
}
try {
// M3U dosyasını al
const response = await fetch(playlistURL);
if (!response.ok) throw new Error(`Hata: ${response.status} - ${response.statusText}`);
// M3U içeriğini al
const m3uText = await response.text();
// M3U içeriğini işle
const result = processM3U(m3uText, debug);
const modifiedM3U = result.content;
// Debug modu aktifse, debug bilgilerini yanıta ekle
if (debug) {
return new Response(
`--- DEBUG BİLGİLERİ ---\n` +
`İşlenen satır sayısı: ${result.stats.totalLines}\n` +
`İşlenen URL sayısı: ${result.stats.processedURLs}\n` +
`Header bilgileri: ${JSON.stringify(result.stats.headers)}\n\n` +
`--- İŞLENMİŞ İÇERİK ---\n${modifiedM3U}`,
{
headers: { "Content-Type": "text/plain; charset=utf-8" }
}
);
}
// Normal modda içeriği döndür
return new Response(modifiedM3U, {
headers: {
"Content-Type": "application/x-mpegurl",
"Access-Control-Allow-Origin": "*"
}
});
} catch (err) {
return new Response(`Bağlantı hatası: ${err.message}`, { status: 500 });
}
}
};
// M3U işleme fonksiyonu - gelişmiş analiz ve hata ayıklama
function processM3U(m3uContent, debug = false) {
const lines = m3uContent.split('\n');
let modifiedLines = [];
const proxyWorkerURL = "____________BURAYA__.W-2 URL GİRİLECEK____________> bilmemne.workers.dev/proxy gibbi";
// İstatistik ve debug için
const stats = {
totalLines: lines.length,
processedURLs: 0,
headers: {}
};
// URL ve header bilgilerini topla
const channels = [];
let currentChannel = { headers: {} };
// İlk tarama - header ve URL ilişkilerini kur
for (let i = 0; i < lines.length; i++) {
const line = lines[i].trim();
// EXTINF satırı - yeni kanal tanımı
if (line.startsWith('#EXTINF:')) {
// Önceki kanal varsa kaydet
if (currentChannel.url) {
channels.push(currentChannel);
}
// Yeni kanal başlat
currentChannel = {
extinf: line,
headers: {},
lineIndex: i
};
continue;
}
// EXTVLCOPT satırları - header bilgileri
if (line.startsWith('#EXTVLCOPT:')) {
// User-Agent
if (line.startsWith('#EXTVLCOPT:http-user-agent')) {
const userAgent = line.split('=')[1];
currentChannel.headers.userAgent = userAgent;
stats.headers.userAgent = (stats.headers.userAgent || 0) + 1;
}
// Referrer
else if (line.startsWith('#EXTVLCOPT:http-referrer')) {
const referrer = line.split('=')[1];
currentChannel.headers.referrer = referrer;
stats.headers.referrer = (stats.headers.referrer || 0) + 1;
}
continue;
}
// URL satırı
if (line.startsWith('http://') || line.startsWith('https://')) {
currentChannel.url = line;
currentChannel.urlLineIndex = i;
stats.processedURLs++;
}
}
// Son kanalı da ekle
if (currentChannel.url) {
channels.push(currentChannel);
}
// İkinci tarama - M3U içeriğini oluştur
for (let i = 0; i < lines.length; i++) {
const line = lines[i].trim();
// URL satırı mı kontrol et
const channel = channels.find(ch => ch.urlLineIndex === i);
if (channel) {
// URL'yi proxy'le
const proxiedURL = `${proxyWorkerURL}?url=${encodeURIComponent(channel.url)}` +
`&ua=${encodeURIComponent(channel.headers.userAgent || '')}` +
`&ref=${encodeURIComponent(channel.headers.referrer || '')}` +
`&origin=${encodeURIComponent(new URL(channel.url).origin)}` +
`&follow=true`; // Yönlendirmeleri takip et
modifiedLines.push(proxiedURL);
}
// EXTVLCOPT satırlarını filtrele
else if (line.startsWith('#EXTVLCOPT')) {
continue;
}
// Diğer tüm satırları koru
else {
modifiedLines.push(line);
}
}
return {
content: modifiedLines.join('\n'),
stats: stats
};
}
export default {
async fetch(request) {
const { searchParams } = new URL(request.url);
const targetURL = searchParams.get("url");
const userAgent = searchParams.get("ua") || "Mozilla/5.0";
const referer = searchParams.get("ref") || "";
const origin = searchParams.get("origin") || "";
const debug = searchParams.get("debug") === "true";
const followRedirect = searchParams.get("follow") !== "false"; // varsayılan olarak yönlendirmeleri takip et
if (!targetURL) {
return new Response("Hata: URL eksik!", { status: 400 });
}
try {
// İstek için header'ları hazırla
const headers = new Headers();
headers.set("User-Agent", userAgent);
if (referer) {
headers.set("Referer", referer);
}
if (origin) {
headers.set("Origin", origin);
}
// Debug modu aktifse, isteği döndür
if (debug) {
const fullURL = `${targetURL}`;
return new Response(
`Hedef URL: ${fullURL}\n` +
`User-Agent: ${userAgent}\n` +
`Referer: ${referer}\n` +
`Origin: ${origin}\n` +
`Redirect takibi: ${followRedirect ? "Aktif" : "Pasif"}\n`,
{ headers: { "Content-Type": "text/plain; charset=utf-8" } }
);
}
// Talep edilen kaynağı getir - redirect=manual ile yönlendirmeleri kendin yönet
const response = await fetch(targetURL, {
method: "GET",
headers: headers,
redirect: followRedirect ? "follow" : "manual"
});
// Yönlendirme varsa ve takip edilmek isteniyorsa
if (!followRedirect && (response.status === 301 || response.status === 302 || response.status === 307 || response.status === 308)) {
const redirectLocation = response.headers.get("Location");
if (redirectLocation) {
// Yönlendirme URL'sini oluştur
let newURL = redirectLocation;
if (!newURL.startsWith('http')) {
// Göreceli URL ise, mutlak URL'ye dönüştür
const targetURLObj = new URL(targetURL);
newURL = new URL(redirectLocation, targetURLObj.origin).toString();
}
// İçeriği döndür ve yönlendirme bilgisi ekle
return new Response(
`Yönlendirme tespit edildi: ${response.status}\n` +
`Orijinal URL: ${targetURL}\n` +
`Yönlendirilen URL: ${newURL}\n` +
`Not: Yönlendirme takibini etkinleştirmek için &follow=true ekleyin`,
{
headers: {
"Content-Type": "text/plain; charset=utf-8",
"X-Redirect-Location": newURL
},
status: 200
}
);
}
}
// Hata durumunda detaylı bilgi döndür
if (!response.ok) {
const responseText = await response.text().catch(e => "İçerik okunamadı");
return new Response(
`Hedef URL hatası: ${response.status} - ${response.statusText}\n` +
`URL: ${targetURL}\n` +
`Headers: ${JSON.stringify(Object.fromEntries(headers))}\n` +
`Yanıt içeriği: ${responseText.substring(0, 500)}${responseText.length > 500 ? '...' : ''}`,
{
status: response.status,
headers: { "Content-Type": "text/plain; charset=utf-8" }
}
);
}
// İçerik türünü belirle
let contentType = response.headers.get("Content-Type");
if (!contentType) {
// İçerik türünü URL'den belirle
if (targetURL.endsWith('.m3u8')) {
contentType = "application/vnd.apple.mpegurl";
} else if (targetURL.endsWith('.m3u')) {
contentType = "application/x-mpegurl";
} else if (targetURL.endsWith('.ts')) {
contentType = "video/mp2t";
} else {
contentType = "application/octet-stream";
}
}
// HLS içeriği ise ve .m3u8 veya .m3u ise işle
if ((contentType.includes("mpegurl") || targetURL.endsWith('.m3u8') || targetURL.endsWith('.m3u')) &&
response.status === 200) {
const content = await response.text();
// İçerik boş mu kontrol et
if (!content.trim()) {
return new Response(
`Hedef URL boş içerik döndürdü: ${targetURL}`,
{
headers: { "Content-Type": "text/plain; charset=utf-8" },
status: 404
}
);
}
// İçerik HTTP yanıtı gibi görünüyor mu kontrol et
if (content.startsWith('HTTP/')) {
return new Response(
`Hedef URL HTTP yanıtı içeriyor, bu normal değil:\n${content.substring(0, 500)}${content.length > 500 ? '...' : ''}`,
{
headers: { "Content-Type": "text/plain; charset=utf-8" },
status: 200
}
);
}
// Göreceli URL'leri mutlak URL'lere dönüştür
const baseUrl = new URL(targetURL);
const basePath = baseUrl.pathname.substring(0, baseUrl.pathname.lastIndexOf('/') + 1);
// Her satırı işle ve göreceli URL'leri düzelt
const lines = content.split('\n');
const processedLines = lines.map(line => {
// Yorum satırı veya başlık ise değiştirme
if (line.startsWith('#')) {
return line;
}
// URL satırı ise ve göreceli ise mutlak yap
if (line.trim() && !line.startsWith('http')) {
if (line.startsWith('/')) {
// Kök yoldan başlayan göreceli URL
return `${baseUrl.origin}${line}`;
} else {
// Mevcut dizinden göreceli URL
return `${baseUrl.origin}${basePath}${line}`;
}
}
return line;
});
// İşlenmiş içeriği döndür
return new Response(processedLines.join('\n'), {
headers: {
"Content-Type": contentType,
"Access-Control-Allow-Origin": "*"
}
});
}
// Normal içerik - stream olarak döndür
return new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: {
"Content-Type": contentType,
"Access-Control-Allow-Origin": "*"
}
});
} catch (err) {
return new Response(
`Proxy hatası: ${err.message}\n` +
`URL: ${targetURL}\n` +
`Headers: UA=${userAgent}, Ref=${referer}, Origin=${origin}`,
{ status: 500 }
);
}
}
};
Onur ,ben sizin kadar bilgili değilim bu konuda ama yeni bir başlık aç;@Thanos ss-iptv nin geliştiricisi on numara adam
http referrer işi server işi beni ırgalamaz diyip kesip atmış. İnsanlar bunun için proxy gibi bir çözüm kullanıyor sanırım. Ben de yapay zekaya sordum, Cloudflare Workers önerdi. Ücretsiz günlük 200 bin istek sınırı var, heralde yayının her karesi için istek gidiyor. Çok akıl karı bir iş değil ama sırf yapmış olmak için yaptım, kör topal çalıştı.
Bunlar çok daha iyi şekillerde yapılabilir, fikir verir belki diye yaptığımı anlatayım. 2 worker kurdum.
1. worker bir m3u dosyasındaki Url ve Metadatayı(referrer, agent vs) 2. worker ın anlayacağı forma dönüştürüyor. 2. worker da bu bilgiyi sanırım bir proxy mantığıyla metadata içeren bir url olarak döndürüyor. w-1 toparlıyor, w-2 her bir adres için çalışıyor.
Bi yarım saate buraya w-1 w-2 kodlarını atarım.
Cok tesekkurler elinize saglik vpn olmadan acildiTeşekkür hocam. Vodafone ile vpn olmadan gayet stabil calişiyor.wifide denemedim henüz
Rica ederim.Teşekkür hocam. Vodafone ile vpn olmadan gayet stabil calişiyor.wifide denemedim henüz
tamam oldu sağolÜst mesajlarda m3u linki verdim ona göz atabilirsin referans olarak kullanabilirsin.