Versions

  • v16

    7/19/2024
    Open: Version
    Changes from v15 to v16
    +1
    -1
    ⦚ 67 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://tempguy-copperscorpion.web.val.run?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 34 unchanged lines ⦚
    ⦚ 67 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 34 unchanged lines ⦚
  • v15

    7/19/2024
    Open: Version
    Changes from v14 to v15
    +1
    -1
    ⦚ 67 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 34 unchanged lines ⦚
    ⦚ 67 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://tempguy-copperscorpion.web.val.run?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 34 unchanged lines ⦚
  • v14

    7/19/2024
    Open: Version
    Changes from v13 to v14
    +1
    -1
    import { customAlphabet } from "npm:nanoid";
    const nanoid = customAlphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", 10);
    const baseUrl = "https://d000d.com";

    async function doodstream(ctx: Context) {
    let url = ctx.url;
    if (ctx.url.includes("primewire")) {
    ⦚ 99 unchanged lines ⦚
    import { customAlphabet } from "npm:nanoid";
    const nanoid = customAlphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", 10);
    const baseUrl = "https://d000d.com";

    export async function doodstream(ctx: Context) {
    let url = ctx.url;
    if (ctx.url.includes("primewire")) {
    ⦚ 99 unchanged lines ⦚
  • v13

    7/19/2024
    Open: Version
    Changes from v12 to v13
    +68
    -14
    export async function streamtape(ctx) {
    const _embed = await fetch(
    ⦚ 34 unchanged lines ⦚
    interface Context {
    url: string;
    }

    // const context: Context = { url: "https://streamtape.com/v/6Wy2reb0gos40L" };

    // async function main() {
    // try {
    // const result = await streamtape(context);
    // console.log(result);
    // } catch (error) {
    // console.error("Error:", error);
    // }
    // }

    // main();
    import { customAlphabet } from "npm:nanoid";
    const nanoid = customAlphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", 10);
    const baseUrl = "https://d000d.com";

    async function doodstream(ctx: Context) {
    let url = ctx.url;
    if (ctx.url.includes("primewire")) {
    const request = await fetch(ctx.url);
    }
    const id = url.split("/d/")[1] || url.split("/e/")[1];

    const doodDataReq = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(`${baseUrl}/e/${id}`),
    {
    method: "GET",
    },
    );
    const doodData = await doodDataReq.text();
    console.log(doodData);
    const dataForLater = doodData.match(/\?token=([^&]+)&expiry=/)?.[1];
    const path = doodData.match(/\$\.get\('\/pass_md5([^']+)/)?.[1];
    const thumbnailTrack = doodData.match(/thumbnails:\s\{\s*vtt:\s'([^']*)'/);
    console.log(path);
    const doodPageReq = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(`${baseUrl}/pass_md5${path}`),
    {
    headers: {
    Referer: `${baseUrl}/e/${id}`,
    },
    method: "GET",
    },
    );
    const doodPage = await doodPageReq.text();
    const downloadURL = `${doodPage}${nanoid()}?token=${dataForLater}&expiry=${Date.now()}`;
  • v12

    7/19/2024
    Open: Version
    Changes from v11 to v12
    +1
    -1
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://proxy-worker.thunderspeed.workers.dev/proxy?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 47 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 47 unchanged lines ⦚
  • v11

    7/19/2024
    Open: Version
    Changes from v10 to v11
    +1
    -1
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 47 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://proxy-worker.thunderspeed.workers.dev/proxy?destination=`
    + encodeURIComponent(ctx.url),
    );
    ⦚ 47 unchanged lines ⦚
  • v10

    7/19/2024
    Open: Version
    Changes from v9 to v10
    +1
    -1
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + ctx.url,
    );
    const embed = await _embed.text();
    ⦚ 46 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + encodeURIComponent(ctx.url),
    );
    const embed = await _embed.text();
    ⦚ 46 unchanged lines ⦚
  • v9

    7/19/2024
    Open: Version
    Changes from v8 to v9
    +4
    -1
    export async function streamtape(ctx) {
    const _embed = await fetch(ctx.url);
    const embed = await _embed.text();

    ⦚ 45 unchanged lines ⦚
    export async function streamtape(ctx) {
    const _embed = await fetch(
    `https://structural-sidonia-supergalaxy-4284f8da.koyeb.app/hdiuhmalkmc9d0ck7UCFVGBJHN?destination=`
    + ctx.url,
    );
    const embed = await _embed.text();

    ⦚ 45 unchanged lines ⦚
  • v8

    7/19/2024
    Open: Version
    +49
    -0

    export async function streamtape(ctx) {
    const _embed = await fetch(ctx.url);
    const embed = await _embed.text();

    const match = embed.match(/robotlink'\)\.innerHTML = '(.*)'/);
    if (!match) throw new Error("No match found");

    const [fh, sh] = match[1].split("+ ('");
    if (!fh || !sh) throw new Error("No match found");

    const url = `https:${fh.replace(/'/g, "").trim()}${sh.substring(3).trim()}`;

    return {
    stream: [
    {
    id: "primary",
    type: "file",
    flags: [],
    captions: [],
    qualities: {
    unknown: {
    type: "mp4",
    url,
    },
    },
    headers: {
    Referer: "https://streamtape.com",
    },
    },
    ],
    };
    }

    interface Context {
    url: string;
    }
Updated: August 3, 2024