@heavstaltech/api 1.0.4 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts","../src/dl/tiktok.ts","../src/dl/social.ts","../src/dl/twitter.ts","../src/dl/youtube.ts","../src/utils/tools.ts","../src/index.ts"],"names":["axios","cheerio","USER_AGENTS","getRandomHeaders","cheerio2","cleanUrl","cheerio3","yts","ytdl","https","FormData","cheerio4","search"],"mappings":"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","file":"index.js","sourcesContent":["export interface Author {\n name: string;\n source: string;\n}\n\nexport const AUTHOR: Author = {\n name: \"HEAVSTAL TECH\",\n source: \"https://heavstal-tech.vercel.app\"\n};\n\nexport interface TikTokResult {\n author: Author;\n status: boolean;\n title: string;\n cover?: string;\n origin_cover?: string;\n no_watermark?: string;\n watermark?: string;\n music?: string;\n views?: number | string;\n likes?: number | string;\n comments?: number | string;\n shares?: number | string;\n downloads?: number | string;\n uniqueId?: string;\n profileUrl?: string;\n profileImage?: string;\n hashtags?: string[];\n slideImages?: string[];\n author_name?: string;\n}\n\nexport interface SocialResult {\n author: Author;\n status: boolean;\n type: 'video' | 'image';\n title?: string;\n thumbnail?: string;\n url: string;\n}\n\nexport interface YouTubeResult {\n author: Author;\n title: string;\n thumbnail: string;\n channel: string;\n published: string;\n views: string;\n url: string;\n duration?: number | string;\n status?: boolean;\n}\n\nexport interface YouTubeSearchResult {\n type: 'video' | 'channel' | 'list' | 'live';\n url: string;\n title: string;\n description?: string;\n image?: string;\n thumbnail?: string;\n seconds?: number;\n timestamp?: string;\n views?: number;\n ago?: string;\n author?: {\n name: string;\n url: string;\n };\n}\n\nexport interface UtilsResult {\n author: Author;\n status: boolean;\n data: Buffer | string | any;\n}\n\nexport interface TwitterResult {\n author: Author;\n status: boolean;\n desc: string;\n thumbnail: string;\n video_sd?: string;\n video_hd?: string;\n audio?: string;\n}\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, TikTokResult } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36',\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1'\n];\n\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n 'Accept': 'application/json, text/javascript, */*; q=0.01'\n});\n\nconst cleanText = (str: string) => str ? str.replace(/(<br?\\s?\\/?>)/gi, \" \\n\").replace(/(<([^>]+)>)/gi, \"\").trim() : \"\";\nconst cleanUrl = (url: string) => url ? url.replace('https:', 'http:') : \"\";\n\nconst lovetikFallback = async (url: string): Promise<TikTokResult> => {\n try {\n const { data } = await axios.post(\"https://lovetik.com/api/ajax/search\", \n new URLSearchParams({ query: url }), \n { headers: getRandomHeaders() }\n );\n\n if (!data.links) throw new Error(\"Lovetik: No links found\");\n\n return {\n author: AUTHOR,\n status: true,\n title: cleanText(data.desc),\n cover: cleanUrl(data.cover),\n no_watermark: cleanUrl(data.links.find((l: any) => l.a && !l.s)?.a), // Usually the first link is No WM\n watermark: cleanUrl(data.links.find((l: any) => l.s?.includes('Watermark'))?.a),\n music: cleanUrl(data.links.find((l: any) => l.t?.includes('Audio'))?.a),\n author_name: cleanText(data.author),\n views: \"N/A\"\n } as TikTokResult;\n\n } catch (error: any) {\n throw new Error(`Fallback Failed: ${error.message}`);\n }\n};\n\n/**\n * Main TikTok Function\n * Supports: URL Download & Search Query\n */\nexport const tiktok = async (input: string): Promise<TikTokResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n const isUrl = input.match(/tiktok\\.com/i);\n let data;\n \n try {\n if (isUrl) {\n const apiUrl = `https://www.tikwm.com/api/?url=${encodeURIComponent(input)}`;\n const response = await axios.get(apiUrl, { headers: getRandomHeaders() });\n if (response.data.code !== 0) throw new Error(\"Private video or Invalid URL\");\n data = response.data.data;\n } else {\n const apiUrl = `https://www.tikwm.com/api/feed/search`;\n const response = await axios.post(apiUrl, \n new URLSearchParams({\n keywords: input,\n count: '1',\n cursor: '0',\n HD: '1'\n }), \n { headers: { ...getRandomHeaders(), 'Cookie': 'current_language=en' } }\n );\n \n if (!response.data.data?.videos || response.data.data.videos.length === 0) {\n throw new Error(`No results found for: ${input}`);\n }\n data = response.data.data.videos[0];\n }\n\n const result: TikTokResult = {\n author: AUTHOR,\n status: true,\n title: data.title,\n cover: data.cover,\n origin_cover: data.origin_cover,\n no_watermark: data.play,\n watermark: data.wmplay,\n music: data.music,\n views: data.play_count,\n likes: data.digg_count,\n comments: data.comment_count,\n shares: data.share_count,\n downloads: data.download_count\n };\n resolve(result);\n\n } catch (primaryError) {\n if (isUrl) {\n console.warn(\"Primary TikTok API failed, switching to fallback...\");\n const fallbackData = await lovetikFallback(input);\n resolve(fallbackData);\n } else {\n throw primaryError;\n }\n }\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"TikTok processing failed\"\n });\n }\n });\n};\n\n/**\n * TikTok Slide Downloader\n */\nexport const tiktokSlide = async (url: string): Promise<TikTokResult> => {\n try {\n const response = await axios.post(\"https://api.ttsave.app/\", {\n id: url,\n hash: '1e3a27c51eb6370b0db6f9348a481d69',\n mode: 'slide',\n locale: 'en',\n loading_indicator_url: 'https://ttsave.app/images/slow-down.gif',\n unlock_url: 'https://ttsave.app/en/unlock'\n }, {\n headers: getRandomHeaders()\n });\n\n const $ = cheerio.load(response.data);\n const $element = $('div.flex.flex-col.items-center.justify-center.mt-2.mb-5');\n if ($element.length === 0) throw new Error(\"Slide not found or service unavailable\");\n const statsDiv = $element.find('div.flex.flex-row.items-center.justify-center');\n return {\n author: AUTHOR,\n status: true,\n uniqueId: $element.find('input#unique-id').attr('value'),\n title: $element.find('div.flex.flex-row.items-center.justify-center h2').text().trim(),\n profileImage: $element.find('a').first().find('img').attr('src'),\n profileUrl: $element.find('a').first().attr('href'),\n hashtags: $element.find('p.text-gray-600').text().split(' ').filter(Boolean),\n likes: statsDiv.eq(0).find('span').text().trim(),\n comments: statsDiv.eq(1).find('span').text().trim(),\n shares: statsDiv.eq(2).find('span').text().trim(),\n downloads: statsDiv.eq(3).find('span').text().trim(),\n views: statsDiv.eq(4).find('span').text().trim()\n };\n } catch (error: any) {\n return {\n author: AUTHOR,\n status: false,\n title: \"Error\",\n views: error.message\n } as TikTokResult;\n }\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, SocialResult } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36',\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1'\n];\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',\n 'Accept-Language': 'en-US,en;q=0.5',\n 'Accept-Encoding': 'gzip, deflate, br',\n 'Connection': 'keep-alive'\n});\n\n/**\n * Facebook Video Downloader\n * Source: getmyfb.com\n */\nexport const fbdl = async (url: string): Promise<SocialResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const { data } = await axios.post(\"https://getmyfb.com/process\", \n new URLSearchParams({\n id: url,\n locale: \"en\"\n }), \n {\n headers: {\n ...getRandomHeaders(),\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=UTF-8\",\n \"Cookie\": \"PHPSESSID=mtkljtmk74aiej5h6d846gjbo4; __cflb=04dToeZfC9vebXjRcJCMjjSQh5PprejufZXs2vHCt5; _token=K5Qobnj4QvoYKeLCW6uk\" //s\n }\n }\n );\n\n const $ = cheerio.load(data);\n const results: SocialResult[] = [];\n const title = $(\"div.results-item-text\").eq(0).text().trim();\n const thumbnail = $(\".results-item-image-wrapper img\").attr(\"src\") || \"\";\n $(\"a.btn-download\").each((i, el) => {\n const link = $(el).attr(\"href\");\n if (link) {\n results.push({\n author: AUTHOR,\n status: true,\n type: 'video',\n title: title || \"Facebook Video\",\n thumbnail: thumbnail,\n url: link\n });\n }\n });\n\n if (results.length === 0) {\n const singleLink = $(\"a\").attr(\"href\");\n if(singleLink && singleLink.startsWith('http')) {\n results.push({\n author: AUTHOR,\n status: true,\n type: 'video',\n title: title,\n thumbnail: thumbnail,\n url: singleLink\n })\n } else {\n reject(new Error(\"No Facebook video found (Private or Invalid URL)\"));\n return;\n }\n }\n resolve(results);\n\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"Facebook Download Failed\"\n });\n }\n });\n};\n\n/**\n * Instagram Downloader\n * Source: indown.io\n */\nexport const igdl = async (url: string): Promise<SocialResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const initialResponse = await axios.get(\"https://indown.io/\", {\n headers: getRandomHeaders()\n });\n \n const _$ = cheerio.load(initialResponse.data);\n const referer = _$(\"input[name=referer]\").val() as string;\n const locale = _$(\"input[name=locale]\").val() as string;\n const _token = _$(\"input[name=_token]\").val() as string;\n const cookies = initialResponse.headers[\"set-cookie\"]?.join(\" \") || \"\";\n\n if (!_token) throw new Error(\"Failed to fetch Instagram token\");\n const { data } = await axios.post(\n \"https://indown.io/download\",\n new URLSearchParams({\n link: url,\n referer,\n locale,\n _token,\n }),\n {\n headers: {\n ...getRandomHeaders(),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"Cookie\": cookies,\n \"Origin\": \"https://indown.io\",\n \"Referer\": \"https://indown.io/\"\n },\n }\n );\n\n const $ = cheerio.load(data);\n const result: SocialResult[] = [];\n $(\"video\").each(function () {\n const $$ = $(this);\n const src = $$.find(\"source\").attr(\"src\");\n const poster = $$.attr(\"poster\");\n if (src) {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"video\",\n thumbnail: poster,\n url: src,\n });\n }\n });\n\n $(\"img.img-fluid\").each(function () {\n const $$ = $(this);\n const src = $$.attr(\"src\");\n if (src) {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"image\",\n thumbnail: src,\n url: src,\n });\n }\n });\n \n if(result.length === 0) {\n $(\".btn-group a\").each((i, el) => {\n const link = $(el).attr(\"href\");\n if(link && link !== \"#\") {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"video\",\n url: link\n });\n }\n });\n }\n\n if (result.length === 0) {\n const errorMsg = $(\".alert-danger\").text().trim();\n reject(new Error(errorMsg || \"No media found. Account might be private.\"));\n } else {\n resolve(result);\n }\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"Instagram Download Failed\"\n });\n }\n });\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, TwitterResult } from '../types';\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'\n];\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Origin': 'https://twdown.net',\n 'Referer': 'https://twdown.net/'\n});\n\n/**\n * Twitter/X Video Downloader\n * x.com and twitter.com links\n */\nexport const twitter = async (url: string): Promise<TwitterResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n const cleanUrl = url.replace(\"x.com\", \"twitter.com\");\n const config = new URLSearchParams({ URL: cleanUrl });\n const { data } = await axios.post('https://twdown.net/download.php', config, {\n headers: getRandomHeaders()\n });\n const $ = cheerio.load(data);\n const desc = $('div:nth-child(1) > div:nth-child(2) > p').text().trim();\n const thumb = $('div:nth-child(1) > img').attr('src'); \n const video_hd = $('tbody > tr:nth-child(1) > td:nth-child(4) > a').attr('href');\n const video_sd = $('tr:nth-child(2) > td:nth-child(4) > a').attr('href'); \n let audio = $('body > div.jumbotron > div > center > div.row > div > div:nth-child(5) > table > tbody > tr:nth-child(3) > td:nth-child(4) > a').attr('href');\n if (audio && !audio.startsWith('http')) audio = 'https://twdown.net/' + audio;\n if (!video_sd && !video_hd) {\n throw new Error(\"No media found. Account might be private or link is invalid.\");\n }\n const result: TwitterResult = {\n author: AUTHOR,\n status: true,\n desc: desc || \"X/Twitter Video\",\n thumbnail: thumb || \"\",\n video_sd,\n video_hd,\n audio\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"X/Twitter Download Failed\"\n });\n }\n });\n};\n","import ytdl from '@distube/ytdl-core';\nimport yts from 'yt-search';\nimport { AUTHOR, YouTubeResult, YouTubeSearchResult } from '../types';\n\n/*\n * YouTube Search\n */\nexport const search = async (query: string): Promise<YouTubeSearchResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const result = await yts(query);\n if (!result.all || result.all.length === 0) {\n return reject(new Error(\"No results found on YouTube.\"));\n }\n const data: YouTubeSearchResult[] = result.all.map((item: any) => {\n return {\n type: item.type as 'video' | 'channel' | 'list' | 'live',\n url: item.url,\n title: item.title,\n description: item.description,\n image: item.image,\n thumbnail: item.thumbnail,\n seconds: (item as any).seconds,\n timestamp: (item as any).timestamp,\n views: (item as any).views,\n ago: (item as any).ago,\n author: (item as any).author ? {\n name: (item as any).author.name,\n url: (item as any).author.url\n } : undefined\n };\n });\n resolve(data);\n } catch (error: any) {\n reject({\n message: error.message || \"YouTube Search Failed\"\n });\n }\n });\n};\n\n/*\n * YouTube Audio Downloader\n */\nexport const ytmp3 = async (url: string): Promise<YouTubeResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n if (!ytdl.validateURL(url)) {\n throw new Error(\"Invalid YouTube URL\");\n }\n const info = await ytdl.getInfo(url);\n const format = ytdl.chooseFormat(info.formats, { \n quality: 'highestaudio',\n filter: 'audioonly' \n });\n if (!format) throw new Error(\"No audio stream found\");\n const result: YouTubeResult = {\n author: AUTHOR,\n title: info.videoDetails.title,\n thumbnail: info.videoDetails.thumbnails[info.videoDetails.thumbnails.length - 1].url, // Highest res\n channel: info.videoDetails.ownerChannelName,\n published: info.videoDetails.publishDate,\n views: info.videoDetails.viewCount,\n duration: info.videoDetails.lengthSeconds,\n url: format.url\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"YouTube MP3 Failed\"\n });\n }\n });\n};\n\n/*\n * YouTube Video Downloader\n */\nexport const ytmp4 = async (url: string): Promise<YouTubeResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n if (!ytdl.validateURL(url)) {\n throw new Error(\"Invalid YouTube URL\");\n }\n const info = await ytdl.getInfo(url);\n const format = ytdl.chooseFormat(info.formats, { \n quality: 'highest',\n filter: (f) => f.hasAudio === true && f.hasVideo === true && f.container === 'mp4'\n });\n const finalFormat = format || ytdl.chooseFormat(info.formats, { \n quality: 'highest',\n filter: (f) => f.hasAudio === true && f.hasVideo === true\n });\n if (!finalFormat) throw new Error(\"No video stream found\");\n const result: YouTubeResult = {\n author: AUTHOR,\n title: info.videoDetails.title,\n thumbnail: info.videoDetails.thumbnails[info.videoDetails.thumbnails.length - 1].url,\n channel: info.videoDetails.ownerChannelName,\n published: info.videoDetails.publishDate,\n views: info.videoDetails.viewCount,\n duration: info.videoDetails.lengthSeconds,\n url: finalFormat.url\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"YouTube MP4 Failed\"\n });\n }\n });\n};\n\n/**\n * YouTube Play (Search & Download)\n * Searches for a query, grabs the first result, and returns the download link\n */\nexport const play = async (query: string, type: 'mp3' | 'mp4' = 'mp3'): Promise<YouTubeResult> => {\n try {\n const searchResults = await yts(query);\n const videos = searchResults.all.filter((v: any) => v.type === 'video');\n if (videos.length === 0) {\n throw new Error(`No video results found for: ${query}`);\n }\n const firstVideo = videos[0];\n if (type === 'mp4') {\n return await ytmp4(firstVideo.url);\n } else {\n return await ytmp3(firstVideo.url);\n }\n } catch (error: any) {\n throw new Error(`Play Failed: ${error.message}`);\n }\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport FormData from 'form-data';\nimport https from 'https';\nimport { AUTHOR, Author } from '../types';\n\nconst HEADERS = {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'\n};\n\nconst ignoreSSL = new https.Agent({ \n rejectUnauthorized: false,\n servername: 'inferenceengine.vyro.ai'\n});\n\nconst MORSE_MAP: Record<string, string> = {\n 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.',\n 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..',\n 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.',\n 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',\n 'Y': '-.--', 'Z': '--..',\n '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',\n '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.',\n '.': '.-.-.-', ',': '--..--', '?': '..--..', \"'\": '.----.', '!': '-.-.--',\n '/': '-..-.', '(': '-.--.', ')': '-.--.-', '&': '.-...', ':': '---...',\n ';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-', '_': '..--.-',\n '\"': '.-..-.', '$': '...-..-', '@': '.--.-.',\n ' ': '/' \n};\nconst REVERSE_MORSE = Object.fromEntries(\n Object.entries(MORSE_MAP).map(([char, code]) => [code, char])\n);\n\nexport const ssweb = async (url: string, device: 'desktop' | 'tablet' | 'phone' = 'desktop'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const baseURL = 'https://www.screenshotmachine.com';\n const param = { url: url, device: device, cacheLimit: 0 };\n const { data, headers } = await axios.post(`${baseURL}/capture.php`, \n new URLSearchParams(param as any), {\n headers: { 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': HEADERS['User-Agent'] }\n });\n if (data.status !== 'success') throw new Error('Screenshot generation failed');\n const cookies = headers['set-cookie']?.join('') || '';\n const imageResponse = await axios.get(`${baseURL}/${data.link}`, {\n headers: { 'cookie': cookies, 'User-Agent': HEADERS['User-Agent'] },\n responseType: 'arraybuffer'\n });\n resolve(imageResponse.data);\n } catch (error: any) {\n reject(new Error(`SSWeb Failed: ${error.message}`));\n }\n });\n};\n\nexport const remini = async (imageUrl: string, method: 'enhance' | 'recolor' | 'dehaze' = 'enhance'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const validMethods = [\"enhance\", \"recolor\", \"dehaze\"];\n const selectedMethod = validMethods.includes(method) ? method : \"enhance\";\n const imgBuffer = await axios.get(imageUrl, { responseType: 'arraybuffer' });\n const form = new FormData();\n form.append(\"model_version\", 1, {\n header: { \"Content-Transfer-Encoding\": \"binary\", \"contentType\": \"multipart/form-data; charset=utf-8\" }\n });\n form.append(\"image\", Buffer.from(imgBuffer.data), {\n filename: \"enhance_image_body.jpg\",\n contentType: \"image/jpeg\",\n });\n const url = `https://inferenceengine.vyro.ai/${selectedMethod}`;\n const response = await axios.post(url, form, {\n headers: {\n ...form.getHeaders(),\n \"User-Agent\": \"okhttp/4.9.3\",\n \"Connection\": \"Keep-Alive\",\n \"Accept-Encoding\": \"gzip\"\n },\n responseType: 'arraybuffer',\n httpsAgent: ignoreSSL \n });\n resolve(response.data);\n } catch (error: any) {\n reject(new Error(`Remini Failed: ${error.message}`));\n }\n });\n};\n\nexport const styleText = async (text: string): Promise<{ author: Author, name: string, result: string }[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const { data } = await axios.get(`http://qaz.wtf/u/convert.cgi?text=${encodeURIComponent(text)}`);\n const $ = cheerio.load(data);\n const result: { author: Author, name: string, result: string }[] = [];\n $('table > tbody > tr').each((i, el) => {\n const name = $(el).find('td').first().text().trim();\n const styled = $(el).find('td').eq(1).text().trim();\n if (name && styled) {\n result.push({ author: AUTHOR, name: name, result: styled });\n }\n });\n resolve(result);\n } catch (error: any) {\n reject(new Error(`StyleText Failed: ${error.message}`));\n }\n });\n};\n\nexport const wattpad = async (query: string): Promise<any[]> => {\n try {\n const { data } = await axios.get(`https://www.wattpad.com/search/${encodeURIComponent(query)}`, { headers: HEADERS });\n const $ = cheerio.load(data);\n const results: any[] = [];\n $('.story-card').each((i, el) => {\n const title = $(el).find('.story-title').text().trim();\n const image = $(el).find('.cover img').attr('src');\n const link = 'https://www.wattpad.com' + $(el).find('a.story-card-data').attr('href');\n const reads = $(el).find('.read-count').text().trim(); \n if (title) results.push({ author: AUTHOR, title, image, link, reads });\n });\n if (results.length === 0) {\n $('div.cover').each((i, el) => {\n results.push({ author: AUTHOR, image: $(el).find('img').attr('src') });\n });\n }\n return results;\n } catch (error: any) {\n throw new Error(`Wattpad Failed: ${error.message}`);\n }\n};\n\n/**\n * Morse Code Engine\n * Encodes Text to Morse OR Decodes Morse to Text\n */\nexport const morse = async (input: string, mode: 'encode' | 'decode' = 'encode'): Promise<string> => {\n return new Promise((resolve) => {\n if (mode === 'encode') {\n const result = input\n .toUpperCase()\n .split('')\n .map(char => MORSE_MAP[char] || char)\n .join(' ');\n resolve(result);\n } else {\n const result = input\n .split(' ') \n .map(code => REVERSE_MORSE[code] || (code === '/' ? ' ' : code))\n .join('')\n .replace(/\\s+/g, ' ').trim();\n resolve(result);\n }\n });\n};\n\nexport const tts = async (text: string, lang: string = 'en'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const GOOGLE_TTS_URL = 'https://translate.google.com/translate_tts';\n \n // Limit text length (Google blocks long requests ~200 chars)\n if (text.length > 200) {\n throw new Error(\"Text is too long. Maximum 200 characters.\");\n }\n\n const { data } = await axios.get(GOOGLE_TTS_URL, {\n params: {\n ie: 'UTF-8',\n q: text,\n tl: lang,\n client: 'tw-ob' // The magic key to bypass auth\n },\n responseType: 'arraybuffer', // We need raw audio data\n headers: HEADERS\n });\n\n resolve(data);\n } catch (error: any) {\n reject(new Error(`TTS Failed: ${error.message}`));\n }\n });\n};\n\n\nexport const chords = async (query: string): Promise<any> => {\n try {\n const searchUrl = `https://www.gitagram.com/?s=${encodeURIComponent(query).replace(/%20/g, \"+\")}`;\n const { data } = await axios.get(searchUrl, { headers: HEADERS });\n const $ = cheerio.load(data); \n const firstResultUrl = $(\"table.table > tbody > tr\").eq(0).find(\"td\").eq(0).find(\"a\").eq(0).attr(\"href\");\n if (!firstResultUrl) throw new Error(\"No chords found\");\n const songPage = await axios.get(firstResultUrl, { headers: HEADERS });\n const $song = cheerio.load(songPage.data); \n const $hcontent = $song(\"div.hcontent\");\n const artist = $hcontent.find(\"div > a > span.subtitle\").text().trim();\n const title = $hcontent.find(\"h1.title\").text().trim();\n const content = $song(\"div.content > pre\").text().trim();\n return { author: AUTHOR, title, artist, url: firstResultUrl, chord: content };\n } catch (error: any) {\n throw new Error(`Chords Failed: ${error.message}`);\n }\n};\n","import { tiktok, tiktokSlide } from './dl/tiktok';\nimport { igdl, fbdl } from './dl/social';\nimport { twitter } from './dl/twitter';\nimport { search as ytSearch, ytmp3, ytmp4, play } from './dl/youtube';\nimport { ssweb, remini, styleText, wattpad, chords, morse, tts } from './utils/tools';\n\nexport * from './types';\nexport { \n tiktok, \n tiktokSlide, \n igdl, \n fbdl,\n twitter,\n twitter as xdl,\n ytSearch, \n ytmp3, \n ytmp4, \n play,\n ssweb,\n tts,\n remini, \n styleText, \n wattpad, \n chords,\n morse\n};\nexport const downloader = {\n tiktok,\n tiktokSlide,\n igdl,\n fbdl,\n twitter,\n xdl: twitter,\n ytmp3,\n ytmp4,\n play\n};\nexport const search = {\n youtube: ytSearch,\n wattpad,\n chords\n};\nexport const tools = {\n ssweb,\n remini,\n styleText,\n morse,\n tts\n};\nexport default {\n downloader,\n search,\n tools\n};\n"]}
1
+ {"version":3,"sources":["../src/types.ts","../src/dl/tiktok.ts","../src/dl/social.ts","../src/dl/twitter.ts","../src/dl/youtube.ts","../src/utils/tools.ts","../src/search/lyrics.ts","../src/utils/zipper.ts","../src/index.ts"],"names":["axios","cheerio","USER_AGENTS","getRandomHeaders","cheerio2","cleanUrl","cheerio3","yts","ytdl","https","FormData","cheerio4","AdmZip","search"],"mappings":"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","file":"index.js","sourcesContent":["export interface Author {\n name: string;\n source: string;\n}\n\nexport const AUTHOR: Author = {\n name: \"HEAVSTAL TECH\",\n source: \"https://heavstal-tech.vercel.app\"\n};\n\nexport interface TikTokResult {\n author: Author;\n status: boolean;\n title: string;\n cover?: string;\n origin_cover?: string;\n no_watermark?: string;\n watermark?: string;\n music?: string;\n views?: number | string;\n likes?: number | string;\n comments?: number | string;\n shares?: number | string;\n downloads?: number | string;\n uniqueId?: string;\n profileUrl?: string;\n profileImage?: string;\n hashtags?: string[];\n slideImages?: string[];\n author_name?: string;\n}\n\nexport interface SocialResult {\n author: Author;\n status: boolean;\n type: 'video' | 'image';\n title?: string;\n thumbnail?: string;\n url: string;\n}\n\nexport interface YouTubeResult {\n author: Author;\n title: string;\n thumbnail: string;\n channel: string;\n published: string;\n views: string;\n url: string;\n duration?: number | string;\n status?: boolean;\n}\n\nexport interface YouTubeSearchResult {\n type: 'video' | 'channel' | 'list' | 'live';\n url: string;\n title: string;\n description?: string;\n image?: string;\n thumbnail?: string;\n seconds?: number;\n timestamp?: string;\n views?: number;\n ago?: string;\n author?: {\n name: string;\n url: string;\n };\n}\n\nexport interface UtilsResult {\n author: Author;\n status: boolean;\n data: Buffer | string | any;\n}\n\nexport interface TwitterResult {\n author: Author;\n status: boolean;\n desc: string;\n thumbnail: string;\n video_sd?: string;\n video_hd?: string;\n audio?: string;\n}\n\nexport interface LyricsResult {\n author: Author;\n status: boolean;\n title: string;\n artist: string;\n image: string;\n url: string;\n lyrics: string;\n}\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, TikTokResult } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36',\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1'\n];\n\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n 'Accept': 'application/json, text/javascript, */*; q=0.01'\n});\n\nconst cleanText = (str: string) => str ? str.replace(/(<br?\\s?\\/?>)/gi, \" \\n\").replace(/(<([^>]+)>)/gi, \"\").trim() : \"\";\nconst cleanUrl = (url: string) => url ? url.replace('https:', 'http:') : \"\";\n\nconst lovetikFallback = async (url: string): Promise<TikTokResult> => {\n try {\n const { data } = await axios.post(\"https://lovetik.com/api/ajax/search\", \n new URLSearchParams({ query: url }), \n { headers: getRandomHeaders() }\n );\n\n if (!data.links) throw new Error(\"Lovetik: No links found\");\n\n return {\n author: AUTHOR,\n status: true,\n title: cleanText(data.desc),\n cover: cleanUrl(data.cover),\n no_watermark: cleanUrl(data.links.find((l: any) => l.a && !l.s)?.a), // Usually the first link is No WM\n watermark: cleanUrl(data.links.find((l: any) => l.s?.includes('Watermark'))?.a),\n music: cleanUrl(data.links.find((l: any) => l.t?.includes('Audio'))?.a),\n author_name: cleanText(data.author),\n views: \"N/A\"\n } as TikTokResult;\n\n } catch (error: any) {\n throw new Error(`Fallback Failed: ${error.message}`);\n }\n};\n\n/**\n * Main TikTok Function\n * Supports: URL Download & Search Query\n */\nexport const tiktok = async (input: string): Promise<TikTokResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n const isUrl = input.match(/tiktok\\.com/i);\n let data;\n \n try {\n if (isUrl) {\n const apiUrl = `https://www.tikwm.com/api/?url=${encodeURIComponent(input)}`;\n const response = await axios.get(apiUrl, { headers: getRandomHeaders() });\n if (response.data.code !== 0) throw new Error(\"Private video or Invalid URL\");\n data = response.data.data;\n } else {\n const apiUrl = `https://www.tikwm.com/api/feed/search`;\n const response = await axios.post(apiUrl, \n new URLSearchParams({\n keywords: input,\n count: '1',\n cursor: '0',\n HD: '1'\n }), \n { headers: { ...getRandomHeaders(), 'Cookie': 'current_language=en' } }\n );\n \n if (!response.data.data?.videos || response.data.data.videos.length === 0) {\n throw new Error(`No results found for: ${input}`);\n }\n data = response.data.data.videos[0];\n }\n\n const result: TikTokResult = {\n author: AUTHOR,\n status: true,\n title: data.title,\n cover: data.cover,\n origin_cover: data.origin_cover,\n no_watermark: data.play,\n watermark: data.wmplay,\n music: data.music,\n views: data.play_count,\n likes: data.digg_count,\n comments: data.comment_count,\n shares: data.share_count,\n downloads: data.download_count\n };\n resolve(result);\n\n } catch (primaryError) {\n if (isUrl) {\n console.warn(\"Primary TikTok API failed, switching to fallback...\");\n const fallbackData = await lovetikFallback(input);\n resolve(fallbackData);\n } else {\n throw primaryError;\n }\n }\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"TikTok processing failed\"\n });\n }\n });\n};\n\n/**\n * TikTok Slide Downloader\n */\nexport const tiktokSlide = async (url: string): Promise<TikTokResult> => {\n try {\n const response = await axios.post(\"https://api.ttsave.app/\", {\n id: url,\n hash: '1e3a27c51eb6370b0db6f9348a481d69',\n mode: 'slide',\n locale: 'en',\n loading_indicator_url: 'https://ttsave.app/images/slow-down.gif',\n unlock_url: 'https://ttsave.app/en/unlock'\n }, {\n headers: getRandomHeaders()\n });\n\n const $ = cheerio.load(response.data);\n const $element = $('div.flex.flex-col.items-center.justify-center.mt-2.mb-5');\n if ($element.length === 0) throw new Error(\"Slide not found or service unavailable\");\n const statsDiv = $element.find('div.flex.flex-row.items-center.justify-center');\n return {\n author: AUTHOR,\n status: true,\n uniqueId: $element.find('input#unique-id').attr('value'),\n title: $element.find('div.flex.flex-row.items-center.justify-center h2').text().trim(),\n profileImage: $element.find('a').first().find('img').attr('src'),\n profileUrl: $element.find('a').first().attr('href'),\n hashtags: $element.find('p.text-gray-600').text().split(' ').filter(Boolean),\n likes: statsDiv.eq(0).find('span').text().trim(),\n comments: statsDiv.eq(1).find('span').text().trim(),\n shares: statsDiv.eq(2).find('span').text().trim(),\n downloads: statsDiv.eq(3).find('span').text().trim(),\n views: statsDiv.eq(4).find('span').text().trim()\n };\n } catch (error: any) {\n return {\n author: AUTHOR,\n status: false,\n title: \"Error\",\n views: error.message\n } as TikTokResult;\n }\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, SocialResult } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36',\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1'\n];\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',\n 'Accept-Language': 'en-US,en;q=0.5',\n 'Accept-Encoding': 'gzip, deflate, br',\n 'Connection': 'keep-alive'\n});\n\n/**\n * Facebook Video Downloader\n * Source: getmyfb.com\n */\nexport const fbdl = async (url: string): Promise<SocialResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const { data } = await axios.post(\"https://getmyfb.com/process\", \n new URLSearchParams({\n id: url,\n locale: \"en\"\n }), \n {\n headers: {\n ...getRandomHeaders(),\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=UTF-8\",\n \"Cookie\": \"PHPSESSID=mtkljtmk74aiej5h6d846gjbo4; __cflb=04dToeZfC9vebXjRcJCMjjSQh5PprejufZXs2vHCt5; _token=K5Qobnj4QvoYKeLCW6uk\" //s\n }\n }\n );\n\n const $ = cheerio.load(data);\n const results: SocialResult[] = [];\n const title = $(\"div.results-item-text\").eq(0).text().trim();\n const thumbnail = $(\".results-item-image-wrapper img\").attr(\"src\") || \"\";\n $(\"a.btn-download\").each((i, el) => {\n const link = $(el).attr(\"href\");\n if (link) {\n results.push({\n author: AUTHOR,\n status: true,\n type: 'video',\n title: title || \"Facebook Video\",\n thumbnail: thumbnail,\n url: link\n });\n }\n });\n\n if (results.length === 0) {\n const singleLink = $(\"a\").attr(\"href\");\n if(singleLink && singleLink.startsWith('http')) {\n results.push({\n author: AUTHOR,\n status: true,\n type: 'video',\n title: title,\n thumbnail: thumbnail,\n url: singleLink\n })\n } else {\n reject(new Error(\"No Facebook video found (Private or Invalid URL)\"));\n return;\n }\n }\n resolve(results);\n\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"Facebook Download Failed\"\n });\n }\n });\n};\n\n/**\n * Instagram Downloader\n * Source: indown.io\n */\nexport const igdl = async (url: string): Promise<SocialResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const initialResponse = await axios.get(\"https://indown.io/\", {\n headers: getRandomHeaders()\n });\n \n const _$ = cheerio.load(initialResponse.data);\n const referer = _$(\"input[name=referer]\").val() as string;\n const locale = _$(\"input[name=locale]\").val() as string;\n const _token = _$(\"input[name=_token]\").val() as string;\n const cookies = initialResponse.headers[\"set-cookie\"]?.join(\" \") || \"\";\n\n if (!_token) throw new Error(\"Failed to fetch Instagram token\");\n const { data } = await axios.post(\n \"https://indown.io/download\",\n new URLSearchParams({\n link: url,\n referer,\n locale,\n _token,\n }),\n {\n headers: {\n ...getRandomHeaders(),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"Cookie\": cookies,\n \"Origin\": \"https://indown.io\",\n \"Referer\": \"https://indown.io/\"\n },\n }\n );\n\n const $ = cheerio.load(data);\n const result: SocialResult[] = [];\n $(\"video\").each(function () {\n const $$ = $(this);\n const src = $$.find(\"source\").attr(\"src\");\n const poster = $$.attr(\"poster\");\n if (src) {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"video\",\n thumbnail: poster,\n url: src,\n });\n }\n });\n\n $(\"img.img-fluid\").each(function () {\n const $$ = $(this);\n const src = $$.attr(\"src\");\n if (src) {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"image\",\n thumbnail: src,\n url: src,\n });\n }\n });\n \n if(result.length === 0) {\n $(\".btn-group a\").each((i, el) => {\n const link = $(el).attr(\"href\");\n if(link && link !== \"#\") {\n result.push({\n author: AUTHOR,\n status: true,\n type: \"video\",\n url: link\n });\n }\n });\n }\n\n if (result.length === 0) {\n const errorMsg = $(\".alert-danger\").text().trim();\n reject(new Error(errorMsg || \"No media found. Account might be private.\"));\n } else {\n resolve(result);\n }\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"Instagram Download Failed\"\n });\n }\n });\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport { AUTHOR, TwitterResult } from '../types';\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'\n];\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Origin': 'https://twdown.net',\n 'Referer': 'https://twdown.net/'\n});\n\n/**\n * Twitter/X Video Downloader\n * x.com and twitter.com links\n */\nexport const twitter = async (url: string): Promise<TwitterResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n const cleanUrl = url.replace(\"x.com\", \"twitter.com\");\n const config = new URLSearchParams({ URL: cleanUrl });\n const { data } = await axios.post('https://twdown.net/download.php', config, {\n headers: getRandomHeaders()\n });\n const $ = cheerio.load(data);\n const desc = $('div:nth-child(1) > div:nth-child(2) > p').text().trim();\n const thumb = $('div:nth-child(1) > img').attr('src'); \n const video_hd = $('tbody > tr:nth-child(1) > td:nth-child(4) > a').attr('href');\n const video_sd = $('tr:nth-child(2) > td:nth-child(4) > a').attr('href'); \n let audio = $('body > div.jumbotron > div > center > div.row > div > div:nth-child(5) > table > tbody > tr:nth-child(3) > td:nth-child(4) > a').attr('href');\n if (audio && !audio.startsWith('http')) audio = 'https://twdown.net/' + audio;\n if (!video_sd && !video_hd) {\n throw new Error(\"No media found. Account might be private or link is invalid.\");\n }\n const result: TwitterResult = {\n author: AUTHOR,\n status: true,\n desc: desc || \"X/Twitter Video\",\n thumbnail: thumb || \"\",\n video_sd,\n video_hd,\n audio\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"X/Twitter Download Failed\"\n });\n }\n });\n};\n","import ytdl from '@distube/ytdl-core';\nimport yts from 'yt-search';\nimport { AUTHOR, YouTubeResult, YouTubeSearchResult } from '../types';\n\n/*\n * YouTube Search\n */\nexport const search = async (query: string): Promise<YouTubeSearchResult[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const result = await yts(query);\n if (!result.all || result.all.length === 0) {\n return reject(new Error(\"No results found on YouTube.\"));\n }\n const data: YouTubeSearchResult[] = result.all.map((item: any) => {\n return {\n type: item.type as 'video' | 'channel' | 'list' | 'live',\n url: item.url,\n title: item.title,\n description: item.description,\n image: item.image,\n thumbnail: item.thumbnail,\n seconds: (item as any).seconds,\n timestamp: (item as any).timestamp,\n views: (item as any).views,\n ago: (item as any).ago,\n author: (item as any).author ? {\n name: (item as any).author.name,\n url: (item as any).author.url\n } : undefined\n };\n });\n resolve(data);\n } catch (error: any) {\n reject({\n message: error.message || \"YouTube Search Failed\"\n });\n }\n });\n};\n\n/*\n * YouTube Audio Downloader\n */\nexport const ytmp3 = async (url: string): Promise<YouTubeResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n if (!ytdl.validateURL(url)) {\n throw new Error(\"Invalid YouTube URL\");\n }\n const info = await ytdl.getInfo(url);\n const format = ytdl.chooseFormat(info.formats, { \n quality: 'highestaudio',\n filter: 'audioonly' \n });\n if (!format) throw new Error(\"No audio stream found\");\n const result: YouTubeResult = {\n author: AUTHOR,\n title: info.videoDetails.title,\n thumbnail: info.videoDetails.thumbnails[info.videoDetails.thumbnails.length - 1].url, // Highest res\n channel: info.videoDetails.ownerChannelName,\n published: info.videoDetails.publishDate,\n views: info.videoDetails.viewCount,\n duration: info.videoDetails.lengthSeconds,\n url: format.url\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"YouTube MP3 Failed\"\n });\n }\n });\n};\n\n/*\n * YouTube Video Downloader\n */\nexport const ytmp4 = async (url: string): Promise<YouTubeResult> => {\n return new Promise(async (resolve, reject) => {\n try {\n if (!ytdl.validateURL(url)) {\n throw new Error(\"Invalid YouTube URL\");\n }\n const info = await ytdl.getInfo(url);\n const format = ytdl.chooseFormat(info.formats, { \n quality: 'highest',\n filter: (f) => f.hasAudio === true && f.hasVideo === true && f.container === 'mp4'\n });\n const finalFormat = format || ytdl.chooseFormat(info.formats, { \n quality: 'highest',\n filter: (f) => f.hasAudio === true && f.hasVideo === true\n });\n if (!finalFormat) throw new Error(\"No video stream found\");\n const result: YouTubeResult = {\n author: AUTHOR,\n title: info.videoDetails.title,\n thumbnail: info.videoDetails.thumbnails[info.videoDetails.thumbnails.length - 1].url,\n channel: info.videoDetails.ownerChannelName,\n published: info.videoDetails.publishDate,\n views: info.videoDetails.viewCount,\n duration: info.videoDetails.lengthSeconds,\n url: finalFormat.url\n };\n resolve(result);\n } catch (error: any) {\n reject({\n author: AUTHOR,\n status: false,\n message: error.message || \"YouTube MP4 Failed\"\n });\n }\n });\n};\n\n/**\n * YouTube Play (Search & Download)\n * Searches for a query, grabs the first result, and returns the download link\n */\nexport const play = async (query: string, type: 'mp3' | 'mp4' = 'mp3'): Promise<YouTubeResult> => {\n try {\n const searchResults = await yts(query);\n const videos = searchResults.all.filter((v: any) => v.type === 'video');\n if (videos.length === 0) {\n throw new Error(`No video results found for: ${query}`);\n }\n const firstVideo = videos[0];\n if (type === 'mp4') {\n return await ytmp4(firstVideo.url);\n } else {\n return await ytmp3(firstVideo.url);\n }\n } catch (error: any) {\n throw new Error(`Play Failed: ${error.message}`);\n }\n};\n","import axios from 'axios';\nimport * as cheerio from 'cheerio';\nimport FormData from 'form-data';\nimport https from 'https';\nimport { AUTHOR, Author } from '../types';\n\nconst HEADERS = {\n 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',\n 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'\n};\n\nconst ignoreSSL = new https.Agent({ \n rejectUnauthorized: false,\n servername: 'inferenceengine.vyro.ai'\n});\n\nconst MORSE_MAP: Record<string, string> = {\n 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.',\n 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..',\n 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.',\n 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',\n 'Y': '-.--', 'Z': '--..',\n '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',\n '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.',\n '.': '.-.-.-', ',': '--..--', '?': '..--..', \"'\": '.----.', '!': '-.-.--',\n '/': '-..-.', '(': '-.--.', ')': '-.--.-', '&': '.-...', ':': '---...',\n ';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-', '_': '..--.-',\n '\"': '.-..-.', '$': '...-..-', '@': '.--.-.',\n ' ': '/' \n};\nconst REVERSE_MORSE = Object.fromEntries(\n Object.entries(MORSE_MAP).map(([char, code]) => [code, char])\n);\n\nexport const ssweb = async (url: string, device: 'desktop' | 'tablet' | 'phone' = 'desktop'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const baseURL = 'https://www.screenshotmachine.com';\n const param = { url: url, device: device, cacheLimit: 0 };\n const { data, headers } = await axios.post(`${baseURL}/capture.php`, \n new URLSearchParams(param as any), {\n headers: { 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': HEADERS['User-Agent'] }\n });\n if (data.status !== 'success') throw new Error('Screenshot generation failed');\n const cookies = headers['set-cookie']?.join('') || '';\n const imageResponse = await axios.get(`${baseURL}/${data.link}`, {\n headers: { 'cookie': cookies, 'User-Agent': HEADERS['User-Agent'] },\n responseType: 'arraybuffer'\n });\n resolve(imageResponse.data);\n } catch (error: any) {\n reject(new Error(`SSWeb Failed: ${error.message}`));\n }\n });\n};\n\nexport const remini = async (imageUrl: string, method: 'enhance' | 'recolor' | 'dehaze' = 'enhance'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const validMethods = [\"enhance\", \"recolor\", \"dehaze\"];\n const selectedMethod = validMethods.includes(method) ? method : \"enhance\";\n const imgBuffer = await axios.get(imageUrl, { responseType: 'arraybuffer' });\n const form = new FormData();\n form.append(\"model_version\", 1, {\n header: { \"Content-Transfer-Encoding\": \"binary\", \"contentType\": \"multipart/form-data; charset=utf-8\" }\n });\n form.append(\"image\", Buffer.from(imgBuffer.data), {\n filename: \"enhance_image_body.jpg\",\n contentType: \"image/jpeg\",\n });\n const url = `https://inferenceengine.vyro.ai/${selectedMethod}`;\n const response = await axios.post(url, form, {\n headers: {\n ...form.getHeaders(),\n \"User-Agent\": \"okhttp/4.9.3\",\n \"Connection\": \"Keep-Alive\",\n \"Accept-Encoding\": \"gzip\"\n },\n responseType: 'arraybuffer',\n httpsAgent: ignoreSSL \n });\n resolve(response.data);\n } catch (error: any) {\n reject(new Error(`Remini Failed: ${error.message}`));\n }\n });\n};\n\nexport const styleText = async (text: string): Promise<{ author: Author, name: string, result: string }[]> => {\n return new Promise(async (resolve, reject) => {\n try {\n const { data } = await axios.get(`http://qaz.wtf/u/convert.cgi?text=${encodeURIComponent(text)}`);\n const $ = cheerio.load(data);\n const result: { author: Author, name: string, result: string }[] = [];\n $('table > tbody > tr').each((i, el) => {\n const name = $(el).find('td').first().text().trim();\n const styled = $(el).find('td').eq(1).text().trim();\n if (name && styled) {\n result.push({ author: AUTHOR, name: name, result: styled });\n }\n });\n resolve(result);\n } catch (error: any) {\n reject(new Error(`StyleText Failed: ${error.message}`));\n }\n });\n};\n\nexport const wattpad = async (query: string): Promise<any[]> => {\n try {\n const { data } = await axios.get(`https://www.wattpad.com/search/${encodeURIComponent(query)}`, { headers: HEADERS });\n const $ = cheerio.load(data);\n const results: any[] = [];\n $('.story-card').each((i, el) => {\n const title = $(el).find('.story-title').text().trim();\n const image = $(el).find('.cover img').attr('src');\n const link = 'https://www.wattpad.com' + $(el).find('a.story-card-data').attr('href');\n const reads = $(el).find('.read-count').text().trim(); \n if (title) results.push({ author: AUTHOR, title, image, link, reads });\n });\n if (results.length === 0) {\n $('div.cover').each((i, el) => {\n results.push({ author: AUTHOR, image: $(el).find('img').attr('src') });\n });\n }\n return results;\n } catch (error: any) {\n throw new Error(`Wattpad Failed: ${error.message}`);\n }\n};\n\n/**\n * Morse Code Engine\n * Encodes Text to Morse OR Decodes Morse to Text\n */\nexport const morse = async (input: string, mode: 'encode' | 'decode' = 'encode'): Promise<string> => {\n return new Promise((resolve) => {\n if (mode === 'encode') {\n const result = input\n .toUpperCase()\n .split('')\n .map(char => MORSE_MAP[char] || char)\n .join(' ');\n resolve(result);\n } else {\n const result = input\n .split(' ') \n .map(code => REVERSE_MORSE[code] || (code === '/' ? ' ' : code))\n .join('')\n .replace(/\\s+/g, ' ').trim();\n resolve(result);\n }\n });\n};\n\nexport const tts = async (text: string, lang: string = 'en'): Promise<Buffer> => {\n return new Promise(async (resolve, reject) => {\n try {\n const GOOGLE_TTS_URL = 'https://translate.google.com/translate_tts';\n \n // Limit text length (Google blocks long requests ~200 chars)\n if (text.length > 200) {\n throw new Error(\"Text is too long. Maximum 200 characters.\");\n }\n\n const { data } = await axios.get(GOOGLE_TTS_URL, {\n params: {\n ie: 'UTF-8',\n q: text,\n tl: lang,\n client: 'tw-ob' // The magic key to bypass auth\n },\n responseType: 'arraybuffer', // We need raw audio data\n headers: HEADERS\n });\n\n resolve(data);\n } catch (error: any) {\n reject(new Error(`TTS Failed: ${error.message}`));\n }\n });\n};\n\n\nexport const chords = async (query: string): Promise<any> => {\n try {\n const searchUrl = `https://www.gitagram.com/?s=${encodeURIComponent(query).replace(/%20/g, \"+\")}`;\n const { data } = await axios.get(searchUrl, { headers: HEADERS });\n const $ = cheerio.load(data); \n const firstResultUrl = $(\"table.table > tbody > tr\").eq(0).find(\"td\").eq(0).find(\"a\").eq(0).attr(\"href\");\n if (!firstResultUrl) throw new Error(\"No chords found\");\n const songPage = await axios.get(firstResultUrl, { headers: HEADERS });\n const $song = cheerio.load(songPage.data); \n const $hcontent = $song(\"div.hcontent\");\n const artist = $hcontent.find(\"div > a > span.subtitle\").text().trim();\n const title = $hcontent.find(\"h1.title\").text().trim();\n const content = $song(\"div.content > pre\").text().trim();\n return { author: AUTHOR, title, artist, url: firstResultUrl, chord: content };\n } catch (error: any) {\n throw new Error(`Chords Failed: ${error.message}`);\n }\n};\n","import axios from 'axios';\nimport { AUTHOR, LyricsResult } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'\n];\n\nconst getRandomHeaders = () => ({\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)]\n});\n\nconst fetchLrcLib = async (query: string): Promise<LyricsResult> => {\n const searchUrl = `https://lrclib.net/api/search?q=${encodeURIComponent(query)}`;\n const { data } = await axios.get(searchUrl, { headers: getRandomHeaders() });\n if (!Array.isArray(data) || data.length === 0) {\n throw new Error(\"No lyrics found on LRCLIB.\");\n }\n \n const track = data.find((t: any) => t.plainLyrics) || data[0];\n if (!track.plainLyrics && !track.syncedLyrics) {\n throw new Error(\"Track found but no lyrics content.\");\n }\n return {\n author: AUTHOR,\n status: true,\n title: track.trackName,\n artist: track.artistName,\n image: track.albumArt || \"https://ibb.co/fVyg0TN6\",\n url: `https://lrclib.net/api/get/${track.id}`,\n lyrics: track.plainLyrics || track.syncedLyrics\n };\n};\n\nconst fetchGenius = async (query: string): Promise<LyricsResult> => {\n const searchUrl = `https://genius.com/api/search/multi?per_page=1&q=${encodeURIComponent(query)}`;\n const { data } = await axios.get(searchUrl, { \n headers: { ...getRandomHeaders(), 'Referer': 'https://genius.com/' } \n });\n\n const hit = data.response?.sections?.find((s: any) => s.type === 'song')?.hits?.[0]?.result;\n if (!hit) throw new Error(\"No songs found on Genius.\");\n return {\n author: AUTHOR,\n status: true,\n title: hit.title,\n artist: hit.artist_names,\n image: hit.song_art_image_thumbnail_url,\n url: hit.url,\n lyrics: `[Lyrics available at source]\\n${hit.url}`\n };\n};\n\nexport const lyrics = async (query: string): Promise<LyricsResult> => {\n try {\n return await fetchLrcLib(query);\n } catch (lrcError) {\n try {\n return await fetchGenius(query);\n } catch (geniusError: any) {\n throw new Error(`Lyrics lookup failed. LRCLIB: ${lrcError}. Genius: ${geniusError.message}`);\n }\n }\n};\n","import axios from 'axios';\nimport AdmZip from 'adm-zip';\nimport { AUTHOR } from '../types';\n\nconst USER_AGENTS = [\n 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',\n 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'\n];\n\nconst TEXT_EXTENSIONS = [\n 'js', 'ts', 'jsx', 'tsx', 'json', 'html', 'css', 'scss', 'less', \n 'md', 'txt', 'yml', 'yaml', 'sql', 'py', 'java', 'c', 'cpp', 'h', \n 'cs', 'php', 'rb', 'go', 'rs', 'swift', 'kt', 'xml', 'svg', 'env', \n 'gitignore', 'dockerfile', 'sh', 'bat', 'conf', 'ini', 'properties'\n];\n\nconst BINARY_EXTENSIONS = [\n 'png', 'jpg', 'jpeg', 'gif', 'webp', 'ico', 'bmp', 'tiff', \n 'mp3', 'wav', 'ogg', 'mp4', 'webm', 'mov', 'mkv', 'zip', 'tar', 'gz', '7z', 'rar'\n];\n\nexport const unzipToText = async (url: string): Promise<{ author: typeof AUTHOR, buffer: Buffer, filename: string }> => {\n try {\n const response = await axios.get(url, { \n responseType: 'arraybuffer',\n headers: {\n 'User-Agent': USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)]\n }\n });\n\n const zipBuffer = Buffer.from(response.data);\n const zip = new AdmZip(zipBuffer);\n const zipEntries = zip.getEntries();\n\n let output = `EXTRACTED BY HEAVSTAL TECH\\nSOURCE: ${url}\\nDATE: ${new Date().toISOString()}\\n\\n`;\n\n for (const entry of zipEntries) {\n if (entry.isDirectory) continue;\n\n const path = entry.entryName;\n const ext = path.split('.').pop()?.toLowerCase() || '';\n \n output += `================================================================================\\n`;\n output += `FILE: ${path}\\n`;\n output += `================================================================================\\n`;\n\n try {\n if (ext === 'pdf') {\n output += `[File contents not extracted - PDF Document]\\n\\n`;\n } \n else if (BINARY_EXTENSIONS.includes(ext)) {\n const b64 = entry.getData().toString('base64');\n const mime = ext === 'mp3' ? 'audio/mpeg' : `image/${ext}`;\n output += `data:${mime};base64,${b64}\\n\\n`;\n } \n else if (TEXT_EXTENSIONS.includes(ext) || !ext) {\n const content = entry.getData().toString('utf8');\n output += `${content}\\n\\n`;\n } \n else {\n const buffer = entry.getData();\n if (buffer.includes(0x00)) {\n output += `data:application/octet-stream;base64,${buffer.toString('base64')}\\n\\n`;\n } else {\n output += `${buffer.toString('utf8')}\\n\\n`;\n }\n }\n } catch (err) {\n output += `[Error reading file: ${(err as Error).message}]\\n\\n`;\n }\n }\n\n return {\n author: AUTHOR,\n buffer: Buffer.from(output, 'utf-8'),\n filename: 'extracted_codebase.txt'\n };\n\n } catch (error: any) {\n throw new Error(`Unzip Failed: ${error.message}`);\n }\n};\n","import { tiktok, tiktokSlide } from './dl/tiktok';\nimport { igdl, fbdl } from './dl/social';\nimport { twitter } from './dl/twitter';\nimport { search as ytSearch, ytmp3, ytmp4, play } from './dl/youtube';\nimport { ssweb, remini, styleText, wattpad, chords, morse, tts } from './utils/tools';\n// import { ephoto } from './utils/maker';\nimport { lyrics } from './search/lyrics';\nimport { unzipToText } from './utils/zipper';\n\nexport * from './types';\n\nexport { \n tiktok, \n tiktokSlide, \n igdl, \n fbdl, \n twitter,\n unzipToText,\n twitter as xdl,\n ytSearch, \n ytmp3, \n ytmp4, \n play,\n ssweb, \n remini, \n styleText, \n wattpad, \n chords,\n morse,\n tts,\n // ephoto,\n lyrics\n};\n\nexport const downloader = {\n tiktok,\n tiktokSlide,\n igdl,\n fbdl,\n twitter,\n xdl: twitter,\n ytmp3,\n ytmp4,\n play\n};\n\nexport const search = {\n youtube: ytSearch,\n wattpad,\n chords,\n lyrics\n};\n\nexport const tools = {\n ssweb,\n remini,\n unzipToText,\n unzip: unzipToText,\n styleText,\n morse,\n tts,\n// ephoto\n};\n\nexport default {\n downloader,\n search,\n tools\n};\n"]}
package/dist/index.mjs CHANGED
@@ -4,6 +4,7 @@ import ytdl from '@distube/ytdl-core';
4
4
  import yts from 'yt-search';
