इस प्रोजेक्ट के बारे में
Wasmer एक WebAssembly-आधारित रनटाइम और कमांड-लाइन टूल है जो अनुप्रयोगों को तेज़, सुरक्षित और हल्के सैंडबॉक्स के अंदर चलाने के लिए है। सैंडबॉक्स स्थानीय रूप से, क्लाउड में या ब्राउज़र में चल सकते हैं, और फ़ाइलों, नेटवर्क तथा पर्यावरण तक पहुँच उपयोगकर्ता द्वारा नियंत्रित की जाती है।
README में वर्णित मुख्य विशेषताएँ:
- डिफ़ॉल्ट रूप से सुरक्षित: फ़ाइल, नेटवर्क और पर्यावरण पहुँच स्पष्ट रूप से नियंत्रित की जाती है।
- हल्का: तेज़ स्टार्टअप और कम मेमोरी उपयोग।
- चलाने के लिए तैयार: Python, JavaScript, Bash, PHP, PostgreSQL, SQLite और FFmpeg जैसे पैकेज Wasmer रजिस्ट्री से उपलब्ध हैं।
- एम्बेड करने योग्य: Wasmer SDK के माध्यम से अनुप्रयोगों में सैंडबॉक्स जोड़े जा सकते हैं।
CLI के साथ शुरुआत:
macOS या Linux पर `curl https://get.wasmer.io -sSfL | sh` से इंस्टॉल करें; Windows PowerShell का उपयोग करता है, और Homebrew भी समर्थित है। पहला रन कुछ इस तरह दिखता है: `wasmer run python/python -- -c "print('Hello from Wasmer')"`। पैकेज डाउनलोड होकर बाद के रन के लिए कैश हो जाते हैं। `--` विभाजक Wasmer विकल्पों को प्रोग्राम आर्गुमेंट्स से अलग करता है; `--volume` स्थानीय निर्देशिका तक पहुँच देता है और `--net` होस्ट नेटवर्किंग सक्षम करता है। बिना इंस्टॉलेशन के ब्राउज़र-आधारित परीक्षण wasmer.sh पर उपलब्ध है।
Wasmer SDK डेवलपर्स को अपने अनुप्रयोगों के भीतर सैंडबॉक्स बनाने, टूल चुनने और कोड चलाने की सुविधा देता है। यह JavaScript/TypeScript (Node.js 20+), Python (macOS और Linux, Intel और ARM64), Rust (सोर्स निर्भरता, crates.io पर प्रकाशन वर्तमान में अक्षम) और Swift (Swift 6+, macOS 12+, iOS 27+) के लिए उपलब्ध है। ब्राउज़र निष्पादन क्रॉस-ओरिजिन आइसोलेशन हेडर के साथ वही JavaScript API उपयोग करता है। SDK वर्तमान में अल्फा है।
SDK क्षमताओं में कमांड चलाना और आउटपुट कैप्चर करना, स्ट्रीम किए गए आउटपुट के साथ प्रक्रियाओं का प्रबंधन, सैंडबॉक्स फ़ाइलें पढ़ना और लिखना, एक ही सैंडबॉक्स में भाषाओं और पैकेजों को संयोजित करना, और स्पष्ट नेटवर्क पहुँच के साथ सेवाएँ चलाना शामिल है। उदाहरण पैकेजों में Python, Edge.js, Bash, PHP, PGlite, SQLite और FFmpeg शामिल हैं।
इस रिपॉज़िटरी में Wasmer रनटाइम और CLI है; सैंडबॉक्स SDK अलग रिपॉज़िटरी में हैं। Rust और C API के माध्यम से निचले स्तर पर एम्बेडिंग संभव है। परियोजना MIT लाइसेंस के अंतर्गत है, योगदान स्वीकार करती है, और सोर्स से बिल्ड करने, परीक्षण, सुरक्षा रिपोर्टिंग तथा इश्यू ट्रैकिंग के लिए दस्तावेज़ उपलब्ध कराती है। समुदाय चैनलों में Discord, X, LinkedIn और एक ब्लॉग शामिल हैं, साथ ही कई भाषाओं में README के समुदाय अनुवाद भी हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.