[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2081":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":8,"pushedAt":8,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},2081,"netlify-XHHTP","avacocloud\u002Fnetlify-XHHTP","avacocloud",null,"JavaScript",154,516,1,0,18,8.14,false,"main",true,[],"2026-06-12 02:00:36","## ⚠️ هشدار\n\nفورک کردن این پروژه (به‌خصوص اگر تعداد زیادی کاربر دقیقاً همین کار را انجام دهند) **ممکن است ریسک محدودسازی\u002Fبن شدن اکانت‌ها را بالا ببرد**. اگر می‌خواهید ریسک کمتر باشد، پیشنهاد می‌شود از **گزینه B (Netlify CLI بدون فورک)** استفاده کنید.\n\n---\n\n[English🌎](https:\u002F\u002Fgithub.com\u002Favacocloud\u002Fnetlify-XHHTP\u002Fblob\u002Fmain\u002FREADME.md) | [فارسی🇮🇷](https:\u002F\u002Fgithub.com\u002Favacocloud\u002Fnetlify-XHHTP\u002Fblob\u002Fmain\u002FREADMEfa.md) | [Telegram](https:\u002F\u002Ft.me\u002Favaco_cloud)\n\n# Netlify‑XHTTP\n\nیک پروکسی سبک و جریان‌محور (streaming) برای ترافیک VLESS + XHTTP با استفاده از **Netlify Edge Functions**.\n\n> فورک کنید، به گیت‌هاب متصل شوید، یک متغیر محیطی تنظیم کنید و در ۶۰ ثانیه راه‌اندازی شوید – محدودیت‌های پلن رایگان Netlify به‌صورت **Credit-based** است و ممکن است تغییر کند (جزئیات: https:\u002F\u002Fwww.netlify.com\u002Fpricing\u002F).\n\nاین پروژه با الهام از [Vercel‑XHTTP](https:\u002F\u002Fgithub.com\u002Favaco-cloud\u002FVercel-XHTTP) ساخته شده و جایگزینی تقریباً بدون تغییر برای نسخه‌ی Vercel ارائه می‌دهد. تمام درخواست‌های ورودی – از جمله WebSocket و داده‌های جریانی – را به سرور شخصی Xray شما ارسال می‌کند، دقیقاً مانند نسخه‌ی اصلی، اما روی شبکه‌ی جهانی Netlify.\n\n---\n\n## ✨ چرا Netlify‑XHTTP؟\n\n| ویژگی | Vercel‑XHTTP (اصلی) | Netlify‑XHTTP (این پروژه) |\n|--------|--------------------------|--------------------------------|\n| **پهنای باند** | ۱۰ گیگابایت در ماه | Credit-based (طبق صفحه قیمت‌گذاری Netlify) |\n| **جریان (Streaming)** | داخلی (Node.js streams) | بومی (Edge Function `ReadableStream`) |\n| **زمان انقضا** | ۱۰ ثانیه (طرح Hobby) | ۳۰ ثانیه (همه‌ی طرح‌ها) |\n| **استقرار** | داشبورد Vercel | داشبورد Netlify + فورک گیت‌هاب |\n| **WebSocket** | پشتیبانی از طریق جریان | پشتیبانی از طریق جریان |\n| **دامنه شخصی** | بله | بله (SSL رایگان) |\n\n---\n\n## 🚀 نحوه‌ی کار\n\n۱. شما این پروژه را به عنوان **Edge Function** روی Netlify مستقر می‌کنید.\n۲. تابع روی تمام مسیرهای دامنه‌ی Netlify شما (`\u002F*`) گوش می‌دهد.\n۳. هر درخواست HTTP\u002FHTTPS ورودی بدون تغییر به سرور بک‌اند Xray شما (که VLESS + XHTTP را اجرا می‌کند) ارسال می‌شود.\n۴. پاسخ به صورت زنده و جریانی به کلاینت بازگردانده می‌شود – بدون بافر، بدون قطع ارتباط زنده.\n\n```\nکلاینت (برنامه‌ی شما)  →  Netlify Edge  →  بک‌اند شما (Xray + VLESS + XHTTP)\n```\n\n---\n\n## 📦 پیش‌نیازها\n\n- یک سرور **Xray** فعال با ورودی **VLESS + XHTTP**  \n  (مثلاً در حال گوش‌دادن روی `https:\u002F\u002Fyour-backend-server.com:443`)\n- یک حساب [Netlify](https:\u002F\u002Fapp.netlify.com\u002Fsignup)\n- یک حساب [گیت‌هاب](https:\u002F\u002Fgithub.com)\n\n---\n\n## ⚠️ نکته مهم (حتماً شخصی‌سازی کنید)\n\nبرای اینکه کانفیگ‌ها شبیه هم نشوند و ریسک شناسایی\u002Fمسدود شدن کمتر شود، **حتماً مقادیر پیش‌فرض و اطلاعات حساس را تغییر دهید**. حداقل این موارد را برای هر نفر\u002Fهر سرور یکتا کنید:\n\n- **UUID\u002FID** کاربر در VLESS\n- **Path** مربوط به XHTTP (مثلاً به جای مسیرهای ساده، یک مسیر غیرقابل حدس بگذارید)\n- **Domain\u002FHost** (ترجیحاً دامنه‌ی شخصی)\n- در صورت استفاده از تنظیمات اضافی مثل **SNI\u002FALPN**، آن‌ها را با توجه به سرور خودتان تنظیم کنید\n\nاگر از کانفیگ‌های آماده\u002Fکپی‌شده استفاده کنید و همه دقیقاً یکسان باشند، احتمال مشکل (از جمله محدودسازی\u002Fبن شدن) بیشتر می‌شود.\n\n---\n\n## 📖 آموزش کامل (استقرار در ۲ دقیقه)\n\n### گزینه A: استقرار از داشبورد Netlify (فورک)\n\n### ۱. این مخزن را فورک کنید\n\nروی دکمه‌ی **Fork** در بالای همین صفحه کلیک کنید تا یک کپی در حساب گیت‌هاب خودتان ایجاد شود.\n\n### ۲. Netlify را به فورک خود متصل کنید\n\n- وارد [Netlify](https:\u002F\u002Fapp.netlify.com\u002F) شوید و روی **“Add new site” → “Import an existing project”** کلیک کنید.\n- **GitHub** را انتخاب کنید، در صورت نیاز مجوز دهید و مخزن فورک‌شده‌ی خود را برگزینید.\n- Netlify به‌طور خودکار تنظیمات را از فایل `netlify.toml` تشخیص می‌دهد – **نیازی به تغییر دستور build یا پوشه‌ی publish نیست**.\n\n### ۳. متغیر محیطی را تنظیم کنید\n\n- در داشبورد Netlify، به **Site settings → Environment variables** بروید.\n- یک متغیر جدید اضافه کنید:\n  - **Key:** `BACKEND_URL`\n  - **Value:** آدرس کامل بک‌اند Xray، مثلاً `https:\u002F\u002Fmy-vps.com` (اسلش `\u002F` در انتها قرار ندهید)\n- متغیر را ذخیره کنید.\n\n### ۴. استقرار\n\n- به تب **Deploys** برگردید و روی **“Trigger deploy”** کلیک کنید (اگر قبلاً مستقر نشده است).\n- پس از چند ثانیه، وب‌سایت شما روی دامنه‌ای تصادفی به فرم `something.netlify.app` در دسترس خواهد بود.\n\n### ۵. از آن به عنوان پروکسی استفاده کنید\n\nکلاینت XHTTP خود (مانند v2rayN، Nekoray یا برنامه‌های سفارشی) را باز کرده و تنظیم کنید:\n\n- **آدرس (host):** دامنه‌ی Netlify شما (`https:\u002F\u002Fyour-site.netlify.app`)\n- **پورت:** 443\n- **مسیر:** هر چیزی که بک‌اند شما انتظار دارد (مثلاً `\u002Fyour-xhttp-path`)\n\nتمام! اکنون ترافیک شما از لبه‌ی شبکه‌ی جهانی Netlify به بک‌اند شما جریان می‌یابد، درست مانند نسخه‌ی Vercel.\n\n> 💡 **دامنه‌ی شخصی؟**  \n> در Netlify، به **Domain settings** بروید و دامنه‌ی شخصی خود را اضافه کنید. سپس کلاینت را با آن دامنه به‌روز کنید.\n\n---\n\n### گزینه B: استقرار با Netlify CLI (بدون فورک)\n\nاگر نمی‌خواهید فورک کنید یا گیت‌هاب را به Netlify وصل کنید، می‌توانید مستقیم از روی سیستم خودتان دیپلوی کنید.\n\n### ۱. نصب Netlify CLI\n\n```bash\nnpm i -g netlify-cli\n```\n\n### ۲. لاگین\n\n```bash\nnetlify login\n```\n\n### ۳. کلون کردن پروژه\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Favacocloud\u002Fnetlify-XHHTP.git\nmv netlify-XHHTP xxx-xxx-xxxxx\ncd xxx-xxx-xxxxx\n```\n\nنکته:\n\n- منظور از `xxx` این است که **به‌جای آن هر اسمی دوست دارید بگذارید**.\n- بهتر است بعد از کلون، **اسم پوشه\u002Fپروژه را عوض کنید** تا پروژه‌های همه یک نام یکسان نداشته باشند.\n\n### ۴. ساخت\u002Fلینک کردن سایت در Netlify\n\n```bash\nnetlify init\n```\n\nپیشنهاد:\n\n- گزینه‌ی **Create & configure a new site** را انتخاب کنید.\n- وقتی درباره‌ی build settings سوال پرسید، تنظیمات داخل `netlify.toml` را دست‌نزنید (build command لازم نیست).\n\n### ۵. تنظیم متغیر محیطی\n\n```bash\nnetlify env:set BACKEND_URL \"https:\u002F\u002Fmy-vps.com:port\"\n```\n\nنکته‌ها:\n\n- مقدار باید یک URL کامل باشد.\n- در انتهای آدرس، اسلش `\u002F` نگذارید.\n\n### ۶. دیپلوی روی پروداکشن\n\n```bash\nnetlify deploy --prod\n```\n\nبعد از دیپلوی، آدرسی که CLI نمایش می‌دهد (یا دامنه‌ی شخصی‌تان) را به عنوان Host داخل کلاینت وارد کنید.\n\n## 🧩 نمونه تنظیمات کلاینت\n\n### v2rayN (فیلدهای پایه)\n\n۱. یک پروفایل VLESS بسازید یا ویرایش کنید.\n۲. این فیلدها را تنظیم کنید:\n   - **Address \u002F Server:** دامنه‌ی Netlify شما (مثل `your-site.netlify.app`) یا دامنه‌ی شخصی\n   - **Port:** `443`\n   - **Transport \u002F Network:** `xhttp`\n   - **Path:** مسیر XHTTP روی بک‌اند (باید با ورودی Xray یکی باشد)، مثلاً `\u002Fyour-xhttp-path`\n۳. **TLS** را فعال کنید.\n۴. ذخیره کنید و اتصال را تست کنید.\n\n### Nekoray (فیلدهای پایه)\n\n۱. یک پروفایل VLESS بسازید\u002Fایمپورت کنید.\n۲. در تنظیمات انتقال (Transport) گزینه‌ی **XHTTP** را انتخاب کنید.\n۳. این فیلدها را تنظیم کنید:\n   - **Server \u002F Host:** دامنه‌ی Netlify یا دامنه‌ی شخصی\n   - **Port:** `443`\n   - **Path:** مثلاً `\u002Fyour-xhttp-path`\n۴. **TLS** را فعال کنید و اتصال را برقرار کنید.\n\n\nتنها فایلی که ممکن است بخواهید مشاهده کنید `proxy.js` است – یک کنترل‌کننده‌ی ساده ۵۰ خطی که همه چیز را ارسال می‌کند.\n\n---\n\n## 🔧 سفارشی‌سازی\n\n### تغییر آدرس بک‌اند بدون استقرار مجدد\n\nکافیست متغیر `BACKEND_URL` را در داشبورد Netlify ویرایش کنید. درخواست بعدی مقدار جدید را فوراً دریافت می‌کند (نیازی به بیلد مجدد نیست).\n\n### استفاده از مسیر ثابت در بک‌اند\n\nاگر بک‌اند شما مسیر ثابتی انتظار دارد (مثلاً `\u002Fmy‑secret`)، می‌توانید آن را مستقیماً در `proxy.js` مقداردهی کنید:\n\n```javascript\n\u002F\u002F در proxy.js، ساخت URL را این‌گونه تغییر دهید:\nconst upstreamUrl = new URL('\u002Fmy-secret' + url.search, BACKEND_URL).toString();\n```\n\nسپس کلاینت می‌تواند از هر مسیری استفاده کند – تابع همیشه به `\u002Fmy-secret` روی بک‌اند ارسال می‌کند.\n\n---\n\n## ❗ عیب‌یابی\n\n### خطای “Page not found” پس از استقرار\n\nاین معمولاً به این معنی است که Edge Function شناسایی نشده است.\n\n۱. تب **Functions** در Netlify را بررسی کنید – باید `proxy` در بخش **Edge Functions** فهرست شده باشد.\n۲. اگر موجود نیست، لاگ‌های استقرار را ببینید. هر خطای نحوی در `proxy.js` مانع بارگذاری تابع می‌شود.\n۳. مطمئن شوید `netlify.toml` دقیقاً مانند همین مخزن است (براکت دوتایی برای `[[edge_functions]]`، نام صحیح تابع).\n۴. یک استقرار **کاملاً تازه** را امتحان کنید: یک سایت جدید در Netlify ایجاد کرده و مخزن را دوباره متصل کنید.\n\n### زمان‌های طولانی \u002F قطع شدن درخواست‌ها\n\n- مطمئن شوید بک‌اند شما از اینترنت قابل دسترسی است (فایروال، پورت صحیح).\n- از `BACKEND_URL` با گواهی خود-امضا استفاده نکنید – `fetch` در Netlify به گواهی HTTPS معتبر نیاز دارد (روی بک‌اند خود Let’s Encrypt نصب کنید).\n- Edge Functions محدودیت زمانی ۳۰ ثانیه دارند. جریان‌های طولانی (مانند ویدیو) کار خواهند کرد، اما اتصال باید در این بازه کامل شود. برای اتصالات دائمی WebSocket، کلاینت باید قابلیت اتصال مجدد داشته باشد.\n\n### محدودیت‌های پهنای باند\n\nطرح رایگان Netlify الان **بر اساس Credit** است و محدودیت‌ها ممکن است با گذشت زمان تغییر کنند. برای دیدن محدودیت‌های دقیق پلن رایگان و هزینه\u002Fمصرف پهنای باند، صفحه‌ی رسمی قیمت‌گذاری Netlify را بررسی کنید:\n\n- https:\u002F\u002Fwww.netlify.com\u002Fpricing\u002F\n\nاگر پهنای باند بیشتری نیاز دارید، پلن را ارتقا دهید یا مصرف ترافیک را بهینه کنید. برای پهنای باند **نامحدود**، [Cloudflare Workers](https:\u002F\u002Fworkers.cloudflare.com\u002F) را در نظر بگیرید – اما نیازمند بازنویسی پروکسی برای محیط Workers خواهد بود.\n\n---\n\n## 🔄 تفاوت‌ها با Vercel‑XHTTP\n\n- **محیط اجرا:** Edge Functions از API وب مبتنی بر Deno استفاده می‌کنند، نه Node.js. جریان‌دهی کاملاً بومی است.\n- **پیکربندی:** فایل `vercel.json` با `netlify.toml` جایگزین شده. نیازی به `rewrites` نیست؛ بلوک `[[edge_functions]]` مسیریابی را انجام می‌دهد.\n- **متغیر محیطی:** از `BACKEND_URL` استفاده کنید (ممکن است در نسخه‌ی اصلی نام متغیر متفاوتی به کار رفته باشد).\n- **شروع سرد (Cold starts):** Edge Functions شروع فوق‌العاده سریعی دارند (\u003C 50ms)، قابل مقایسه با Vercel.\n\n---\n\n## 🙏 تقدیر و مجوز\n\nاین پروژه با الهام از [Vercel‑XHTTP](https:\u002F\u002Fgithub.com\u002Favaco-cloud\u002FVercel-XHTTP) ساخته‌شده توسط avaco-cloud ایجاد شده است.  \nکد این مخزن تحت مجوز MIT ارائه می‌شود – می‌توانید آزادانه تغییر دهید و توزیع کنید.\n\n---\n\n**تلگرام:** https:\u002F\u002Ft.me\u002Favaco_cloud\n\n**پراکسی خوبی داشته باشید!** اگر با مشکلی مواجه شدید، issue باز کنید یا تماس بگیرید.\n","Netlify-XHHTP 是一个基于 Netlify Edge Functions 的轻量级流式代理，用于处理 VLESS + XHTTP 流量。项目利用了 Netlify 的边缘计算能力，支持 WebSocket 和数据流的无缓冲传输，确保从客户端到后端服务器的实时通信。它采用 JavaScript 编写，具有低延迟、高效率的数据处理特性，并且支持自定义域名和 SSL 加密。适合需要快速部署安全通信通道的场景，如开发测试环境下的跨域请求或个人隐私保护应用。用户只需在 Netlify 上进行简单配置即可使用，但需要注意的是，大量相似配置可能会增加账户被限制的风险。",2,"2026-06-11 02:47:58","CREATED_QUERY"]