[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81184":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},81184,"arvancloud-bypass","NabiKAZ\u002Farvancloud-bypass","NabiKAZ","Node.js library to bypass ArvanCloud CDN JavaScript challenges without a browser","",null,"JavaScript",26,7,28,0,42.71,"MIT License",false,"main",true,[22,23,24,25,26,27,28,29],"arvan","arvancloud","automation","bot","bypass","cdn","challenge","scraping","2026-06-12 04:01:32","# ArvanCloud Bypass\n\n\u003Cdiv dir=\"rtl\">\n\nیک کتابخانه سبک Node.js برای دور زدن چالش JavaScript آروان‌کلاد (ArvanCloud CDN) بدون نیاز به مرورگر.\n\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1105\" height=\"901\" alt=\"ArvanCloud Bypass Demo\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fce538a6f-1e3e-4030-b4db-17c8d9dcd775\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## ✨ ویژگی‌ها\n\n\u003Cdiv dir=\"rtl\">\n\n- ✅ **بدون مرورگر** — اجرا در Node.js خالص با ماژول `vm`\n- ✅ **سبک و سریع** — بدون dependency خارجی\n- ✅ **ساده برای استفاده** — فقط دو تابع: `isArvanChallengePage` و `solveArvanChallenge`\n- ✅ **مدیریت خودکار کوکی** — کوکی‌های bypass به‌صورت خودکار در Map ذخیره می‌شوند\n- ✅ **قابل ادغام** — به‌راحتی در هر HTTP client دلخواه استفاده کنید\n\n\u003C\u002Fdiv>\n\n---\n\n## 📦 نصب\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FNabiKAZ\u002Farvancloud-bypass.git\ncd arvancloud-bypass\n```\n\n> نیازی به `npm install` نیست — این پروژه هیچ dependency خارجی ندارد.\n\n**پیش‌نیاز:** Node.js نسخه ۱۸ به بالا\n\n---\n\n## 🚀 استفاده سریع\n\n```js\nimport { isArvanChallengePage, solveArvanChallenge } from '.\u002Farvancloud-bypass.mjs';\n\nconst url = 'https:\u002F\u002Fesale.ikco.ir\u002F';\nconst cookieMap = new Map();\n\n\u002F\u002F 1. دریافت صفحه\nconst res = await fetch(url);\nconst body = await res.text();\n\n\u002F\u002F 2. بررسی وجود چالش آروان‌کلاد\nif (isArvanChallengePage(body)) {\n  \u002F\u002F 3. حل چالش و ذخیره کوکی‌ها\n  solveArvanChallenge(body, cookieMap);\n\n  \u002F\u002F 4. درخواست مجدد با کوکی‌های bypass\n  const headers = { Cookie: [...cookieMap.entries()].map(([k,v]) => `${k}=${v}`).join('; ') };\n  const realRes = await fetch(url, { headers });\n  const realBody = await realRes.text();\n  console.log(realBody);\n}\n```\n\n---\n\n## 🎬 ویدیو نمونه\n\n\u003Cdiv dir=\"rtl\">\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F63debd8a-34f5-4df7-b091-106b9a977c65\n\n\u003C\u002Fdiv>\n\n---\n\n## 📁 ساختار پروژه\n\n```\narvancloud-bypass\u002F\n├── arvancloud-bypass.mjs   ← ماژول اصلی (import این فایل را بکنید)\n├── example.mjs             ← مثال کامل با HTTPS\n├── example-simple.mjs      ← مثال ساده با fetch\n├── package.json\n├── LICENSE\n└── README.md\n```\n\n---\n\n## 📖 مستندات API\n\n### `isArvanChallengePage(body)`\n\n\u003Cdiv dir=\"rtl\">\n\nبررسی می‌کند که آیا بدنه پاسخ HTTP یک صفحه چالش آروان‌کلاد است یا نه.\n\n\u003C\u002Fdiv>\n\n| پارامتر | نوع | توضیح |\n|---------|-----|-------|\n| `body` | `string` | متن خام پاسخ HTTP |\n\n**بازگشتی:** `boolean`\n\n---\n\n### `solveArvanChallenge(htmlBody, cookieMap)`\n\n\u003Cdiv dir=\"rtl\">\n\nچالش JavaScript آروان‌کلاد را حل می‌کند و دو کوکی محاسبه‌شده را در `cookieMap` ذخیره می‌کند.\n\n\u003C\u002Fdiv>\n\n| پارامتر | نوع | توضیح |\n|---------|-----|-------|\n| `htmlBody` | `string` | HTML صفحه چالش |\n| `cookieMap` | `Map` | Map کوکی‌ها که در-جا به‌روز می‌شود |\n\n**بازگشتی:** `{ arcsjs: string, arcsjsc: string }`\n\n---\n\n## ▶️ اجرای مثال\n\n```bash\n# با آدرس پیش‌فرض (esale.ikco.ir)\nnode example.mjs\n\n# با آدرس دلخواه\nnode example.mjs https:\u002F\u002Fexample.ir\u002F\n```\n\n**خروجی نمونه:**\n\n```\nTarget : https:\u002F\u002Fesale.ikco.ir\u002F\nRetries: up to 5\n\n[Attempt 1\u002F5] GET https:\u002F\u002Fesale.ikco.ir\u002F\n  Status      : 200\n  Body length : 4823 chars\n  ⚡ ArvanCloud challenge detected — solving …\n[ArvanBypass] __arcsjs  = a3f9c12d4e…\n[ArvanBypass] __arcsjsc = arcookie-171…\n  Cookies now : __arcsjs, __arcsjsc\n  Retrying with bypass cookies …\n\n[Attempt 2\u002F5] GET https:\u002F\u002Fesale.ikco.ir\u002F\n  Status      : 200\n  Body length : 52341 chars\n\n✅  Successfully reached the real page!\n   Status  : 200\n   Cookies : __arcsjs, __arcsjsc\n```\n\n---\n\n## ⚙️ نحوه کار\n\n\u003Cdiv dir=\"rtl\">\n\n۱. **استخراج اسکریپت چالش** از HTML صفحه  \n۲. **ساخت sandbox** با `vm.createContext` — فقط با globals ضروری  \n۳. **اصلاح اسکریپت** تا callback های `DOMContentLoaded` و `setTimeout` بلافاصله اجرا شوند  \n۴. **اجرا در VM** — ایمن و بدون دسترسی به سیستم  \n۵. **استخراج کوکی‌های** `__arcsjs` و `__arcsjsc` از طریق setter ساختگی `document.cookie`\n\n\u003C\u002Fdiv>\n\n---\n\n## 📋 نیازمندی‌ها\n\n\u003Cdiv dir=\"rtl\">\n\n- Node.js >= 18.0.0\n- بدون dependency خارجی\n\n\u003C\u002Fdiv>\n\n---\n\n## ⭐ حمایت از پروژه\n\n\u003Cdiv dir=\"rtl\">\n\nاگر این پروژه برایتان مفید بوده، ساده‌ترین کاری که می‌توانید انجام دهید اینست که از بالای همین صفحه گیتهاب با زدن روی دکمه ستاره (⭐️) به پروژه ارزش بدهید — این کار رایگان است و انگیزه بزرگی برای ادامه توسعه است 🙏\n\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNabiKAZ\u002Farvancloud-bypass\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FNabiKAZ\u002Farvancloud-bypass?style=for-the-badge&logo=github&color=yellow\" alt=\"GitHub Stars\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cdiv dir=\"rtl\">\n\nاگر مایل به حمایت مالی هستید:\n\n\u003C\u002Fdiv>\n\n💎 Ton Wallet: `nabikaz.ton`\n\n---\n\n## 👤 سازنده\n\n**@NabiKAZ**\n- Telegram: [https:\u002F\u002Ft.me\u002FBotSorati](https:\u002F\u002Ft.me\u002FBotSorati)\n- X (Twitter): [https:\u002F\u002Fx.com\u002FNabiKAZ](https:\u002F\u002Fx.com\u002FNabiKAZ)\n- GitHub: [https:\u002F\u002Fgithub.com\u002FNabiKAZ](https:\u002F\u002Fgithub.com\u002FNabiKAZ)\n\n---\n\n## 📄 لایسنس\n\n\u003Cdiv dir=\"rtl\">\n\nاین پروژه تحت لایسنس [MIT](LICENSE) منتشر شده است.\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Cdiv align=\"center\">\n  \u003Csub>ساخته شده با ❤️\u003C\u002Fsub>\n\u003C\u002Fdiv>\n","ArvanCloud Bypass 是一个用于绕过 ArvanCloud CDN JavaScript 挑战的 Node.js 库，无需浏览器支持。其核心功能包括在纯 Node.js 环境下通过 `vm` 模块执行、无外部依赖、易于集成到任何 HTTP 客户端中，并自动管理 bypass 过程中的 cookies。该项目提供了两个主要函数：`isArvanChallengePage` 用于检测是否存在 ArvanCloud 挑战页面，`solveArvanChallenge` 用于解决挑战并获取必要的 cookies。它适用于需要自动化访问受 ArvanCloud 保护的网站的场景，如网页抓取或自动化测试等。",2,"2026-06-11 04:03:48","CREATED_QUERY"]