منصوبے کے بارے میں

WebVM ایک لینکس ماحول فراہم کرتا ہے جو مکمل طور پر ویب براؤزر میں بغیر کسی ریموٹ سرور کے چلتا ہے۔ یہ CheerpX ورچوئلائزیشن انجن کا استعمال کرتا ہے تاکہ x86 کوڈ کو WebAssembly میں کمپائل کیا جا سکے، لینکس سسٹم کالز کی ایمولیشن کی جا سکے، بلاک پر مبنی ورچوئل فائل سسٹم فراہم کیا جا سکے، اور سافٹ ویئر کو براؤزر سینڈ باکس میں ایگزیکیوٹ کیا جا سکے۔ ہوسٹڈ ورژن ایک غیر تبدیل شدہ Debian ڈسٹری بیوشن کو مقامی ڈیولپمنٹ ٹول چینز کے ساتھ چلا سکتا ہے، اور Xorg اور i3 کے ساتھ ایک Alpine پر مبنی گرافیکل ماحول بھی دستیاب ہے۔ نیٹ ورکنگ Tailscale کے ذریعے فراہم کی جاتی ہے۔ صارفین WebVM سائیڈ بار سے اپنے Tailscale نیٹ ورک سے منسلک ہو سکتے ہیں اور، ایگزٹ نوڈ کنفیگر کرنے کے بعد، عوامی انٹرنیٹ تک رسائی حاصل کر سکتے ہیں۔ تصدیق میں انٹرایکٹو لاگ ان یا URL فریگمنٹ میں فراہم کردہ آتھ کی استعمال ہو سکتی ہے۔ Headscale، جو کہ سیلف ہوسٹڈ Tailscale کنٹرول سرور کا نفاذ ہے، بھی سپورٹ کیا جاتا ہے جب اسے CORS فعال ریورس پراکسی کے پیچھے رکھا جائے۔ دستاویزات میں بتایا گیا ہے کہ ICMP پر مبنی ٹولز جیسے کہ ping دستیاب نہیں ہیں، جبکہ curl اور wget کنیکٹیویٹی چیک کے لیے استعمال کیے جا سکتے ہیں۔ ریپوزٹری ڈیپلائمنٹ اور حسب ضرورت بنانے کی حمایت کرتی ہے۔ اسے فورک کیا جا سکتا ہے اور شامل GitHub Actions ورک فلو کا استعمال کرتے ہوئے GitHub Pages کے ذریعے شائع کیا جا سکتا ہے۔ یہی ورک فلو Dockerfile سے حسب ضرورت .ext2 ڈسک امیجز بنا سکتا ہے اور انہیں ریلیز اثاثوں کے طور پر شائع کر سکتا ہے یا Pages ڈیپلائمنٹ میں استعمال کر سکتا ہے۔ مقامی ڈیولپمنٹ کے لیے، صارفین custom-disk-images میں ایک .ext2 امیج رکھ سکتے ہیں، config_public_terminal.js کو اپ ڈیٹ کر سکتے ہیں، npm کے ساتھ انسٹال اور بلڈ کر سکتے ہیں، اور فراہم کردہ Nginx کنفیگریشن کے ذریعے نتیجہ پیش کر سکتے ہیں۔ ڈیفالٹ صارف کے پاس روٹ مراعات ہوتی ہیں، جبکہ sudo پہلے سے انسٹال نہیں ہوتا۔ WebVM میں ایک اختیاری Claude AI انضمام شامل ہے جس کے لیے صارف کی اپنی Anthropic API کلید درکار ہوتی ہے۔ کلید براؤزر انٹرفیس کے ذریعے درج کی جاتی ہے اور، دستاویزات کے مطابق، براؤزر میں مقامی طور پر محفوظ کی جاتی ہے۔ مثال کے استعمال کے معاملات میں Claude سے فائلوں کا معائنہ کرنے یا ورچوئل ماحول میں CTF چیلنج میں مدد کرنے کے لیے کہنا شامل ہے۔ یوزر انٹرفیس اپنے ٹرمینل کے لیے xterm.js، نیٹ ورکنگ کے لیے Tailscale، اور اپنے TCP/IP اسٹیک کے طور پر lwIP استعمال کرتا ہے۔ ریپوزٹری Apache License 2.0 کے تحت جاری کی گئی ہے، جبکہ عوامی CheerpX ڈیپلائمنٹ کے استعمال اور لائسنسنگ کی الگ شرائط ہیں، جن میں تنظیمی استعمال اور دوبارہ تقسیم پر پابندیاں شامل ہیں۔