Skip to content

nima864/site-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 پروژه Site Viewer - مستندات کامل

📖 درباره پروژه

این پروژه یک ابزار دانشگاهی است که با استفاده از GitHub Actions و GitHub Pages کار می‌کند. عملکرد اصلی آن به این صورت است که شما آدرس یک وب‌سایت خارجی را وارد می‌کنید، سپس پروژه آن سایت را دانلود کرده و روی GitHub Pages منتشر می‌کند تا بتوانید به صورت آنلاین با آن کار کنید.

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


🔄 مسیر توسعه پروژه

🎯 مرحله اول: شناسایی نیاز

در ابتدا، درخواست این بود که "سایت‌های خارجی را داخل GitHub باز کنیم". این درخواست کمی مبهم بود و چندین راه‌حل بررسی شد:

  • Flask به عنوان پروکسی → مشکلات CORS
  • Node.js با Express → همان مشکلات
  • Nginx → GitHub Actions قابلیت اجرای سرور زنده ندارد

همه این راه‌حل‌ها با مشکلات اساسی مواجه بودند:

  • ❌ JavaScript‌های سایت به درستی کار نمی‌کنند
  • ❌ مشکلات امنیتی (CORS, CSP)
  • ❌ عدم امکان نگهداری سرور زنده در GitHub Actions

💡 مرحله دوم: یافتن راه‌حل

پس از بررسی دقیق‌تر، متوجه شدیم که هدف اصلی این است:

  • ✅ دانلود کامل سایت
  • ✅ انتشار روی GitHub Pages
  • ✅ دسترسی آنلاین از طریق لینک

⚙️ مرحله سوم: طراحی معماری

تصمیم گرفتیم از این ابزارها استفاده کنیم:

  • GitHub Actions: برای اتوماسیون فرآیند
  • wget: برای دانلود کامل سایت
  • GitHub Pages: برای نمایش آنلاین
  • workflow_dispatch: برای ورود آدرس سایت بدون نیاز به ویرایش کد

About

ابزار دانلود و میرور وب‌سایت‌ها با GitHub Actions - طراحی شده برای دسترسی به محتوای آنلاین در شرایط محدودیت اینترنت

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors