Milad Mobaseri

اتوماسیون

آتووین: پلتفرم اتوماسیون ثبت‌نام در سامانه‌های رقابتی

پلتفرمی چندبخشی که ثبت‌نام در سامانه‌هایی را خودکار می‌کند که ظرفیتشان در چند ثانیه پر می‌شود؛ از لانچر ویندوز و اپ اندروید تا سرور مرکزی و ایجنت‌های اجرا.

بازه
بهمن ۱۴۰۴ تا امروز، در حال توسعه
نقش من
طراحی و پیاده‌سازی کل سیستم، از معماری و سرور تا اپ‌ها و ایجنت‌ها

01مسئله

برخی سامانه‌های ثبت‌نام ظرفیتی محدود دارند و در لحظه‌ی باز شدن، شمار زیادی هم‌زمان برای همان ظرفیت رقابت می‌کنند. ظرفیت در چند ثانیه پر می‌شود و کاربری که فرم را با دست پر می‌کند، معمولاً پیش از رسیدن به مرحله‌ی پرداخت جا می‌ماند.

این سامانه‌ها هم ساده نیستند: سیستم تشخیص ضد ربات، مرحله‌ی تأیید هویت، صف‌های شلوغ و پاسخ‌های ناپایدار سرور. آتووین این مسیر را از ورود تا رسیدن به درگاه پرداخت خودکار می‌کند، طوری که کاربر فقط اطلاعاتش را یک بار وارد کند و پرداخت نهایی را خودش انجام دهد.

02معماری

سرور مرکزیهمه‌ی بخش‌ها به آن وصل‌اند
  • لانچر ویندوز⇄ سرور
  • ایجنت‌های اجرااز لانچر اجرا می‌شوند
  • اپ اندروید⇐ به سرور
  • افزونه‌ی مرورگر⇄ سرور

03بخش‌های محصول

  1. لانچر ویندوز

    نقطه‌ی شروع کار کاربر. ربات‌ها را از سرور می‌گیرد، حساب‌ها و تنظیمات هر سامانه را نگه می‌دارد و چند اجرا را هم‌زمان مدیریت می‌کند. وضعیت هر اجرا به‌صورت زنده در لاگ دیده می‌شود. راهنمای هر ربات از سرور می‌آید، پس اصلاحش به نسخه‌ی تازه نیاز ندارد.

    لانچر ویندوز
  2. اپ همراه اندروید

    مرحله‌ی تأیید هویت را از روی گوشی کاربر به سیستم می‌رساند، تا اجرا منتظر کار دستی نماند.

    اپ همراه اندروید
  3. افزونه‌ی مرورگر

    برای سامانه‌هایی که بخشی از کار باید در مرورگر خود کاربر انجام شود، با همان حساب و همان سرور هماهنگ است.

    افزونه‌ی مرورگر
  4. سرور و ایجنت‌ها

    سرور مرکزی حساب‌ها، دستگاه‌ها، نسخه‌ها و پیکربندی ربات‌ها را مدیریت می‌کند و کلیدهای سرویس‌های بیرونی فقط هنگام اجرا از آن گرفته می‌شود، نه از داخل برنامه. هر ایجنت یک اجرای مستقل است که لاگ تشخیصی‌اش را به سرور می‌فرستد.

  5. چالش‌ها

    رقابت در کسری از ثانیه یعنی هر درخواست اضافه هزینه دارد؛ ربات‌ها پیش از سایت واقعی روی محیط شبیه‌سازی‌شده آزموده می‌شوند. سیستم تشخیص ضد ربات با یک مدل محلی و اختصاصی پاسخ داده می‌شود، بدون وابستگی به سرویس بیرونی. هسته‌ی برنامه محافظت‌شده است و خطاهای داخلی هرگز به کاربر نشان داده نمی‌شوند.

04اجرای واقعی

  • اجرای واقعی؛ اطلاعات حساس تار شده

  • اجرای واقعی؛ اطلاعات حساس تار شده

  • اجرای واقعی؛ اطلاعات حساس تار شده

05فناوری‌ها

PythonDjangoC#.NETAvaloniaDjango REST FrameworkKotlinJavaScriptNginxGunicornCloudflare

06تغییرات اخیر

  1. مدل محلی و اختصاصی برای پاسخ به سیستم تشخیص ضد ربات، بدون سرویس بیرونی
  2. استاندارد یکسان لاگ و ارسال لاگ تشخیصی به سرور
  3. آزمون ربات‌ها روی محیط شبیه‌سازی‌شده پیش از سایت واقعی
  4. انتقال به سرور اختصاصی و بک‌اند تازه، بدون از کار افتادن نسخه‌های نصب‌شده
  5. کلیدهای سرویس‌های بیرونی فقط هنگام اجرا از سرور

07مسیر پیش رو

آتووین از یک نوع سامانه شروع شد و حالا به سمت سامانه‌های رقابتی دیگر، مثل رزرو بلیت رویدادها، گسترش می‌یابد. در دست ساخت: پنل پایش با لاگ زنده و تشخیص فعالیت مشکوک.