مرحبا يا هبر. تعد الدردشة بالدردشة أمرًا رائعًا ، ولكن بالنسبة للواجهة الأمامية ، ولكن ماذا لو كنت تريد نفس الشيء ، ولكن للواجهة الخلفية. إذا كانت الإجابة بنعم ، فهذا المقال مناسب لك. ولكن ما هي الأداة التي تستخدم في الغالب؟ هذا صحيح ssh ، لذلك أنا أمثل sshchat.
كيف سيبدو
في مكان ما على الخادم ، يدور البرنامج على العقدة.
بمجرد أن يرغب شخص ما في الاتصال بالدردشة ، يدخل:
ssh server -p 8022
بعد ذلك ، يطلب النظام كلمة مرور ويتحقق منها بكلمة مرور في ملف خاص. إذا كانت كلمة المرور متطابقة ، فقم بالاتصال بالدردشة (يتلقى المستخدم 100 رسالة سابقة ويرى الجميع أنه متصل).
ثم يتلقى رسائل الآخرين ، ويمكنه كتابة رسالته الخاصة.
هنا مع رسائل أكثر إثارة للاهتمام:
@box{@color(red){Red text in box}}
إرسال النص الأحمر في المربع.
لنبدأ
للعمل مع ssh ، سنستخدم https://www.npmjs.com/package/ssh2 .
للتنسيق نستخدم الطباشير و boxen.
لذلك تثبيتها:
npm i ssh2 chalk boxen
يعد الرمز نفسه الآن أحد أهم أجزاء محلل الرسائل هذا ( GitHub ):
التنسيق ( جيثب ):
const chalk = require('chalk'); const { parseAndExecute } = require('./parserExec')
طرق إرسال رسالة إلى جميع المستخدمين وحفظ 100 رسالة ( GitHub ):
let listeners = [];
اللوبي وإنشاء الخادم والترخيص ( GitHub ):
const { Server } = require('ssh2'); const { readFileSync } = require('fs'); const hostKey = readFileSync('./ssh');
طرق مختلفة ( جيثب ):
const { createInterface } = require('readline'); module.exports.getStream = function(client, onStream, onEnd){ client
ضم الآن ( GitHub ):
const { createServer, setConnectCallback } = require('./lobby'); const { getStream, getCommunicator } = require('./utils'); const { addListener, delListener, broadcast, getCache } = require('./broadcaster'); const { format, getNick } = require('./format');
والخطوة الأخيرة هي خادم مثال:
const chat = require('.') chat({})
يصف ملف users.json أيضًا المستخدمين وكلمات المرور الخاصة بهم.
النتائج
هذه هي الطريقة التي يمكنك بها كتابة أسهل الدردشة في ssh.
لمثل هذه الدردشة ، لا يحتاج العميل إلى الكتابة ، ولديه إمكانات التصميم ، ويمكن لأي شخص نشرها.
ماذا يمكن القيام به:
- أضف القدرة على إنشاء ميزات التصميم الخاصة بك
- إضافة دعم تخفيض السعر
- إضافة دعم الروبوت
- زيادة أمان كلمة المرور (التجزئة والملح)
مستودع النهائي