소개
Tinode Mysql은 Go 언어로 개발된 인스턴트 메시징 서버 소프트웨어입니다. Android, iOS, 웹, 그리고 스크립트 가능한 명령줄 클라이언트를 제공하는 완전한 메시징 풀스택을 구축합니다. XMPP를 대체하기 위해 설계되었으며, 오픈소스 WhatsApp 또는 텔레그램과 유사한 기능을 지향합니다. GPL-3.0-only 라이선스로 배포되며, Scoop 패키지 관리자를 통해 Windows x64 환경에서 zip 형식으로 설치할 수 있습니다.
상세정보
사용자 기능
일대일 및 그룹 채팅, 음성 및 영상 통화, 음성 메시지 전송이 가능합니다. 읽지 않은 구독자 수 제한 없는 채널을 생성할 수 있으며, 모든 채팅은 모든 기기 간에 동기화됩니다. 세부 권한 기반 접근 제어를 통해 다양한 작업에 대한 권한을 설정할 수 있습니다. 사용자 검색 및 발견 기능이 제공되며, 마크다운 스타일의 풍부한 메시지 서식(예: *style* → **style**)을 지원하며 인라인 이미지, 비디오, 파일 첨부가 가능합니다. 챗봇을 위한 양식 및 템플릿 응답 기능을 포함하며, 검증된 직원 및 신뢰할 수 없는 계정을 표시할 수 있습니다. 사용자는 자신에게 메모를 남기거나 메시지를 북마크(저장)할 수 있으며, 메시지 전송, 수신, 읽음 상태 알림 및 입력 중 알림을 받을 수 있습니다. 연락처 목록에서 가장 최근 메시지 미리보기를 확인할 수 있으며, 서버에서 생성된 사용자 및 그룹 채팅 존재 상태 알림을 제공합니다. 메시지 forwarding 및 회신, 전송된 메시지 편집, 고정 채팅 및 메시지 기능이 포함됩니다. 사용자 정의 가능한 메시지 배경(배경화면)을 설정할 수 있으며, 라이트/다크/시스템 UI 테마를 전환할 수 있습니다.
관리 기능
세부 권한 기반 접근 제어를 통해 다양한 작업에 대한 권한을 설정할 수 있습니다. 커스텀 인증 백엔드를 지원하며, 원치 않는 통신을 서버 차단에서 차단할 수 있습니다. 기술 지원 채팅과 같은 사용 사례를 위한 익명 사용자 기능을 제공합니다. 모더레이션 또는 챗봇 지원을 위한 플러그인을 통해 기능을 확장할 수 있으며, 서버 관리를 위한 스크립트 가능한 명령줄 도구(tn-cli/)를 제공합니다.
성능, 신뢰성 및 개발
장애 조치를 갖춘 샤드 클러스터링을 지원하며, 로컬 파일 시스템 또는 Amazon S3를 사용하여 이미지나 문서와 같은 대용량 객체의 저장 및 아웃오브밴드 전송이 가능합니다(다른 저장소 시스템은 미디어 핸들러를 통해 지원 가능). JSON 또는 Protobuf 버전 3 와이어 프로토콜을 사용합니다. 다양한 프로그래밍 언어에 대한 바인딩을 제공합니다: 외부 의존성이 없는 JavaScript, Jackson, Java-WebSocket, ICU4J에 의존하는 Java(Android SDK 의존성 없음), 외부 의존성이 없는 Swift, 그리고 gRPC를 사용하는 C/C++, C#, Go, Python, PHP, Ruby 등 많은 언어. 데이터베이스 백엔드로 MySQL(MariaDB, Percona 포함, SQL 및 와이어 프로토콜 호환 시), PostgreSQL, MongoDB, 그리고 지원 중단 예정인 RethinkDB(2027년까지)를 선택할 수 있습니다.
다운로드·설치 방법
Scoop 패키지 관리자를 통해 Tinode Mysql을 설치할 수 있습니다. 공식 Scoop 저장소에서 scoop install tinode-mysql 명령을 실행하면 됩니다. 이 패키지는 x64 아키텍처용 zip 형식으로 제공되며, 별도의 설치 프로그램 없이 압축 해제 후 실행할 수 있습니다. 다운로드 및 설치는 Scoop이 자동으로 처리하며, GitHub 저장소에서 직접 소스 코드를 확인할 수 있습니다.
기본 사용법/명령어
서버를 실행하려면 압축 해제된 폴더에서 tinode 실행 파일을 실행합니다. 설정 파일인 tinode.conf을 수정하여 데이터베이스 연결, 포트, 인증 방식 등을 구성할 수 있습니다. 최초 실행 시 설정 파일이 생성되며, 공식 문서의 INSTALL.md 및 docker/README.md에서 Docker 기반 설치 방법을 확인할 수 있습니다. 서버가 실행되면 웹 브라우저에서 https://web.tinode.co 또는 자체 호스트한 인스턴스에 접속하여 웹 클라이언트를 사용할 수 있습니다. Android 및 iOS 기기에서는 각각의 공식 앱을 통해 연결할 수 있습니다.
이런 경우에 유용합니다
자체 호스트 인스턴트 메시징 서비스를 구축하려는 개인 또는 조직에게 유용합니다. 특히 프라이버시가 중요한 환경에서 제3자 서비스에 의존하지 않고 내부 통신망을 운영하고자 하는 경우에 적합합니다. 기술 지원 채팅을 운영하는 기업은 익명 사용자 기능을 활용하여 고객 정보를 노출하지 않고 상담을 진행할 수 있습니다. 개발자는 플러그인 시스템을 통해 모더레이션 bot이나 맞춤형 워크플로우를 통합하여 서비스를 확장할 수 있습니다.
제한 사항·확인 사항
이 소프트웨어는 베타 품질로 분류되며, 기능은 완전하고 안정적이지만 일부 버그나 누락된 기능이 존재할 수 있습니다. RethinkDB 지원이 2027에 중단될 예정이며, 이에 따라 해당 데이터베이스를 사용하는 경우 마이그레이션이 필요할 수 있습니다. sandbox 서버는 매일 오전 3시 15분(태평양 표준시)에 데이터를 초기화하므로, 테스트용 계정은 이 시간에 초기화될 수 있습니다. sandbox에서 이메일 인증을 테스트할 때는 123456을 보편적 인증 코드로 사용할 수 있으나, 실제 운영 환경에서는 이 기능을 비활성화하는 것이 권장됩니다(tinode.conf에서 "debug_response": "123456" 줄 제거).
화면으로 보는 주요 기능
채팅 목록 화면

