소개
signal-cli는 Signal 메신저를 위한 비공식 명령줄 인터페이스입니다. 주로 서버 환경에서 중요한 이벤트를 관리자에게 알리는 데 사용되며, 메시지의 수신 및 발신 기능을 제공합니다. 이 도구는 Java로 작성되었으며, 시그널 서버의 변경 사항을 따라잡기 위해 정기적인 업데이트가 필요합니다.
상세정보
signal-cli란 무엇인가요?
signal-cli는 Signal 메신저를 위한 비공식 명령줄 인터페이스입니다. 주로 서버 환경에서 중요한 이벤트를 관리자에게 알리는 데 사용되며, 메시지의 수신 및 발신 기능을 제공합니다.
설치 방법
signal-cli는 자체적으로 빌드하거나 제공되는 바이너리 파일을 사용하여 설치할 수 있습니다. 공식 바이너리는 Linux, macOS 및 Windows에서 작동합니다.
시스템-wide 설치 (Linux, JVM 빌드)
최신 릴리스를 다운로드하여 시스템에 설치할 수 있습니다.
- VERSION 변수에 최신 버전 번호를 설정합니다.
- 해당 버전의 tar.gz 파일을 다운로드합니다.
- sudo tar xf 명령어로 파일을 압축 해제합니다.
- sudo ln -sf 명령어로 심볼릭 링크를 생성하여 전역에서 사용할 수 있게 합니다.
시스템-wide 설치 (Linux, GraalVM 네이티브 빌드)
실험적인 GraalVM 네이티브 빌드를 사용하여 설치할 수도 있습니다.
- 최신 버전의 Linux 네이티브 tar.gz 파일을 다운로드합니다.
- sudo tar xf 명령어로 압축을 해제합니다.
- sudo ln -sf 명령어로 심볼릭 링크를 생성합니다.
자세한 빠른 시작 가이드는 위키 페이지를 참조하세요.
기본 사용법/명령어
ACCOUNT는 국제 형식의 전화번호(예: +821012345678)를 의미합니다.
기존 계정에 연결하기
기존 Signal 계정에 연결하려면 다음 명령어를 사용합니다.
signal-cli link
번호 등록하기
기존 계정이 없으면 signal-cli에서 하나를 등록할 수 있습니다. 이는 같은 번호와 연결된 기존 클라이언트의 등록을 해제합니다.
signal-cli -a ACCOUNT register
유선 전화 번호를 사용하여 등록할 수도 있습니다. 이 경우 다음 절차를 따릅니다.
- 먼저 SMS 인증 시도 후 오류가 발생하면 정상입니다.
- 60초 동안 기다립니다.
- –voice 스위치를 추가하여 음성 통화 인증을 시도합니다.
등록 시 CAPTCHA 인증이 필요할 수 있습니다.
번호 인증하기
SMS 또는 음성 통화로 받은 코드를 사용하여 인증합니다. 계정에 PIN 코드가 설정된 경우 –pin PIN_CODE를 선택적으로 추가합니다.
signal-cli -a ACCOUNT verify CODE
메시지 보내기
특정 수신자에게 메시지를 보낼 때 사용합니다.
signal-cli -a ACCOUNT send -m “This is a message” RECIPIENT
사용자 이름으로 메시지를 보낼 때는 사용자 이름 앞에 u:를 붙여야 합니다.
signal-cli -a ACCOUNT send -m “This is a message” u:USERNAME.000
다른 프로세스에서 메시지 내용을 파이프할 수도 있습니다.
uname -a | signal-cli -a ACCOUNT send –message-from-stdin RECIPIENT
메시지 수신하기
수신 메시지를 가져옵니다. 시그널 프로토콜은 들어오는 메시지가 정기적으로 수신되기를 기대하므로, daemon 또는 receive 명령어를 사용하는 것이 중요합니다.
signal-cli -a ACCOUNT receive
저장 위치
비밀번호와 암호화 키는 등록 시 생성되어 현재 사용자의 홈 디렉토리에 저장됩니다.
- $XDG_DATA_HOME/signal-cli/data/
- $HOME/.local/share/signal-cli/data/
시스템 요구사항
최소 Java 런타임 환경(JRE) 25 이상이 필요합니다.


