fix(source): remove XDMovies
was fun while it lasted, I won't implement a 15s websocket wait
This commit is contained in:
parent
b6b67568b5
commit
ff39c59475
50 changed files with 6 additions and 927 deletions
|
|
@ -1,33 +0,0 @@
|
|||
import { createTestContext } from '../test';
|
||||
import { FetcherMock, TmdbId } from '../utils';
|
||||
import { XDMovies } from './XDMovies';
|
||||
|
||||
const ctx = createTestContext();
|
||||
|
||||
describe('XDMovies', () => {
|
||||
let source: XDMovies;
|
||||
|
||||
beforeEach(() => {
|
||||
source = new XDMovies(new FetcherMock(`${__dirname}/__fixtures__/XDMovies`));
|
||||
});
|
||||
|
||||
test('handle non-existent devil\'s bath 2024 gracefully', async () => {
|
||||
const streams = await source.handle(ctx, 'movie', new TmdbId(931944, undefined, undefined));
|
||||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('handle rathnam 2024', async () => {
|
||||
const streams = await source.handle(ctx, 'series', new TmdbId(1171532, undefined, undefined));
|
||||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('handle stranger things s05e08', async () => {
|
||||
const streams = await source.handle(ctx, 'series', new TmdbId(66732, 5, 8));
|
||||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('handle great indian kapil show s03e01', async () => {
|
||||
const streams = await source.handle(ctx, 'series', new TmdbId(247769, 3, 1));
|
||||
expect(streams).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
|
@ -1,124 +0,0 @@
|
|||
import bytes from 'bytes';
|
||||
import * as cheerio from 'cheerio';
|
||||
import { BasicAcceptedElems, CheerioAPI } from 'cheerio';
|
||||
import { AnyNode } from 'domhandler';
|
||||
import memoize from 'memoizee';
|
||||
import { ContentType } from 'stremio-addon-sdk';
|
||||
import { Context, CountryCode, Meta } from '../types';
|
||||
import { Fetcher, findCountryCodes, getTmdbId, getTmdbNameAndYear, Id, TmdbId } from '../utils';
|
||||
import { Source, SourceResult } from './Source';
|
||||
|
||||
interface GetTokenResponse {
|
||||
token: string;
|
||||
}
|
||||
|
||||
interface SearchResponsePartial {
|
||||
tmdb_id: number;
|
||||
path: string;
|
||||
audio_languages: string;
|
||||
}
|
||||
|
||||
interface LinkProtectorResponse {
|
||||
sessionId: string;
|
||||
token: string;
|
||||
}
|
||||
|
||||
export class XDMovies extends Source {
|
||||
public readonly id = 'xdmovies';
|
||||
|
||||
public readonly label = 'XDMovies';
|
||||
|
||||
public override readonly useOnlyWithMaxUrlsFound = 1;
|
||||
|
||||
public readonly contentTypes: ContentType[] = ['movie', 'series'];
|
||||
|
||||
public readonly countryCodes: CountryCode[] = [CountryCode.multi, CountryCode.hi, CountryCode.ta, CountryCode.te, CountryCode.ml, CountryCode.bl, CountryCode.mr, CountryCode.kn, CountryCode.ja, CountryCode.ko, CountryCode.pa, CountryCode.gu];
|
||||
|
||||
public readonly baseUrl = 'https://new.xdmovies.wtf';
|
||||
|
||||
private readonly fetcher: Fetcher;
|
||||
|
||||
public constructor(fetcher: Fetcher) {
|
||||
super();
|
||||
|
||||
this.fetcher = fetcher;
|
||||
|
||||
this.getToken = memoize(this.getToken, {
|
||||
maxAge: 3600000, // 1 hour
|
||||
normalizer: () => 'getToken',
|
||||
});
|
||||
}
|
||||
|
||||
public async handleInternal(ctx: Context, _type: string, id: Id): Promise<SourceResult[]> {
|
||||
const tmdbId = await getTmdbId(ctx, this.fetcher, id);
|
||||
|
||||
const token = await this.getToken(ctx);
|
||||
|
||||
const searchResponseEntry = await this.search(ctx, tmdbId, token);
|
||||
if (!searchResponseEntry) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const html = await this.fetcher.text(ctx, new URL(searchResponseEntry.path, this.baseUrl));
|
||||
const $ = cheerio.load(html);
|
||||
|
||||
if (tmdbId.season) {
|
||||
return Promise.all(
|
||||
$(`#season-episodes-${tmdbId.season} .quality-section .episode-card:nth-child(${tmdbId.episode})`)
|
||||
.map(async (_i, el) => await this.extractSourceResults(ctx, $, el, searchResponseEntry))
|
||||
.toArray(),
|
||||
);
|
||||
}
|
||||
|
||||
return Promise.all(
|
||||
$(`.download-item`)
|
||||
.map(async (_i, el) => await this.extractSourceResults(ctx, $, el, searchResponseEntry))
|
||||
.toArray(),
|
||||
);
|
||||
};
|
||||
|
||||
private readonly getToken = async (ctx: Context): Promise<string> => {
|
||||
const getTokenUrl = new URL('/php/get_token.php', this.baseUrl);
|
||||
const getTokenResponse = (await this.fetcher.json(ctx, getTokenUrl)) as GetTokenResponse;
|
||||
|
||||
return getTokenResponse.token;
|
||||
};
|
||||
|
||||
private readonly search = async (ctx: Context, tmdbId: TmdbId, token: string): Promise<SearchResponsePartial | undefined> => {
|
||||
const [name] = await getTmdbNameAndYear(ctx, this.fetcher, tmdbId);
|
||||
|
||||
const searchUrl = new URL(`/php/search_api.php?query=${encodeURIComponent(name)}&fuzzy=true`, this.baseUrl);
|
||||
const searchResponse = (await this.fetcher.json(ctx, searchUrl, { headers: { 'X-Auth-Token': token, 'X-Requested-With': 'XMLHttpRequest' } })) as SearchResponsePartial[];
|
||||
|
||||
return searchResponse.find(searchResponseEntry => searchResponseEntry.tmdb_id === tmdbId.id);
|
||||
};
|
||||
|
||||
private readonly extractSourceResults = async (ctx: Context, $: CheerioAPI, el: BasicAcceptedElems<AnyNode>, searchResponse: SearchResponsePartial): Promise<SourceResult> => {
|
||||
const localHtml = $(el).html() as string;
|
||||
|
||||
const sizeMatch = localHtml.match(/([\d.]+ ?[GM]B)/);
|
||||
const heightMatch = localHtml.match(/\d{3,}p/) as string[];
|
||||
|
||||
const meta: Meta = {
|
||||
countryCodes: [CountryCode.multi, ...findCountryCodes(searchResponse.audio_languages), ...findCountryCodes(localHtml)],
|
||||
height: parseInt(heightMatch[0] as string),
|
||||
title: $('.custom-title, .episode-title', el).text().trim(),
|
||||
...(sizeMatch && { bytes: bytes.parse(sizeMatch[1] as string) as number }),
|
||||
};
|
||||
|
||||
const url = $('a', el)
|
||||
.map((_i, el) => new URL($(el).attr('href') as string))
|
||||
.get(0) as URL;
|
||||
|
||||
if (!url.host.startsWith('link.')) {
|
||||
return { url, meta };
|
||||
}
|
||||
|
||||
const linkProtectorUrl = await this.fetcher.getFinalRedirectUrl(ctx, url, undefined, 1);
|
||||
const code = linkProtectorUrl.pathname.split('/').pop() as string;
|
||||
|
||||
const linkProtectorResponse = JSON.parse(await this.fetcher.textPost(ctx, new URL('/api/session', linkProtectorUrl), JSON.stringify({ code }), { headers: { 'Content-Type': 'application/json' } })) as LinkProtectorResponse;
|
||||
|
||||
return { url: await this.fetcher.getFinalRedirectUrl(ctx, new URL(`/go/${linkProtectorResponse.sessionId}?t=${encodeURIComponent(linkProtectorResponse.token)}`, linkProtectorUrl), undefined, 1), meta };
|
||||
};
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/8mxktxm8ho4ib44","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2F%2BaySyfZTL909VR98p7H%2Fx%2FRnjzst1hN1mI6Nws68fcimHoIKHREFiIGCW6gE4bsxbChyQq%2FYtE4alltLFU6sO7pj65QXTQ3iCC9qRuL88BtccYX\"}]}","server":"cloudflare","cf-ray":"9d1729440d0bdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/d140ytrad4r228o","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=8Zhyc%2Bs0DGQKKaIL6wXC6fczT4jvg8CNlU%2FTCZ2JNpytPcaSS5gNNta0m%2Fea20GODKrq915ID32W6nNtkDl1MfHE%2Fduw9Uhs8x8XdwxTEasmaA7c\"}]}","server":"cloudflare","cf-ray":"9d1729440cecdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/ft5h778dgcot8yd","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=FiZw4IH3wmQEajkazIzqB8AplFbd%2BnBaQxQe7ZtIvIhct5uSbZAt1rxIAIrCxfz9KBmPPOC71ZK%2BFntMbyGsyNLiQiCYqAhw6v7MJkcoDiiVMgES\"}]}","server":"cloudflare","cf-ray":"9d172943fcd9dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/vfhor1uv59jkrha","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rkHnS3hP%2FRiBmfg%2FKJDPDh8yNqrsIC8McLatK2k1xrrqdTa5qhf4f09Zzae%2Bau0L5mnZc0fyq7i2gV7i4YIrmVsKsnMQkWG9RcEQsMKnDQPsjynW\"}]}","server":"cloudflare","cf-ray":"9d1729440cfbdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/qgdndi5j1rvil2l","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BzqAOMEMSSXvLOiH3ZLMYGZPHwvGAFebol0MBXpTfaLhiTTmm3ZzQuDLbYwFFS9AdqZMfwMj%2BH%2F4CXrSSs13i3dkQ2%2F3NbklPNOpkeqEYRQ4oA4p\"}]}","server":"cloudflare","cf-ray":"9d17293fcf0ddc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/k7sgskvmmzppzap","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=fDE3lNmDY2hy63SlcLJm5f4GQQQHGIi268MBhJ0xAh0dzIEWQRnEDbXzVbbWKuR1Aqgp63JfmAd%2BHQEpVDQPhh5ERBGTX5OygGAmYLtsYyr3opJV\"}]}","server":"cloudflare","cf-ray":"9d172943fcc4dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/bzxqjl1vkvdxsvy","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=k6i0vuY1kWVqKa1mhrJ5xiVwgVHUwHbPtJJo8I4MMOXkPjIsCrvM3AIA2iGd%2F9U%2F4ueAb7vaUIERsbyXibSo0duN8I561Gnr7qxkEskAuLVuW4zW\"}]}","server":"cloudflare","cf-ray":"9d172943ec87dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/iy7587kppeg6b6p","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Hy8rKdEjXdScLLaQ5L5djfiZ3FdNEDSxwesu8r2%2BB4qvlsgrPjGBXEvou0eoDWFG5VWxxG3kvWR8sL2DrPJR0BOHxPgPdmUCJdbPixtAgIq6ERA1\"}]}","server":"cloudflare","cf-ray":"9d17293fcefadc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/oae0mzzzje1xrvy","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=NF4aFJ7QDuTx16D2KtdTOdLlUTr9E9ioqVTWWUtHwc0AWvHXWnqicAG0%2FZZ%2Bzcz6q3Sl5iN6%2F5XXSbxYxqw1rkLS%2B9RhfqeA6WN3koS9QkCzdhYf\"}]}","server":"cloudflare","cf-ray":"9d17293fdf22dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/dn5g8g5drixrrl1","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=n%2FZ6Du96AT%2FQNvc2wtKQyBV0q8uJyMUPToIIeIaTaAKuMnUGxFW39kwvXjARJ2nScPGcE01zoerPRrdWpRc%2FNjOABVuecJyUyed17fusyDkA%2BeZD\"}]}","server":"cloudflare","cf-ray":"9d17293fcf04dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","content-security-policy":"default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' *;style-src 'self' 'unsafe-inline' *;font-src 'self' *;img-src 'self' data: blob: *;frame-src *;connect-src 'self' *;child-src *;worker-src 'self' blob: *;base-uri 'self';form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests","cross-origin-opener-policy":"same-origin","cross-origin-resource-policy":"same-origin","location":"https://hubcloud.foo/drive/njntlayllkcrtb1","origin-agent-cluster":"?1","referrer-policy":"no-referrer","strict-transport-security":"max-age=15552000; includeSubDomains","vary":"Accept","x-content-type-options":"nosniff","x-dns-prefetch-control":"off","x-download-options":"noopen","x-frame-options":"SAMEORIGIN","x-permitted-cross-domain-policies":"none","x-xss-protection":"0","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=oeW%2BJaUxMyxj0nyQ12%2FyAMyOoSZtBC%2FqkZRm8zuQ%2FDysnI%2B4ikr9W5OFMtkl2VOafJCtX%2FWhVIqIJiryZFVkZWC%2FJCZZiedN9If1wnyt1EZpR0H%2B\"}]}","server":"cloudflare","cf-ray":"9d1729441d23dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/BaRR5UMG","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=IhQkwr3mUh1JdZHDmIC9WgouRL7f%2BwVwCa2cN1OkxsfrOfRuO5khw6QI81Trd6%2Bi3YnWtmmb1X8Z%2FA5EhjPOilIwT%2Frqaq7XED52RkP62zDV\"}]}","server":"cloudflare","cf-ray":"9d1729418c6ddc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/w4NVeV6B","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=fD2RsEHhRI9YP8e6EwpUqYuJlj0kyWJt1pyrRc4%2BaA8JqidFemNOMquJSdk2bbyz34cePdu6cl%2FeqibsL6%2FjdIFNFlVrktxBiWvpa2eW3lgY\"}]}","server":"cloudflare","cf-ray":"9d1729419c7fdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/g7gAx_YU","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=LstFtbK%2FVTtzB7KVOKCXP2NTd1w4jlBREu1dc0LOzaYYSTAZbHmE1Bgo6QOYzSTU2a6XZGIJbRh2nLhDl4S7l6DeV7%2F0bOK3wtQgJQKfbMRh\"}]}","server":"cloudflare","cf-ray":"9d172941acbadc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/mnVT6bro","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=xLx3qARvF7TZY1Ey51KGsmyg4e9t0RjiZRFmt8kqW9qgMjk0dVqwKa4xew%2FDA%2Bjit%2BU%2B8NYON7ILpZn21cu87td%2BZwQ9ZmQf%2BQMYSR%2FLkEtJ\"}]}","server":"cloudflare","cf-ray":"9d1729419c8bdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:46 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/QnDe8y4b","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=a%2FbO%2BBV9MbdcJHnkgrMU8WIyzFrMpUPfrcWzkm6MuIIHcAOkMdZjw%2BKHZIRkZY%2FRqHg2ao8dIOe2lxI2Mk8RceqTV34WKtdZ2eIQIjBYZIOS\"}]}","server":"cloudflare","cf-ray":"9d1729321c88dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/hqbV5hDx","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=xPutid00XlvvxCBj5PtYAbd7Rtbl5T%2BMvrc2I%2Fj2yaBkUkKUoEAe%2FS%2F%2FZiPPMhpil1TQKu8lMw8hm9Ubz%2Bv5R9YaBBFNNbIfuDKvX8t7yuNg\"}]}","server":"cloudflare","cf-ray":"9d1729419c99dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:46 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/sZ_A30Nc","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zZGVXxxImJOtHi56nto6%2FTsT6scQzk5UTQBOX21qHm8Ii1szu7BG0ArcX8D5V%2Ff2%2BDBJaqHXvvI4rAIAhs63mJuCmCtWgR%2BUdIQ5IUyBDFbM\"}]}","server":"cloudflare","cf-ray":"9d1729321c81dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:46 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/5U5qFXxQ","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=SSkmfaCeFe1KqmxswqDyjX2E3vjq5%2FXt3%2BNM72lmSIV8f%2BmlDRPaFaSmWQaVBZbSwtTs6y4JDSkdH4jkVo9QvLGeZsCh7vN6J9zCe7cC%2F%2Fc8\"}]}","server":"cloudflare","cf-ray":"9d1729321c9adc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/fVTpJNEC","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zIsmq2dJhVSMSxT%2FL1%2BWt%2FR8S7tLj%2BTXt2YI9DIfN3f%2BfvtLdHrfcqNcf%2B6VaxAM8Alz7ED8fnpN5BvdRkjMUhkChKzdCCA%2Fwn8%2B0yq1VLYd\"}]}","server":"cloudflare","cf-ray":"9d172941acabdc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:48 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/f-yUfi9G","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=uJwVmVumlrag9R0oJemZhpadW7E9oKprf3ADXg%2FkswvZjgkx3SmOvSmyREsjke0WbYcQOI3hfYNSY8NaYgqA5SkzteLbuNs6nzYdTj23CjKE\"}]}","server":"cloudflare","cf-ray":"9d172941acc6dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"date":"Sat, 21 Feb 2026 15:08:46 GMT","content-type":"text/html; charset=utf-8","connection":"close","access-control-allow-origin":"*","location":"https://latestnewsonline.sbs/r/S3Wr3K37","vary":"Accept","x-powered-by":"Express","nel":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}","cf-cache-status":"DYNAMIC","report-to":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=K0o%2FbGIkZenKEYqscVutXGE%2FTcTthz2mrFoOGKaBmuPZ6XdC6kkN6OsVlgCo5S3hrIO7yI9Z3c1%2FIX%2B2u8wVWjDT3IM6GCHEgQObU2TI6HGw\"}]}","server":"cloudflare","cf-ray":"9d1729321ca7dc8e-FRA","alt-svc":"h3=\":443\"; ma=86400"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"adult":false,"backdrop_path":"/u2dKiAl7UQ9sTwhqzFxVpCnjyYT.jpg","belongs_to_collection":null,"budget":0,"genres":[{"id":28,"name":"Action"},{"id":10749,"name":"Romance"}],"homepage":"","id":1171532,"imdb_id":"tt27577888","origin_country":["IN"],"original_language":"ta","original_title":"ரத்னம்","overview":"Rathnam, a henchmen working for MLA Panneer Selvam in Vellore, protects Malliga, a medical student who bears a resemblance to Rathnam's late mother, from the relentless pursuit of land grabbers Rayudu brothers and becomes her guardian angel.","popularity":0.5674,"poster_path":"/j35uUmrMgWNQHrs0Obi8ll0OVfe.jpg","production_companies":[{"id":95823,"logo_path":"/guoPHeFGMZSXvMnF8zNnOgWPuGO.png","name":"Stone Bench Creations","origin_country":"IN"},{"id":86347,"logo_path":"/ir79iQBhrXk9PJ5Pr9vlLjM4viO.png","name":"Zee Studios","origin_country":"IN"}],"production_countries":[{"iso_3166_1":"IN","name":"India"}],"release_date":"2024-04-26","revenue":0,"runtime":159,"spoken_languages":[{"english_name":"Tamil","iso_639_1":"ta","name":"தமிழ்"}],"status":"Released","tagline":"","title":"Rathnam","video":false,"vote_average":5.273,"vote_count":11}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"adult":false,"backdrop_path":"/9oD95lebaaSNQHnLTLjjfITaCg7.jpg","belongs_to_collection":null,"budget":0,"genres":[{"id":18,"name":"Drama"},{"id":9648,"name":"Mystery"},{"id":36,"name":"History"},{"id":27,"name":"Horror"}],"homepage":"","id":931944,"imdb_id":"tt29141112","origin_country":["AT","DE"],"original_language":"de","original_title":"Des Teufels Bad","overview":"In 1750 Austria, a deeply religious woman named Agnes has just married her beloved, but her mind and heart soon grow heavy as her life becomes a long list of chores and expectations. Day after day, she is increasingly trapped in a murky and lonely path leading to evil thoughts, until the possibility of committing a shocking act of violence seems like the only way out of her inner prison.","popularity":1.1239,"poster_path":"/txVfrmwFOKB5qczM0ENYSqKMnSv.jpg","production_companies":[{"id":25523,"logo_path":"/hVnHNJUHSxaTpQdWPzC8B5CRvns.png","name":"Ulrich Seidl Filmproduktion","origin_country":"AT"},{"id":23406,"logo_path":"/tqIQbCdoa2yfPv05wG8mT9EM0gB.png","name":"Heimatfilm","origin_country":"DE"},{"id":122,"logo_path":"/pbRxJ8oia1MypvLbukeamObtYr2.png","name":"Coop99 Filmproduktion","origin_country":"AT"}],"production_countries":[{"iso_3166_1":"AT","name":"Austria"},{"iso_3166_1":"DE","name":"Germany"}],"release_date":"2024-03-08","revenue":0,"runtime":121,"spoken_languages":[{"english_name":"German","iso_639_1":"de","name":"Deutsch"}],"status":"Released","tagline":"","title":"The Devil's Bath","video":false,"vote_average":6.583,"vote_count":156}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"adult":false,"backdrop_path":"/w8L2oVjsSRZdZ1Wcszot9cKZMRO.jpg","created_by":[{"id":1513214,"credit_id":"65e071bba806730161a84c3a","name":"Kapil Sharma","original_name":"Kapil Sharma","gender":2,"profile_path":"/bu0jBQkDJmXCuISoJwktwgamkRX.jpg"}],"episode_run_time":[60],"first_air_date":"2024-03-30","genres":[{"id":10767,"name":"Talk"},{"id":35,"name":"Comedy"}],"homepage":"https://www.netflix.com/title/81737430","id":247769,"in_production":true,"languages":["hi"],"last_air_date":"2026-01-31","last_episode_to_air":{"id":6947233,"name":"Jab Bhidu Went Dhak Dhak","overview":"Their 90s roots bring love and charm wherever they go. Madhuri Dixit and Jackie Shroff take a walk down memory lane with Kapil.","vote_average":0.0,"vote_count":0,"air_date":"2026-02-21","episode_number":10,"episode_type":"standard","production_code":"","runtime":65,"season_number":4,"show_id":247769,"still_path":null},"name":"The Great Indian Kapil Show","next_episode_to_air":{"id":6970721,"name":"Episode 11","overview":"","vote_average":0.0,"vote_count":0,"air_date":"2026-02-28","episode_number":11,"episode_type":"standard","production_code":"","runtime":null,"season_number":4,"show_id":247769,"still_path":null},"networks":[{"id":213,"logo_path":"/wwemzKWzjKYJFfCeiB57q3r4Bcm.png","name":"Netflix","origin_country":""}],"number_of_episodes":48,"number_of_seasons":4,"origin_country":["IN"],"original_language":"hi","original_name":"द ग्रेट इंडियन कपिल शो","overview":"Comedian Kapil Sharma hosts this laugh-out-loud variety talk show with celebrity guests, hilarious antics and his signature supporting cast.","popularity":8.8458,"poster_path":"/3KMCmGDlYLlJ8zGOhCs6f3FZcnj.jpg","production_companies":[{"id":174244,"logo_path":null,"name":"K9 Films Production","origin_country":""},{"id":227389,"logo_path":null,"name":"Beingu Studios","origin_country":""}],"production_countries":[{"iso_3166_1":"IN","name":"India"}],"seasons":[{"air_date":"2024-03-30","episode_count":13,"id":381542,"name":"Season 1","overview":"Comedian Kapil Sharma hosts this laugh-out-loud variety talk show with celebrity guests, hilarious antics and his signature supporting cast.","poster_path":"/lSR8Pn996v5Xfr3SpgO2sRhwamk.jpg","season_number":1,"vote_average":6.9},{"air_date":"2024-09-21","episode_count":13,"id":417968,"name":"Season 2","overview":"Comedian Kapil Sharma brings desi fun to an all-new season featuring celebrity guests, side-splitting gags and a dash of classic Indian charm.","poster_path":"/2yFoz0EHXMlDIqDm6wo6XHv2wiY.jpg","season_number":2,"vote_average":7.8},{"air_date":"2025-06-21","episode_count":14,"id":457951,"name":"Season 3","overview":"Season 3 of The Great Indian Kapil Show brings back India’s most loved comedy talk show with a grander scale, sharper humor, and an even wider range of celebrity guests. Hosted by Kapil Sharma, the season once again combines laugh-out-loud sketches, candid celebrity interviews, and musical performances, making it a wholesome entertainer for audiences of all ages.\n\nThis season, Kapil is joined by his trusted ensemble including Sunil Grover, Krushna Abhishek, Kiku Sharda, and Archana Puran Singh, who deliver hilarious skits rooted in relatable everyday situations. The season also experiments with business-themed specials, film promotions, and personal storytelling that offer a refreshing mix of comedy and insight.","poster_path":"/iaQFw0MVltVqnIVSTkLuArX4Kim.jpg","season_number":3,"vote_average":8.2},{"air_date":"2025-12-20","episode_count":11,"id":487908,"name":"Season 4","overview":"","poster_path":"/zDcZG6bCf6crscEnEF19MMNIi9j.jpg","season_number":4,"vote_average":6.4}],"spoken_languages":[{"english_name":"Hindi","iso_639_1":"hi","name":"हिन्दी"}],"status":"Returning Series","tagline":"","type":"Talk Show","vote_average":7.769,"vote_count":13}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"adult":false,"backdrop_path":"/8zbAoryWbtH0DKdev8abFAjdufy.jpg","created_by":[{"id":1179422,"credit_id":"57599b039251410a99001cce","name":"Ross Duffer","original_name":"Ross Duffer","gender":2,"profile_path":"/7wdhSHgMLry5jBKJT1mdLT3BYaZ.jpg"},{"id":1179419,"credit_id":"57599b0e925141378a002c87","name":"Matt Duffer","original_name":"Matt Duffer","gender":2,"profile_path":"/kXO5CnSxC0znMAICGxnPeuGP73U.jpg"}],"episode_run_time":[],"first_air_date":"2016-07-15","genres":[{"id":10765,"name":"Sci-Fi & Fantasy"},{"id":9648,"name":"Mystery"},{"id":10759,"name":"Action & Adventure"}],"homepage":"https://www.netflix.com/title/80057281","id":66732,"in_production":false,"languages":["en"],"last_air_date":"2025-12-31","last_episode_to_air":{"id":5607051,"name":"Chapter Eight: The Rightside Up","overview":"As Vecna prepares to destroy the world as we know it, the party must put everything on the line to defeat him once and for all.","vote_average":6.898,"vote_count":196,"air_date":"2025-12-31","episode_number":8,"episode_type":"finale","production_code":"","runtime":129,"season_number":5,"show_id":66732,"still_path":"/kP23RWbUWM6vGhT9PxFyP5VT3y4.jpg"},"name":"Stranger Things","next_episode_to_air":null,"networks":[{"id":213,"logo_path":"/wwemzKWzjKYJFfCeiB57q3r4Bcm.png","name":"Netflix","origin_country":""}],"number_of_episodes":42,"number_of_seasons":5,"origin_country":["US"],"original_language":"en","original_name":"Stranger Things","overview":"When a young boy vanishes, a small town uncovers a mystery involving secret experiments, terrifying supernatural forces, and one strange little girl.","popularity":210.6578,"poster_path":"/uOOtwVbSr4QDjAGIifLDwpb2Pdl.jpg","production_companies":[{"id":2575,"logo_path":"/9YJrHYlcfHtwtulkFMAies3aFEl.png","name":"21 Laps Entertainment","origin_country":"US"},{"id":170090,"logo_path":null,"name":"Monkey Massacre Productions","origin_country":"US"},{"id":184664,"logo_path":"/4qv40ryAKUzvwptbv13eXUAl1Wm.png","name":"Upside Down Pictures","origin_country":"US"}],"production_countries":[{"iso_3166_1":"US","name":"United States of America"}],"seasons":[{"air_date":"2016-07-15","episode_count":8,"id":77680,"name":"Season 1","overview":"Strange things are afoot in Hawkins, Indiana, where a young boy's sudden disappearance unearths a young girl with otherworldly powers.","poster_path":"/fOaUnQwDJV22esXEswhaDMSqn2w.jpg","season_number":1,"vote_average":8.4},{"air_date":"2017-10-27","episode_count":9,"id":83248,"name":"Stranger Things 2","overview":"It's been nearly a year since Will's strange disappearance. But life's hardly back to normal in Hawkins. Not even close.","poster_path":"/74nFJmiapxKuUBXRbSu6VqGGcuo.jpg","season_number":2,"vote_average":8.2},{"air_date":"2019-07-04","episode_count":8,"id":115216,"name":"Stranger Things 3","overview":"Budding romance. A brand-new mall. And rabid rats running toward danger. It's the summer of 1985 in Hawkins ... and one summer can change everything.","poster_path":"/x2LSRK2Cm7MZhjluni1msVJ3wDF.jpg","season_number":3,"vote_average":8.2},{"air_date":"2022-05-27","episode_count":9,"id":163313,"name":"Stranger Things 4","overview":"Darkness returns to Hawkins just in time for spring break, igniting fresh terror, disturbing memories — and an ominous new threat.","poster_path":"/zvGTZYDCoMSMIBkXExxRxLYimqN.jpg","season_number":4,"vote_average":8.5},{"air_date":"2025-11-26","episode_count":8,"id":402292,"name":"Stranger Things 5","overview":"The fall of 1987. Hawkins is scarred by rifts. Vecna has vanished and the government has placed the town under military quarantine, forcing Eleven back into hiding. To end this nightmare, they'll need everyone together, one last time.","poster_path":"/5i5Fg549J27knMvhI5NRM2FT3Gn.jpg","season_number":5,"vote_average":7.4}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Ended","tagline":"It only gets stranger...","type":"Scripted","vote_average":8.579,"vote_count":20669}
|
||||
|
|
@ -1,138 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KFGX1HHK8C"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-KFGX1HHK8C');
|
||||
</script>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Rathnam — Movie</title>
|
||||
<meta name="description" content="Rathnam, a henchmen working for MLA Panneer Selvam in Vellore, protects Malliga, a medical student who bears a resemblance to Rathnam's late mother, from the relentless pursuit of land grabbers Rayudu brothers and becomes her guardian angel.">
|
||||
<link rel="stylesheet" href="/css/styles.css">
|
||||
<link rel="stylesheet" href="/css/movie-grid.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
|
||||
<meta property="og:title" content="Rathnam">
|
||||
<meta property="og:description" content="Rathnam, a henchmen working for MLA Panneer Selvam in Vellore, protects Malliga, a medical student who bears a resemblance to Rathnam's late mother, from the relentless pursuit of land grabbers Rayudu brothers and becomes her guardian angel.">
|
||||
<meta property="og:image" content="https://image.tmdb.org/t/p/w500/j35uUmrMgWNQHrs0Obi8ll0OVfe.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="canonical" href="/movies/rathnam-1080p-720p-hindi-download-1171532">
|
||||
<script>window.AUTH_TOKEN = '<?php echo htmlspecialchars(getenv('AUTH_TOKEN') ?: ''); ?>';</script>
|
||||
<script data-cfasync="false" src="//d2n5v45616cm6u.cloudfront.net/?mcvnd=1226697"></script>
|
||||
</head>
|
||||
<body class="dark-mode">
|
||||
<header class="details-header">
|
||||
<div class="navbar">
|
||||
<div style="display:flex;align-items:center;">
|
||||
<a href="/" style="display:flex;align-items:center;text-decoration:none;color:inherit;">
|
||||
<img src="/assets/logo1.png" style="width:32px;height:auto;" alt="XDMovies Logo" />
|
||||
<span><h1 class="logo" style="margin-left:8px;">XDMovies</h1></span>
|
||||
</a>
|
||||
</div>
|
||||
<nav style="margin-left:auto;"><ul class="nav-links"><li><a href="/">Home</a></li><li><a href="/search.html"><i class="fa-solid fa-magnifying-glass" style="margin-right:5px;"></i></a></li></ul></nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="movie-header" id="movie-header" style="background-image: url('https://image.tmdb.org/t/p/original/u2dKiAl7UQ9sTwhqzFxVpCnjyYT.jpg'); background-size: cover; background-position: center; background-attachment: fixed;">
|
||||
</div>
|
||||
<div class="container" id="movie-details">
|
||||
<div class="details-wrapper">
|
||||
<img class="poster" src="https://image.tmdb.org/t/p/w500/j35uUmrMgWNQHrs0Obi8ll0OVfe.jpg" alt="Rathnam">
|
||||
<div class="info">
|
||||
<h2>Rathnam</h2>
|
||||
<p><strong>Rating:</strong> 5.273 / 10 ⭐</p>
|
||||
<p><strong>Genres:</strong> Action, Romance</p>
|
||||
<p><strong>Release Date:</strong> 2024-04-26</p>
|
||||
<p id="audio-info"><strong>Audios:</strong> <span class="neon-audio">Hindi</span></p>
|
||||
<p id="source-info"><strong>Sources:</strong> <span class="neon-source">Amazon</span></p>
|
||||
<p class="overview">Rathnam, a henchmen working for MLA Panneer Selvam in Vellore, protects Malliga, a medical student who bears a resemblance to Rathnam's late mother, from the relentless pursuit of land grabbers Rayudu brothers and becomes her guardian angel.</p>
|
||||
<div class="cast">
|
||||
<h3>Star Cast:</h3>
|
||||
<p><em>Vishal Krishna, Priya Bhavani Shankar, Samuthirakani, Murali Sharma, Hareesh Peradi</em></p>
|
||||
</div>
|
||||
<h3 class="text-center mb-3 text-warning">Download Links:</h3><div class="download-box card shadow-lg pt-2 px-4 pb-4 mt-2"><details class="mb-3"><summary style="cursor:pointer; font-weight:600;">Amazon Versions(4)</summary><div class="download-buttons d-flex flex-wrap justify-content-center gap-3 mt-2"><div class="download-item text-center mb-3"><div class="custom-title mb-2 text-light">Rathnam.2024.720p.AMZN.WEB-DL.DDP2.0.H.265-XDMovies.mkv</div><a href="https://link.xdmovies.wtf/download/YHbqYlMcSKtmw8aTccl621fRFqJWXxeGHAstPRuA0E4" target="_blank" class="movie-download-btn btn btn-warning"><i class="fas fa-download me-2"></i>1.30 GB</a></div><div class="download-item text-center mb-3"><div class="custom-title mb-2 text-light">Rathnam.2024.720p.AMZN.WEB-DL.DDP2.0.H.264-XDMovies.mkv</div><a href="https://link.xdmovies.wtf/download/p1Z-Ii4P-ohUxG4Tc93JP_3jl9-7I5ZOifOf0mDT__4" target="_blank" class="movie-download-btn btn btn-warning"><i class="fas fa-download me-2"></i>4.61 GB</a></div><div class="download-item text-center mb-3"><div class="custom-title mb-2 text-light">Rathnam.2024.1080p.AMZN.WEB-DL.DDP2.0.H.265-XDMovies.mkv</div><a href="https://link.xdmovies.wtf/download/xUChy50yiRXZgCF-_8FbzG46XEGYm13LO2JcZMvY5HE" target="_blank" class="movie-download-btn btn btn-warning"><i class="fas fa-download me-2"></i>3.80 GB</a></div><div class="download-item text-center mb-3"><div class="custom-title mb-2 text-light">Rathnam.2024.1080p.AMZN.WEB-DL.DDP2.0.H.264-XDMovies.mkv</div><a href="https://link.xdmovies.wtf/download/spgEvICetLWnULbCYnmAM0gB_7pNtkDGI-chtTjOteM" target="_blank" class="movie-download-btn btn btn-warning"><i class="fas fa-download me-2"></i>8.48 GB</a></div></div></details></div>
|
||||
|
||||
|
||||
<details class="seo-text" aria-hidden="true">
|
||||
<summary class="seo-summary">Tags Ignore</summary>
|
||||
<p>Download Rathnam in Hindi Full Movie 2024 Free Direct Download from Amazon.</p>
|
||||
<p>Watch Rathnam Online & Download Latest 2024 Direct Download Links & Fast Mirrors.</p>
|
||||
<p>Available quality versions: 1080p, 720p for Rathnam.</p>
|
||||
<p>"Rathnam full movie download"? We provide direct download links and cloud downloads available.</p>
|
||||
<p>Genres: Action, Romance. #action #romance</p>
|
||||
<p>Action Romance 2024 Amazon Online</p>
|
||||
<p>Latest Amazon for free — direct download links and watch online options for Rathnam.</p>
|
||||
<p>Search terms: "Rathnam free download", "Rathnam Hindi full movie download", "Amazon Rathnam download".</p>
|
||||
<p style="display:none;">#action #romance</p>
|
||||
</details>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div class="container"><p>© 2025 XDMovies</p></div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
function toggleSeason(elementId, button) {
|
||||
const contentEl = document.getElementById(elementId);
|
||||
const icon = button.querySelector('i');
|
||||
|
||||
const container = button.closest('.movie-resolutions');
|
||||
if (container) {
|
||||
const allResolutions = container.querySelectorAll('.resolution-episodes');
|
||||
allResolutions.forEach(resolution => {
|
||||
if (resolution.id !== elementId && resolution.classList.contains('active')) {
|
||||
resolution.classList.remove('active');
|
||||
const btn = resolution.previousElementSibling;
|
||||
if (btn) {
|
||||
const btnIcon = btn.querySelector('i');
|
||||
btnIcon.classList.replace('fa-angle-up', 'fa-angle-down');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
contentEl.classList.toggle('active');
|
||||
if (contentEl.classList.contains('active')) {
|
||||
icon.classList.replace('fa-angle-down', 'fa-angle-up');
|
||||
} else {
|
||||
icon.classList.replace('fa-angle-up', 'fa-angle-down');
|
||||
}
|
||||
}
|
||||
|
||||
function toggleQuality(elementId, button) {
|
||||
const contentEl = document.getElementById(elementId);
|
||||
const icon = button.querySelector('i');
|
||||
|
||||
const resolutionEl = button.closest('.resolution-episodes');
|
||||
const allQualities = resolutionEl.querySelectorAll('.quality-episodes');
|
||||
allQualities.forEach(quality => {
|
||||
if (quality.id !== elementId && quality.classList.contains('active')) {
|
||||
quality.classList.remove('active');
|
||||
const btn = quality.previousElementSibling;
|
||||
if (btn) {
|
||||
const btnIcon = btn.querySelector('i');
|
||||
btnIcon.classList.replace('fa-angle-up', 'fa-angle-down');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
contentEl.classList.toggle('active');
|
||||
if (contentEl.classList.contains('active')) {
|
||||
icon.classList.replace('fa-angle-down', 'fa-angle-up');
|
||||
} else {
|
||||
icon.classList.replace('fa-angle-up', 'fa-angle-down');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"token":"7297skkihkajwnsgaklakshuwd"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
[{"id":1565591,"tmdb_id":1171532,"title":"Rathnam","type":"movie","poster":"\/j35uUmrMgWNQHrs0Obi8ll0OVfe.jpg","release_year":"2024","path":"\/movies\/rathnam-1080p-720p-hindi-download-1171532","qualities":["1080p","720p"],"audio_languages":"Hindi"}]
|
||||
|
|
@ -1 +0,0 @@
|
|||
[{"id":196,"tmdb_id":66732,"title":"Stranger Things","type":"tv","poster":"\/cVxVGwHce6xnW8UaVUggaPXbmoE.jpg","release_year":"2016","path":"\/series\/stranger-things-2160p-1080p-hindi-english-download-66732","qualities":["2160p","1080p"],"audio_languages":"Hindi, English, Tamil, Telugu"},{"id":1565254,"tmdb_id":1610413,"title":"One Last Adventure: The Making of Stranger Things 5","type":"movie","exact_match":0,"poster":"\/aZhrAx5CevLfjXcGIG3wBXxDiAL.jpg","release_year":"2026","path":"\/movies\/one-last-adventure-the-making-of-stranger-things-5-1080p-720p-hindi-english-download-1610413","qualities":["1080p","720p"],"audio_languages":"Hindi, English "},{"id":1565800,"tmdb_id":1193128,"title":"I Was a Stranger","type":"movie","exact_match":0,"poster":"\/RBIrEveMOIy5Kxg2WzgMnCIhaN.jpg","release_year":"2025","path":"\/movies\/i-was-a-stranger-2160p-1080p-english-download-1193128","qualities":["2160p","1080p","720p"],"audio_languages":"English"},{"id":166,"tmdb_id":1525025,"title":"A Stranger by the Hill","type":"movie","exact_match":0,"poster":"\/1DK8gt7H99ctCPKt57lyoDG5dpe.jpg","release_year":"2024","path":"\/movies\/a-stranger-by-the-hill-1080p-720p-hindi-download-1525025","qualities":["1080p","720p"],"audio_languages":"Hindi"},{"id":2427,"tmdb_id":1389255,"title":"The Stranger in My Home","type":"movie","exact_match":0,"poster":"\/8rxFUdvtFwAxbyZfSBKPB2Vaal9.jpg","release_year":"2025","path":"\/movies\/the-stranger-in-my-home-2160p-1080p-hindi-english-download-1389255","qualities":["2160p","1080p"],"audio_languages":"Hindi, English "},{"id":1565521,"tmdb_id":48781,"title":"Never Talk to Strangers","type":"movie","exact_match":0,"poster":"\/naZWa06duMvKr4dLrPGgl9yrPZ1.jpg","release_year":"1995","path":"\/movies\/never-talk-to-strangers-1080p-english-download-48781","qualities":["1080p"],"audio_languages":"English"},{"id":2410,"tmdb_id":1010756,"title":"The Strangers: Chapter 2","type":"movie","exact_match":0,"poster":"\/aEk9jLbiKTVssdATbrF879NvyyJ.jpg","release_year":"2025","path":"\/movies\/the-strangers-chapter-2-2160p-1080p-hindi-english-download-1010756","qualities":["2160p","1080p","720p"],"audio_languages":"Hindi, English, Tamil, Telugu, Marathi"},{"id":1565325,"tmdb_id":1240592,"title":"The Wild Blade of Strangers","type":"movie","exact_match":0,"poster":"\/9DZOU5qibB8WeXtzQ00Nl6tiqfw.jpg","release_year":"2024","path":"\/movies\/the-wild-blade-of-strangers-1080p-720p-hindi-tamil-download-1240592","qualities":["1080p","720p"],"audio_languages":"Hindi, Tamil, Telugu, Chinese "},{"id":1565283,"tmdb_id":371608,"title":"The Strangers: Prey at Night","type":"movie","exact_match":0,"poster":"\/vdxLpPsZkPZdFrREp7eSeSzcimj.jpg","release_year":"2018","path":"\/movies\/the-strangers-prey-at-night-1080p-720p-hindi-english-download-371608","qualities":["1080p","720p"],"audio_languages":"Hindi, English"},{"id":152,"tmdb_id":70626,"title":"Stranger","type":"tv","exact_match":0,"poster":"\/blbbtx7DyvZ3JTGyc9MCArDL79b.jpg","release_year":"2017","path":"\/series\/stranger-1080p-hindi-korean-download-70626","qualities":["1080p"],"audio_languages":"Hindi , Korean"},{"id":980,"tmdb_id":60956,"title":"Doctor Stranger","type":"tv","exact_match":0,"poster":"\/odH9cebqUNHKh1p6BKVSs0gsD34.jpg","release_year":"2014","path":"\/series\/doctor-stranger-1080p-korean-download-60956","qualities":["1080p"],"audio_languages":"Korean "},{"id":637,"tmdb_id":89959,"title":"Strangers from Hell","type":"tv","exact_match":0,"poster":"\/o66rEzPzZZWxSrcus2f46CedHhq.jpg","release_year":"2019","path":"\/series\/strangers-from-hell-1080p-720p-english-download-89959","qualities":["1080p","720p"],"audio_languages":"English "}]
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"0f8c6b8a-342d-480c-af34-bf052dc5549c","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIwZjhjNmI4YS0zNDJkLTQ4MGMtYWYzNC1iZjA1MmRjNTU0OWMiLCJjb2RlIjoiNVU1cUZYeFEiLCJpYXQiOjE3NzE2ODY1MjcsImV4cCI6MTc3MTY4NjgyN30.csGusNSX2gjQPrgYzH9dz2QT82ZrH7K3a-wTZGpc-1k"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"a9f28b1e-b3f1-4dcd-ad8c-0abfe7a757b9","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiJhOWYyOGIxZS1iM2YxLTRkY2QtYWQ4Yy0wYWJmZTdhNzU3YjkiLCJjb2RlIjoiQmFSUjVVTUciLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.ToRdDv0ix_5qN0OWwHbv4aF42SPXBKm6qlNcfcPvi9s"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"d5bf3e5d-8908-42fd-b206-c046a1a4f44f","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiJkNWJmM2U1ZC04OTA4LTQyZmQtYjIwNi1jMDQ2YTFhNGY0NGYiLCJjb2RlIjoiUW5EZTh5NGIiLCJpYXQiOjE3NzE2ODY1MjcsImV4cCI6MTc3MTY4NjgyN30.3fIw8zbbgXJ9hzAdDvnpW6ZQZrW6UaMK-oj2YupbdOc"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"64b2046d-1a26-4fc0-93b4-69ec53c74db6","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiI2NGIyMDQ2ZC0xYTI2LTRmYzAtOTNiNC02OWVjNTNjNzRkYjYiLCJjb2RlIjoiUzNXcjNLMzciLCJpYXQiOjE3NzE2ODY1MjcsImV4cCI6MTc3MTY4NjgyN30.X2Up1bHRdinjgGT_YgYf9q2wBAYj3qfYgW2sRlu-vwA"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"1bcf8e16-ccbb-4e5f-b093-d35d3c267c1f","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIxYmNmOGUxNi1jY2JiLTRlNWYtYjA5My1kMzVkM2MyNjdjMWYiLCJjb2RlIjoiZi15VWZpOUciLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.ZZIrYDZTnyIQPfi59zcH-NOaLbqe38XKIkKN1SnaL2c"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"16a8a9dc-9fcc-45bf-b9ef-b3d67a701672","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIxNmE4YTlkYy05ZmNjLTQ1YmYtYjllZi1iM2Q2N2E3MDE2NzIiLCJjb2RlIjoiZlZUcEpORUMiLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.waBkkJaSOFtIHo5begrUtT__tpB8bW_7CgWcP-ifabg"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"0d2129ed-791f-4811-a001-cf5ea5c18daf","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIwZDIxMjllZC03OTFmLTQ4MTEtYTAwMS1jZjVlYTVjMThkYWYiLCJjb2RlIjoiZzdnQXhfWVUiLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.fniwFT3wx7VI_u4fSSueM8QiaSpDSGhTk-I0NUiAq4U"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"bf8bad62-37c4-45d0-9e7b-2381dbe179e8","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiJiZjhiYWQ2Mi0zN2M0LTQ1ZDAtOWU3Yi0yMzgxZGJlMTc5ZTgiLCJjb2RlIjoiaHFiVjVoRHgiLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.6f8BB0UQ1sUSinMNyuQKlmtTBOi4725oSDHW2uXZj0c"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"80c6cbdd-8632-46fb-b2df-9196f744ca25","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiI4MGM2Y2JkZC04NjMyLTQ2ZmItYjJkZi05MTk2Zjc0NGNhMjUiLCJjb2RlIjoibW5WVDZicm8iLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.8UGVM1CPtdZGR8_-oypPcPTglxKIlTVYmJe_4so3U2c"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"1d1afc89-e47e-46e9-a317-47aa85527663","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIxZDFhZmM4OS1lNDdlLTQ2ZTktYTMxNy00N2FhODU1Mjc2NjMiLCJjb2RlIjoic1pfQTMwTmMiLCJpYXQiOjE3NzE2ODY1MjcsImV4cCI6MTc3MTY4NjgyN30.P2bLltzVq8HwCdzVOsyFboB4OfbHiDiOG-leBS-vWCs"}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"sessionId":"3460b8c1-428f-4bca-8357-bb5426657d6e","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiIzNDYwYjhjMS00MjhmLTRiY2EtODM1Ny1iYjU0MjY2NTdkNmUiLCJjb2RlIjoidzROVmVWNkIiLCJpYXQiOjE3NzE2ODY1MjgsImV4cCI6MTc3MTY4NjgyOH0.DxO_Xp9h_ppp3wOiWuZn_zgvDF7YlEQ1NMyXAinrAbQ"}
|
||||
|
|
@ -1,219 +0,0 @@
|
|||
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
||||
|
||||
exports[`XDMovies handle great indian kapil show s03e01 1`] = `
|
||||
[
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 1320702443,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "The.Great.Indian.Kapil.Show.S03E01.1080p.NF.WEB-DL.DDP5.1.AV1-PrimeFix.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.one/drive/3uuwzq1q3pye9yv",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 3103113871,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "The.Great.Indian.Kapil.Show.S03E01.1080p.NF.WEB-DL.DDP5.1.H.264-PrimeFix.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.one/drive/lpuxelnsleaec6y",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 450971566,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "The.Great.Indian.Kapil.Show.S03E01.720p.NF.WEB-DL.DDP5.1.AV1-PrimeFix.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.one/drive/2114yktggdye42a",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 1868310773,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "The.Great.Indian.Kapil.Show.S03E01.720p.NF.WEB-DL.DDP5.1.H.264-PrimeFix.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.one/drive/cgghjzjgjbqxgmi",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`XDMovies handle non-existent devil's bath 2024 gracefully 1`] = `[]`;
|
||||
|
||||
exports[`XDMovies handle rathnam 2024 1`] = `
|
||||
[
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 1395864371,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "Rathnam.2024.720p.AMZN.WEB-DL.DDP2.0.H.265-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/qgdndi5j1rvil2l",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 4949949808,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "Rathnam.2024.720p.AMZN.WEB-DL.DDP2.0.H.264-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/iy7587kppeg6b6p",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 4080218931,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Rathnam.2024.1080p.AMZN.WEB-DL.DDP2.0.H.265-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/oae0mzzzje1xrvy",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 9105330667,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"hi",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Rathnam.2024.1080p.AMZN.WEB-DL.DDP2.0.H.264-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/dn5g8g5drixrrl1",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`XDMovies handle stranger things s05e08 1`] = `
|
||||
[
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 17544941404,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 2160,
|
||||
"title": "Stranger.Things.S05E08.2160p.NF.WEB-DL.DDP5.1.H.265-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/k7sgskvmmzppzap",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 1513975971,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Stranger.Things.S05E08.1080p.NF.WEB-DL.AAC5.1.AV1-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/ft5h778dgcot8yd",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 5508295557,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Stranger.Things.S05E08.1080p.NF.WEB-DL.DDP5.1.H.265-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/d140ytrad4r228o",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 7215545057,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Stranger.Things.S05E08.1080p.NF.WEB-DL.DDP5.1.Atmos.H.264-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/8mxktxm8ho4ib44",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 5991479377,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 1080,
|
||||
"title": "Stranger.Things.S05E08.1080p.NF.WEB-DL.DDP5.1.DV.HDR.H.265-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/bzxqjl1vkvdxsvy",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 1170378588,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "Stranger.Things.S05E08.720p.NF.WEB-DL.AAC5.1.AV1-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/vfhor1uv59jkrha",
|
||||
},
|
||||
{
|
||||
"meta": {
|
||||
"bytes": 2534030704,
|
||||
"countryCodes": [
|
||||
"multi",
|
||||
"en",
|
||||
"hi",
|
||||
"ta",
|
||||
"te",
|
||||
],
|
||||
"height": 720,
|
||||
"title": "Stranger.Things.S05E08.720p.NF.WEB-DL.AAC5.1.H.264-XDMovies.mkv",
|
||||
},
|
||||
"url": "https://hubcloud.foo/drive/njntlayllkcrtb1",
|
||||
},
|
||||
]
|
||||
`;
|
||||
|
|
@ -19,7 +19,6 @@ import { StreamKiste } from './StreamKiste';
|
|||
import { VerHdLink } from './VerHdLink';
|
||||
import { VidSrc } from './VidSrc';
|
||||
import { VixSrc } from './VixSrc';
|
||||
import { XDMovies } from './XDMovies';
|
||||
|
||||
export * from './Source';
|
||||
|
||||
|
|
@ -29,7 +28,6 @@ export const createSources = (fetcher: Fetcher): Source[] => {
|
|||
return [
|
||||
// multi
|
||||
new FourKHDHub(fetcher),
|
||||
new XDMovies(fetcher),
|
||||
new VixSrc(fetcher),
|
||||
new VidSrc(),
|
||||
new RgShows(fetcher),
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ exports[`buildManifest default manifest 1`] = `
|
|||
"config": [
|
||||
{
|
||||
"key": "multi",
|
||||
"title": "Multi 🌐 (4KHDHub, RgShows, VidSrc, VixSrc, XDMovies)",
|
||||
"title": "Multi 🌐 (4KHDHub, RgShows, VidSrc, VixSrc)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
|
|
@ -19,11 +19,6 @@ exports[`buildManifest default manifest 1`] = `
|
|||
"title": "Albanian 🇦🇱 (Kokoshka)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "bl",
|
||||
"title": "Bengali 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "de",
|
||||
"title": "German 🇩🇪 (Einschalten, KinoGer, MegaKino, MeineCloud, StreamKiste)",
|
||||
|
|
@ -39,14 +34,9 @@ exports[`buildManifest default manifest 1`] = `
|
|||
"title": "French 🇫🇷 (Frembed, FrenchCloud, Movix)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "gu",
|
||||
"title": "Gujarati 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "hi",
|
||||
"title": "Hindi 🇮🇳 (4KHDHub, XDMovies)",
|
||||
"title": "Hindi 🇮🇳 (4KHDHub)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
|
|
@ -54,49 +44,19 @@ exports[`buildManifest default manifest 1`] = `
|
|||
"title": "Italian 🇮🇹 (Eurostreaming, MostraGuarda, VixSrc)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "ja",
|
||||
"title": "Japanese 🇯🇵 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "kn",
|
||||
"title": "Kannada 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "ko",
|
||||
"title": "Korean 🇰🇷 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "ml",
|
||||
"title": "Malayalam 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "mr",
|
||||
"title": "Marathi 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "mx",
|
||||
"title": "Latin American Spanish 🇲🇽 (CineHDPlus, Cuevana, HomeCine, VerHdLink)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "pa",
|
||||
"title": "Punjabi 🇮🇳 (XDMovies)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "ta",
|
||||
"title": "Tamil 🇮🇳 (4KHDHub, XDMovies)",
|
||||
"title": "Tamil 🇮🇳 (4KHDHub)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
"key": "te",
|
||||
"title": "Telugu 🇮🇳 (4KHDHub, XDMovies)",
|
||||
"title": "Telugu 🇮🇳 (4KHDHub)",
|
||||
"type": "checkbox",
|
||||
},
|
||||
{
|
||||
|
|
@ -124,9 +84,9 @@ exports[`buildManifest default manifest 1`] = `
|
|||
],
|
||||
"description": "Provides HTTP URLs from streaming websites. Configure add-on for additional languages. Add MediaFlow proxy for more URLs.
|
||||
|
||||
Supported languages: Albanian, Bengali, German, Castilian Spanish, French, Gujarati, Hindi, Italian, Japanese, Kannada, Korean, Malayalam, Marathi, Latin American Spanish, Punjabi, Tamil, Telugu
|
||||
Supported languages: Albanian, German, Castilian Spanish, French, Hindi, Italian, Latin American Spanish, Tamil, Telugu
|
||||
|
||||
Supported sources: 4KHDHub, CineHDPlus, Cuevana, Einschalten, Eurostreaming, Frembed, FrenchCloud, HomeCine, KinoGer, Kokoshka, MegaKino, MeineCloud, MostraGuarda, Movix, RgShows, StreamKiste, VerHdLink, VidSrc, VixSrc, XDMovies
|
||||
Supported sources: 4KHDHub, CineHDPlus, Cuevana, Einschalten, Eurostreaming, Frembed, FrenchCloud, HomeCine, KinoGer, Kokoshka, MegaKino, MeineCloud, MostraGuarda, Movix, RgShows, StreamKiste, VerHdLink, VidSrc, VixSrc
|
||||
|
||||
Supported extractors: ",
|
||||
"id": "webstreamr",
|
||||
|
|
|
|||
Loading…
Reference in a new issue