5
5
  import FormData from 'form-data';
6
6
  import https from 'https';
7
+ import AdmZip from 'adm-zip';
7
8
 
8
9
  // src/dl/tiktok.ts
9
10
 
@@ -697,6 +698,195 @@ var chords = async (query) => {
697
698
  throw new Error(`Chords Failed: ${error.message}`);
698
699
  }
699
700
  };
701
+ var USER_AGENTS4 = [
702
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
703
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
704
+ ];
705
+ var getRandomHeaders4 = () => ({
706
+ "User-Agent": USER_AGENTS4[Math.floor(Math.random() * USER_AGENTS4.length)]
707
+ });
708
+ var fetchLrcLib = async (query) => {
709
+ const searchUrl = `https://lrclib.net/api/search?q=${encodeURIComponent(query)}`;
710
+ const { data } = await axios4.get(searchUrl, { headers: getRandomHeaders4() });
711
+ if (!Array.isArray(data) || data.length === 0) {
712
+ throw new Error("No lyrics found on LRCLIB.");
713
+ }
714
+ const track = data.find((t) => t.plainLyrics) || data[0];
715
+ if (!track.plainLyrics && !track.syncedLyrics) {
716
+ throw new Error("Track found but no lyrics content.");
717
+ }
718
+ return {
719
+ author: AUTHOR,
720
+ status: true,
721
+ title: track.trackName,
722
+ artist: track.artistName,
723
+ image: track.albumArt || "https://ibb.co/fVyg0TN6",
724
+ url: `https://lrclib.net/api/get/${track.id}`,
725
+ lyrics: track.plainLyrics || track.syncedLyrics
726
+ };
727
+ };
728
+ var fetchGenius = async (query) => {
729
+ const searchUrl = `https://genius.com/api/search/multi?per_page=1&q=${encodeURIComponent(query)}`;
730
+ const { data } = await axios4.get(searchUrl, {
731
+ headers: { ...getRandomHeaders4(), "Referer": "https://genius.com/" }
732
+ });
733
+ const hit = data.response?.sections?.find((s) => s.type === "song")?.hits?.[0]?.result;
734
+ if (!hit) throw new Error("No songs found on Genius.");
735
+ return {
736
+ author: AUTHOR,
737
+ status: true,
738
+ title: hit.title,
739
+ artist: hit.artist_names,
740
+ image: hit.song_art_image_thumbnail_url,
741
+ url: hit.url,
742
+ lyrics: `[Lyrics available at source]
743
+ ${hit.url}`
744
+ };
745
+ };
746
+ var lyrics = async (query) => {
747
+ try {
748
+ return await fetchLrcLib(query);
749
+ } catch (lrcError) {
750
+ try {
751
+ return await fetchGenius(query);
752
+ } catch (geniusError) {
753
+ throw new Error(`Lyrics lookup failed. LRCLIB: ${lrcError}. Genius: ${geniusError.message}`);
754
+ }
755
+ }
756
+ };
757
+ var USER_AGENTS5 = [
758
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
759
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
760
+ ];
761
+ var TEXT_EXTENSIONS = [
762
+ "js",
763
+ "ts",
764
+ "jsx",
765
+ "tsx",
766
+ "json",
767
+ "html",
768
+ "css",
769
+ "scss",
770
+ "less",
771
+ "md",
772
+ "txt",
773
+ "yml",
774
+ "yaml",
775
+ "sql",
776
+ "py",
777
+ "java",
778
+ "c",
779
+ "cpp",
780
+ "h",
781
+ "cs",
782
+ "php",
783
+ "rb",
784
+ "go",
785
+ "rs",
786
+ "swift",
787
+ "kt",
788
+ "xml",
789
+ "svg",
790
+ "env",
791
+ "gitignore",
792
+ "dockerfile",
793
+ "sh",
794
+ "bat",
795
+ "conf",
796
+ "ini",
797
+ "properties"
798
+ ];
799
+ var BINARY_EXTENSIONS = [
800
+ "png",
801
+ "jpg",
802
+ "jpeg",
803
+ "gif",
804
+ "webp",
805
+ "ico",
806
+ "bmp",
807
+ "tiff",
808
+ "mp3",
809
+ "wav",
810
+ "ogg",
811
+ "mp4",
812
+ "webm",
813
+ "mov",
814
+ "mkv",
815
+ "zip",
816
+ "tar",
817
+ "gz",
818
+ "7z",
819
+ "rar"
820
+ ];
821
+ var unzipToText = async (url) => {
822
+ try {
823
+ const response = await axios4.get(url, {
824
+ responseType: "arraybuffer",
825
+ headers: {
826
+ "User-Agent": USER_AGENTS5[Math.floor(Math.random() * USER_AGENTS5.length)]
827
+ }
828
+ });
829
+ const zipBuffer = Buffer.from(response.data);
830
+ const zip = new AdmZip(zipBuffer);
831
+ const zipEntries = zip.getEntries();
832
+ let output = `EXTRACTED BY HEAVSTAL TECH
833
+ SOURCE: ${url}
834
+ DATE: ${(/* @__PURE__ */ new Date()).toISOString()}
835
+
836
+ `;
837
+ for (const entry of zipEntries) {
838
+ if (entry.isDirectory) continue;
839
+ const path = entry.entryName;
840
+ const ext = path.split(".").pop()?.toLowerCase() || "";
841
+ output += `================================================================================
842
+ `;
843
+ output += `FILE: ${path}
844
+ `;
845
+ output += `================================================================================
846
+ `;
847
+ try {
848
+ if (ext === "pdf") {
849
+ output += `[File contents not extracted - PDF Document]
850
+
851
+ `;
852
+ } else if (BINARY_EXTENSIONS.includes(ext)) {
853
+ const b64 = entry.getData().toString("base64");
854
+ const mime = ext === "mp3" ? "audio/mpeg" : `image/${ext}`;
855
+ output += `data:${mime};base64,${b64}
856
+
857
+ `;
858
+ } else if (TEXT_EXTENSIONS.includes(ext) || !ext) {
859
+ const content = entry.getData().toString("utf8");
860
+ output += `${content}
861
+
862
+ `;
863
+ } else {
864
+ const buffer = entry.getData();
865
+ if (buffer.includes(0)) {
866
+ output += `data:application/octet-stream;base64,${buffer.toString("base64")}
867
+
868
+ `;
869
+ } else {
870
+ output += `${buffer.toString("utf8")}
871
+
872
+ `;
873
+ }
874
+ }
875
+ } catch (err) {
876
+ output += `[Error reading file: ${err.message}]
877
+
878
+ `;
879
+ }
880
+ }
881
+ return {
882
+ author: AUTHOR,
883
+ buffer: Buffer.from(output, "utf-8"),
884
+ filename: "extracted_codebase.txt"
885
+ };
886
+ } catch (error) {
887
+ throw new Error(`Unzip Failed: ${error.message}`);
888
+ }
889
+ };
700
890
 
