این پروژه یک سرویس پروکسی ساده است که با استفاده از Cloudflare Pages Functions پیادهسازی شده است. این سرویس به شما امکان میدهد محتوای یک URL خارجی را از طریق سرور Cloudflare خود دریافت کنید. این میتواند برای دور زدن محدودیتهای CORS یا دسترسی به منابعی که مستقیماً قابل دسترسی نیستند مفید باشد.
این سرویس یک پارامتر q را از URL درخواست دریافت میکند که حاوی آدرس وبسایت هدف است. سپس محتوای آن آدرس را دریافت کرده و به کاربر برمیگرداند.
/
├── functions/
│ └── index.js # کد اصلی سرویس
└── index.html # صفحه خوشآمدگویی ساده
پس از دیپلوی پروژه، میتوانید از آن به این صورت استفاده کنید:
https://your-project.pages.dev?q=https://example.com
جایی که your-project.pages.dev آدرس پروژه شما در Cloudflare Pages است و https://example.com آدرسی است که میخواهید محتوای آن را دریافت کنید.
-
ایجاد یک ریپازیتوری در GitHub
- یک ریپازیتوری جدید ایجاد کنید
- این فایلها را به ریپازیتوری اضافه کنید:
functions/index.jsوindex.html
-
اتصال به Cloudflare Pages
- وارد داشبورد Cloudflare شوید
- به بخش Pages بروید و "Create a project" را انتخاب کنید
- "Connect to Git" را کلیک کرده و ریپازیتوری GitHub خود را انتخاب کنید
-
تنظیم پروژه
- نام پروژه را وارد کنید
- تنظیمات بیلد را به صورت زیر پیکربندی کنید:
- Build command: (خالی بگذارید)
- Build output directory:
/
- "Save and Deploy" را کلیک کنید
-
فعالسازی Functions
- در داشبورد پروژه، به تب "Settings" بروید
- "Functions" را پیدا کرده و مطمئن شوید که فعال است
- این سرویس میتواند برای هر وبسایتی استفاده شود، بنابراین ممکن است محدودیتهایی برای استفاده نامناسب وجود داشته باشد
- برای استفاده در محیطهای تولید، بهتر است محدودیتهایی برای دامنههای مجاز اعمال کنید
برای دریافت محتوای یک فایل از GitHub User Content:
https://your-project.pages.dev?q=https://raw.githubusercontent.com/username/repo/main/file.txt