Tinode 앱의 채팅 목록 화면입니다. 상단에는 앱 이름 'Tinode'과 오른쪽 상단에 메뉴 아이콘이 있습니다. 아래에는 여러 채팅 대화 목록이 표시되며, 각 항목에는 프로필 사진, 이름, 메시지 미리보기, 읽지 않은 메시지 수, 읽음 표시, 음성 메시지 재생 시간, 그리고 '이것은 답장입니다'와 같은 상태 메시지가 포함되어 있습니다. 하단 오른쪽에는 새로운 메시지를 작성하는 데 사용되는 녹색 원형 버튼이 있습니다.
채팅 상세 화면

Tino the Chatbot과의 채팅 상세 화면입니다. 상단에는 채팅 상대의 이름과 'online now' 상태 표시가 있으며, 오른쪽 상단에 메뉴 아이콘이 있습니다. 채팅 내용에는 URL로 이동하는 버튼이 있는 메시지, 해변 풍경 사진, 볼드체, 이탤릭체, 삭제선, 코드 블록, 다양한 언어로 된 텍스트, 음성 메시지, 그리고 이미지 파일 'positano.jpg'가 포함된 메시지가 있습니다. 하단에는 'New message' 입력란과 이미지, 파일 첨부, 음성 메시지 녹음 아이콘이 있습니다.
비디오 통화 화면

비디오 통화 중인 화면입니다. 주 화면에는 웃고 있는 여성의 얼굴이 크게 표시되어 있으며, 오른쪽 하단에는 작은 화면에 'Carol Xmas'라는 이름이 표시된 다른 참가자의 얼굴이 있습니다. 하단에는 음소거, 카메라 끄기, 마이크 끄기, 통화 끊기 버튼이 있습니다.
프로필 화면

Tinode 앱의 프로필 화면입니다. 상단에는 'Profile'이라는 타이틀과 오른쪽 상단에 추가 아이콘이 있습니다. 아래에는 여러 사용자 목록이 표시되며, 각 항목에는 프로필 사진, 이름, 메시지 미리보기, 읽지 않은 메시지 수, 읽음 표시, 그리고 'Go to URL'과 같은 상태 메시지가 포함되어 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