701
891
  // src/index.ts
702
892
  var downloader = {
@@ -713,14 +903,18 @@ var downloader = {
713
903
  var search2 = {
714
904
  youtube: search,
715
905
  wattpad,
716
- chords
906
+ chords,
907
+ lyrics
717
908
  };
718
909
  var tools = {
719
910
  ssweb,
720
911
  remini,
912
+ unzipToText,
913
+ unzip: unzipToText,
721
914
  styleText,
722
915
  morse,
723
916
  tts
917
+ // ephoto
724
918
  };
725
919
  var index_default = {
726
920
  downloader,
@@ -728,6 +922,6 @@ var index_default = {
728
922
  tools
729
923
  };
730
924
 
731
- export { AUTHOR, chords, index_default as default, downloader, fbdl, igdl, morse, play, remini, search2 as search, ssweb, styleText, tiktok, tiktokSlide, tools, tts, twitter, wattpad, twitter as xdl, search as ytSearch, ytmp3, ytmp4 };
925
+ export { AUTHOR, chords, index_default as default, downloader, fbdl, igdl, lyrics, morse, play, remini, search2 as search, ssweb, styleText, tiktok, tiktokSlide, tools, tts, twitter, unzipToText, wattpad, twitter as xdl, search as ytSearch, ytmp3, ytmp4 };
732
926
  //# sourceMappingURL=index.mjs.map
733
927
  //# sourceMappingURL=index.mjs.map