
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를 다운로드해야 합니다 (무료 계정만 있으면 됩니다)하고 가끔 업데이트해야 합니다.