عن المشروع

توفر websocketd طريقة بسيطة لعرض البرامج الموجودة في سطر الأوامر عبر WebSockets دون الحاجة إلى مكتبات شبكات داخل البرنامج نفسه. بعد البدء على منفذ محدد، تقبل اتصالات WebSocket وتطلق البرنامج القابل للتنفيذ المُهيأ لكل اتصال. تُكتب الرسائل القادمة من المتصفح إلى STDIN للعملية مع سطر جديد في النهاية، بينما يُعاد إخراج STDOUT المنتهي بسطر جديد إلى العميل كرسائل WebSocket. عند قطع الاتصال من أي جانب، يتم إيقاف العملية المرتبطة ومجموعة عملياتها. يمكن كتابة البرنامج الخلفي بأي لغة تدعم الإدخال والإخراج القياسيين، بما في ذلك نصوص شل، وبايثون، وروبي، وبيرل، وسي، وغو، وبي إتش بي، وجافا، وباورشيل، ولوا، وآر. تُعرض معلومات الطلب مثل المضيف البعيد والمسار ومعلمات الاستعلام وملفات تعريف الارتباط للنصوص عبر متغيرات بيئة CGI. تشمل القدرات الإضافية خادم ملفات ثابتة، ودعم CGI الكلاسيكي، والاستماع على مقبس Unix مع أذونات قابلة للتكوين، وإعادة توجيه اختيارية لـ STDERR كـ JSON موسوم، ووحدة تحكم مطور WebSocket مدمجة للاتصال وإرسال الإطارات وفحص الاستجابات. تُوزع الأداة كملف تنفيذي واحد مستقل لأنظمة لينكس وماك وويندوز، مع تثبيت عبر Homebrew على ماك. يربط المستودع أيضًا بأمثلة ومشاريع نموذجية تتضمن إحصائيات النظام في الوقت الفعلي، وبيئات REPL قائمة على المتصفح، والوصول إلى قواعد البيانات، وسرد الملفات، وإدخال لوحة الألعاب.