Cloudflare Kitesurf را معرفی کرد؛ مرورگری سبک برای اجرای عامل‌ها

Cloudflare موتور مرورگری جدیدی به نام Kitesurf معرفی کرده که برای بارکاری‌های خودکار و عامل‌های هوش مصنوعی طراحی شده است. این موتور مؤلفه‌های مرورگر را در محیط‌های جداسازی‌شده WebAssembly/Rust روی Cloudflare Workers اجرا می‌کند و از پروتکل Chrome DevTools Protocol پشتیبانی می‌نماید تا ابزارهایی مانند Playwright و Puppeteer بتوانند آن را با مصرف بسیار کمتر منابع نسبت به یک Chromium کامل کنترل کنند.

معماری و نحوهٔ کار

هر صفحه یا iframe خارج از فرایند (OOPIF) در Kitesurf داخل یک Dynamic Worker با عمر طولانی اجرا می‌شود که محیط JavaScript و DOM مستقل خود را دارد. موتور، DOM را با پارس HTML و CSS و اجرای JavaScript می‌سازد و برای پردازش استایل‌ها از اجزایی مانند موتور رندر مبتنی بر Rust به نام Blitz و پارسر CSS مرورگر Firefox یعنی Stylo استفاده می‌کند.

مؤلفهٔ PageRenderer مسئول تبدیل DOM و استایل‌ها به تصویر یا PDF است؛ این مؤلفه فونت‌ها و تصاویر را واکشی می‌کند، صحنه را با Blitz Paint و Parley رستریزه می‌نماید و بافر نهایی را از طریق Workers RPC به Engine بازمی‌گرداند. طراحی Kitesurf مبتنی بر ایدهٔ اجرای «کوتاه‌عمر، ایزوله و بدون حالت» است تا برای بارهای مقطعی و مبتنی بر مدل‌های هوش مصنوعی مقیاس‌پذیری بالایی فراهم آورد.

معماری Kitesurf روی Cloudflare Workers

موارد کاربرد

  • گرفتن اسکرین‌شات و تولید تصویر از صفحات وب
  • استخراج HTML و داده‌های ساخت‌یافته برای عامل‌ها
  • تولید PDF و پردازش محتوای ایستا

محدودیت‌ها و موارد نامناسب استفاده

  • پشتیبانی محدود یا عدم پشتیبانی از ویدئو و WebGL
  • چالش در مواجهه با مکانیزم‌های پیچیدهٔ مقابله با بات‌ها یا چالش‌های مبتنی بر TLS
  • مدیریت دشوار نشست‌های احراز هویت طولانی‌مدت و نیاز به وفاداری پیکسلی کامل
نمونه رندر خروجی Kitesurf

چراییِ توسعهٔ Kitesurf

محدودیت‌های موتورهای مرورگر سنتی مانند Chromium برای بارهای خودکار، از جمله مصرف بالای حافظه و پردازش، باعث شد Cloudflare به راه‌حلی سبک‌تر فکر کند. هدف Kitesurf کاهش هزینه‌ها و بهبود مقیاس‌پذیری برای استقرار تعداد زیادی عامل سبک‌وزن است؛ در عوض برخی از جنبه‌های وفاداری تصویری عمداً فدا شده است تا منابع مؤثرتر مصرف شوند.

بازخورد جامعه و مسائل مطرح‌شده

اعلام عمومی Kitesurf در انجمن‌هایی مثل Hacker News و Reddit بازتاب داشت. نکات و نگرانی‌های اصلی عبارت‌اند از:

  • تضاد منافع احتمالی: نقش Cloudflare به‌عنوان شبکهٔ CDN و ارائه‌دهندهٔ امنیت در برابر ابزارهایی که می‌توانند به اسکرپینگ کمک کنند.
  • مسائل امنیتی و سیاست‌های ضدبات: آیا نمونه‌های Kitesurf همان قوانین ترافیک را رعایت می‌کنند یا نه؟
  • عدم انتشار عمومی کد در مرحلهٔ اولیه و درخواست‌های جامعه برای متن‌بازسازی و ارسال تغییرات به پروژه‌های پایه مانند Blitz.
بحث‌ها و واکنش‌های جامعه توسعه‌دهندگان به Kitesurf

پیامدها و چشم‌انداز

Kitesurf امکان استقرار گسترده‌تر عامل‌های سبک را با هزینهٔ کمتر فراهم می‌کند، اما پرسش‌های مهمی دربارهٔ امنیت، سیاست‌ها و اخلاق اسکرپینگ باقی می‌ماند. تا زمان انتشار کد منبع و مستندات کامل، بسیاری از ابهامات پابرجا خواهند بود.

نکات فنی کلیدی که باید دنبال شوند:

  • پشتیبانی کامل از CDP/WPT و سازگاری با ابزارهای کنترلی
  • راهکارهای مدیریت نشست‌های احراز هویت و نگهداری کوکی/توکن
  • رفتار در مواجهه با چالش‌های مبتنی بر TLS و مکانیزم‌های ضدبات
  • زمان‌بندی و گسترهٔ انتشار کد متن‌باز و ارسال پَچ‌ها به upstream

در صورت متن‌باز شدن و همکاری فعال با پروژه‌های متن‌باز، Kitesurf می‌تواند به گزینه‌ای جذاب برای توسعه‌دهندگان عامل‌ها و ابزارهای جمع‌آوری محتوای ساخت‌یافته تبدیل شود؛ در غیر این صورت احتمالاً نقش آن تکمیلی باقی خواهد ماند.

منابع مرتبط: صفحهٔ رسمی وبلاگ Cloudflare دربارهٔ Kitesurf، مستندات Chrome DevTools Protocol و مروری بر WebAssembly.