From 74c9bf6ca92e235c90e6d9987280a0f6fc040ca1 Mon Sep 17 00:00:00 2001
From: aka paul <50n50@noreply.localhost>
Date: Fri, 7 Nov 2025 10:51:06 +0000
Subject: [PATCH] Add wearechecking/wearechecking.js
---
wearechecking/wearechecking.js | 148 +++++++++++++++++++++++++++++++++
1 file changed, 148 insertions(+)
create mode 100644 wearechecking/wearechecking.js
diff --git a/wearechecking/wearechecking.js b/wearechecking/wearechecking.js
new file mode 100644
index 0000000..2914217
--- /dev/null
+++ b/wearechecking/wearechecking.js
@@ -0,0 +1,148 @@
+async function searchResults(keyword) {
+ const results = [];
+ try {
+ const urls = [
+ 'https://wearechecking.wtf/streams-pages/motorsports',
+ 'https://wearechecking.wtf/streams-pages/football',
+ 'https://wearechecking.wtf/streams-pages/others'
+ ];
+
+ const responses = await Promise.all(
+ urls.map(url => fetchv2(url).then(res => res.text()))
+ );
+
+ for (const html of responses) {
+ const wrapperRegex = /
]*>([\s\S]*?)<\/div>\s*/gi;
+ let wrapperMatch;
+
+ while ((wrapperMatch = wrapperRegex.exec(html)) !== null) {
+ const wrapperContent = wrapperMatch[1];
+
+ const imgRegex = /

]*onclick="location\.href='([^']+)'[^>]*>\s*
\d+<\/span>([^<]+)<\/p>/gi;
+ let linkMatch;
+
+ while ((linkMatch = streamLinkRegex.exec(wrapperContent)) !== null) {
+ const streamUrl = 'https://wearechecking.wtf' + linkMatch[1];
+ const eventName = linkMatch[2].trim();
+ const title = `[${sport}] ${eventName}`;
+
+ results.push({
+ title: title,
+ image: imageUrl,
+ href: streamUrl
+ });
+ }
+ }
+ }
+
+ return JSON.stringify(results);
+ } catch (err) {
+ return JSON.stringify([{
+ title: "Error",
+ image: "Error",
+ href: "Error"
+ }]);
+ }
+}
+
+async function extractDetails(url) {
+ try {
+ return JSON.stringify([{
+ description: "",
+ aliases: "",
+ airdate: ""
+ }]);
+ } catch (err) {
+ return JSON.stringify([{
+ description: "Error",
+ aliases: "Error",
+ airdate: "Error"
+ }]);
+ }
+}
+
+async function extractEpisodes(url) {
+ const results = [];
+ try {
+ results.push({
+ href: url,
+ number: 1
+ });
+
+ return JSON.stringify(results);
+ } catch (err) {
+ return JSON.stringify([{
+ href: "Error",
+ number: "Error"
+ }]);
+ }
+}
+
+async function extractStreamUrl(pageUrl) {
+ try {
+ const response = await fetchv2(pageUrl);
+ const html = await response.text();
+
+ const iframeRegex = /(?:document\.getElementById\('feed-iframe'\)\.src|src)\s*=\s*['"]https:\/\/ihatestreams\.xyz\/embed\/([a-f0-9\-]+)['"]/i;
+ const match = iframeRegex.exec(html);
+
+ if (!match) return JSON.stringify({ streams: [], subtitle: null });
+
+ const streamId = match[1];
+
+ const streamResponse = await fetchv2(`https://ihatestreams.xyz/get-stream?id=${streamId}`);
+ const streamData = await streamResponse.json();
+
+ let streamUrl = streamData.pointer;
+ let headers = {};
+
+ if (!streamUrl.startsWith("http")) {
+ const baseUrl = `https://gg.revoltedpeanuts.com/${streamUrl}/`;
+ headers = {
+ "Referer": "https://ihatestreams.xyz/",
+ "Origin": "https://ihatestreams.xyz"
+ };
+
+ const manifestResponse = await fetchv2(baseUrl + "index.m3u8", headers);
+ const manifestText = await manifestResponse.text();
+
+ const lines = manifestText.split("\n").map(l => l.trim());
+ const relativePath = lines.find(l => l && !l.startsWith("#")) || "index.m3u8";
+ streamUrl = baseUrl + relativePath;
+ }
+
+ return JSON.stringify({
+ streams: [
+ {
+ title: streamData.title || "Unknown",
+ streamUrl,
+ headers
+ }
+ ],
+ subtitle: streamData.subtitle || null
+ });
+
+ } catch (err) {
+ return JSON.stringify({
+ streams: [
+ {
+ title: "Error",
+ streamUrl: "https://error.org/",
+ headers: {}
+ }
+ ],
+ subtitle: null
+ });
+ }
+}
+
+
+