
خادم دردشة صغير يعمل بواسطة SSH
خادم محادثة يعمل عبر SSH مع قنوات عامة وخاصة (دعوة فقط)
كل قناة لها مالك يمكنه تغيير لافتتها ودعوة المستخدمين (يمكن لأي شخص الانضمام إذا كانت عامة)
جربه باستخدام
ssh [email protected]

هذا المشروع جديد جدًا الآن، لذا لا تعتمد عليه في أي شيء حساس
حاليًا الكود كله في ملف واحد، main.go، لكني أخطط لتنظيفه وتقسيمه، خاصة منطق الأوامر
تم بناؤه باستخدام مجموعة charm bubbletea/wish
يمكنك إما بناء الملف الثنائي بنفسك باستخدام go build أو استخدام Docker.
docker run -t -i -p 2222:2222 -e CLICOLOR_FORCE=1 -e COLORTERM=truecolor -e TERM=xterm-256color --tmpfs /tmp -v ./ssh_keys/id_ed25519:/home/islechat/app/.ssh/id_ed25519:ro -v ./config.toml:/home/islechat/config.toml ashfn0/islechat
بالإضافة إلى ذلك، يوجد ملف docker-compose في هذا المستودع. تنسيق ملف config.toml هو:
Host = "0.0.0.0"
Port = "2222"
ServerName = "isle.chat" # Name of the server
AdminUsername = "admin" # Admin's username (Can post in the announcement channel)
BotUsername = "islebot" # Username of the bot for system messages
GlobalBanner = "banner" # Banner used for the #global channel
AnnouncementChannel = "news" # Name of read-only announcement channel
DefaultBanner = "banner" # Default banner for new channels
WelcomeMessage = "A new user joined for the first time! Welcome @%s. Run /help for information" # Message sent when a user joins. %s is the username of the user
FilterPublicMessages = false # Whether or not public messages should be filtered for profanity
RegistrationHeader = "isle.chat registration " # Text shown at top of registration page
DatabaseMode = "sqlite" # Either sqlite or postgres
PostgresHost = "postgres"
PostgresUser = "islechat"
PostgresPassword = "password"
PostgresDBName = "islechat"
PostgresPort = "5432"
PostgresSSL = "disable"
يُستخدم مفتاح SSH من المسار: .ssh/id_ed25519" (سيتم إنشاؤها تلقائيًا إذا لم تحدد واحدًا).
إذا كنت تريد أن يعمل الكشف عن المنطقة الزمنية بناءً على IP، فأنت بحاجة إلى تنزيل GeoLite2-City.mmdb من الموقع (كل ما عليك فعله هو إنشاء حساب، فهو مجاني) وتحديثه بين الحين والآخر.