یک کتابخانه سبک Node.js برای دور زدن چالش JavaScript آروانکلاد (ArvanCloud CDN) بدون نیاز به مرورگر.
- ✅ بدون مرورگر — اجرا در Node.js خالص با ماژول
vm - ✅ سبک و سریع — بدون dependency خارجی
- ✅ ساده برای استفاده — فقط دو تابع:
isArvanChallengePageوsolveArvanChallenge - ✅ مدیریت خودکار کوکی — کوکیهای bypass بهصورت خودکار در Map ذخیره میشوند
- ✅ قابل ادغام — بهراحتی در هر HTTP client دلخواه استفاده کنید
git clone https://github.com/NabiKAZ/arvancloud-bypass.git
cd arvancloud-bypassنیازی به
npm installنیست — این پروژه هیچ dependency خارجی ندارد.
پیشنیاز: Node.js نسخه ۱۸ به بالا
import { isArvanChallengePage, solveArvanChallenge } from './arvancloud-bypass.mjs';
const url = 'https://esale.ikco.ir/';
const cookieMap = new Map();
// 1. دریافت صفحه
const res = await fetch(url);
const body = await res.text();
// 2. بررسی وجود چالش آروانکلاد
if (isArvanChallengePage(body)) {
// 3. حل چالش و ذخیره کوکیها
solveArvanChallenge(body, cookieMap);
// 4. درخواست مجدد با کوکیهای bypass
const headers = { Cookie: [...cookieMap.entries()].map(([k,v]) => `${k}=${v}`).join('; ') };
const realRes = await fetch(url, { headers });
const realBody = await realRes.text();
console.log(realBody);
}arvancloud_bypass.mp4
arvancloud-bypass/
├── arvancloud-bypass.mjs ← ماژول اصلی (import این فایل را بکنید)
├── example.mjs ← مثال کامل با HTTPS
├── example-simple.mjs ← مثال ساده با fetch
├── package.json
├── LICENSE
└── README.md
بررسی میکند که آیا بدنه پاسخ HTTP یک صفحه چالش آروانکلاد است یا نه.
| پارامتر | نوع | توضیح |
|---|---|---|
body |
string |
متن خام پاسخ HTTP |
بازگشتی: boolean
چالش JavaScript آروانکلاد را حل میکند و دو کوکی محاسبهشده را در cookieMap ذخیره میکند.
| پارامتر | نوع | توضیح |
|---|---|---|
htmlBody |
string |
HTML صفحه چالش |
cookieMap |
Map |
Map کوکیها که در-جا بهروز میشود |
بازگشتی: { arcsjs: string, arcsjsc: string }
# با آدرس پیشفرض (esale.ikco.ir)
node example.mjs
# با آدرس دلخواه
node example.mjs https://example.ir/خروجی نمونه:
Target : https://esale.ikco.ir/
Retries: up to 5
[Attempt 1/5] GET https://esale.ikco.ir/
Status : 200
Body length : 4823 chars
⚡ ArvanCloud challenge detected — solving …
[ArvanBypass] __arcsjs = a3f9c12d4e…
[ArvanBypass] __arcsjsc = arcookie-171…
Cookies now : __arcsjs, __arcsjsc
Retrying with bypass cookies …
[Attempt 2/5] GET https://esale.ikco.ir/
Status : 200
Body length : 52341 chars
✅ Successfully reached the real page!
Status : 200
Cookies : __arcsjs, __arcsjsc
۱. استخراج اسکریپت چالش از HTML صفحه
۲. ساخت sandbox با vm.createContext — فقط با globals ضروری
۳. اصلاح اسکریپت تا callback های DOMContentLoaded و setTimeout بلافاصله اجرا شوند
۴. اجرا در VM — ایمن و بدون دسترسی به سیستم
۵. استخراج کوکیهای __arcsjs و __arcsjsc از طریق setter ساختگی document.cookie
- Node.js >= 18.0.0
- بدون dependency خارجی
اگر این پروژه برایتان مفید بوده، سادهترین کاری که میتوانید انجام دهید اینست که از بالای همین صفحه گیتهاب با زدن روی دکمه ستاره (⭐️) به پروژه ارزش بدهید — این کار رایگان است و انگیزه بزرگی برای ادامه توسعه است 🙏
اگر مایل به حمایت مالی هستید:
💎 Ton Wallet: nabikaz.ton
@NabiKAZ
- Telegram: https://t.me/BotSorati
- X (Twitter): https://x.com/NabiKAZ
- GitHub: https://github.com/NabiKAZ
این پروژه تحت لایسنس MIT منتشر شده است.
