در این پروژه قصد داریم بررسی کنیم که آیا میتوان از GitHub Actions بهعنوان یک سرور مجازی لینوکس سبک (Lightweight VPS) برای اجرای تونل GooseRelayVPN استفاده کرد یا نه.
برگرفته از: Kianmhz/GooseRelayVPN/issues/120
برای اینکه بتوانید از این روش استفاده کنید، ابتدا باید این مخزن را فورک (Fork) کنید.
فورک کردن یعنی یک کپی از این پروژه به حساب گیتهاب خودتان بسازید تا بتوانید Actionهای آن را اجرا کنید.
- در بالای همین صفحه، روی دکمه Fork کلیک کنید (سمت راست بالای صفحه).
- اگر از شما خواسته شد، حساب کاربری خود را انتخاب کنید (یا همان جایی که لاگین هستید).
- صبر کنید تا گیتهاب کپی پروژه را بسازد.
- بعد از اتمام، شما به مخزن فورکشده خود منتقل میشوید (آدرس آن چیزی شبیه
https://github.com/username/GooseRelayWithGithubActionخواهد بود). - حالا میتوانید مراحل بعدی را در مخزن خودتان انجام دهید.
🔔 توجه: تمام مراحل بعدی باید در مخزن فورکشده خودتان انجام شود، نه در مخزن اصلی.
- یک اسکریپت جدید در حساب Google Apps Script خود بسازید.
- محتوای فایل
GoogleScript.gsرا در آن کپی کنید. - اسکریپت را Deploy کنید (فعلاً به ID و URL نیازی نداریم، فقط Google Script را باز نگه دارید – بعداً باید آدرس تونل Bore را در آن اضافه کنید).
- در مخزن فورکشده خود، به بخش Actions بروید.
- workflow با نام
GooseRelayVPN (manual update)را انتخاب کنید. - روی Run workflow کلیک کنید تا اجرا شود.
- روی tunnel (اکشن در حال اجرا) کلیک کنید تا لاگهای ترمینال را ببینید.
- در لاگها، فلش رو به پایین کنار
Run GooseRelayVPN server setup (based on user script)را باز کنید. - مقدار Bore tunnel را کپی کنید (مثال:
http://bore.pub:34778/tunnel). - این آدرس را در جای مناسب فایل GoogleScript.gs قرار دهید.
- دوباره اسکریپت را Deploy کنید.
- ID دیپلویمنت را کپی کنید و در فایل
client_config.jsonدر جای مشخص شده قرار دهید.
- به لاگهای همان Action برگردید.
- مقدار Tunnel Key را کپی کنید (مثال:
797c57415d5a73ae606df4882a362b98817fdd86ecbbb15d0d0e00d2c7dcfbf3). - این مقدار را در فایل
client_config.jsonدر جای مشخص شده قرار دهید.
- فایل
client_config.jsonرا ذخیره کنید. - آن را در همان پوشهای قرار دهید که فایل
goose-client.exe(که قبلاً از GooseRelayVPN گرفتهاید) وجود دارد.
- یک ترمینال CMD باز کنید.
- فایل
goose-client.exeرا اجرا کنید.
- افزونه FoxyProxy را روی Google Chrome نصب کنید.
- یک پروکسی جدید از نوع Socks5 با آدرس
127.0.0.1و پورت1080بسازید. - آن را فعال کنید.
- حالا میتوانید تست کنید که سایتهایی مانند جمناي، چت جیپیتی و سایر سایتها باز میشوند یا نه.
- تونل Bore ناپایدار است – تقریباً پس از ۲۰ دقیقه یا کمتر بسته میشود.
- هر بار که تونل بسته شد:
- Action گیتهاب را Cancel کنید.
- دوباره Run workflow را بزنید.
- آدرس تونل و کلید تونل جدید را کپی کنید.
- آدرس جدید را در Google Script بهروز کنید، دوباره Deploy کنید و ID جدید را در
client_config.jsonجایگزین کنید.
- هر بار که آدرس تونل را عوض میکنید، باید Google Script را دوباره Deploy کنید و ID جدید را در فایل JSON وارد کنید.
- حتماً مخزن را فورک کنید در غیر این صورت نمیتوانید اکشن را اجرا کنید.
این پروژه صرفاً جنبهٔ آموزشی دارد و به هیچ وجه یک راهحل مناسب برای دسترسی به اینترنت نیست.