| 리눅스 | 스코틀랜드 사람 |
|---|---|
NCHAT는 Telegram 및 WhatsApp을 지원하는 Linux 및 MacOS 용 터미널 기반 채팅 클라이언트입니다.

용법:
nchat [OPTION]
명령 줄 옵션 :
-d, --confdir <DIR> use a different directory than ~/.config/nchat
-e, --verbose enable verbose logging
-ee, --extra-verbose enable extra verbose logging
-h, --help display this help and exit
-k, --keydump key code dump mode
-m, --devmode developer mode
-r, --remove remove chat protocol account
-s, --setup set up chat protocol account
-v, --version output version information and exit
-x, --export <DIR> export message cache to specified dir
대화식 명령 :
PageDn history next page
PageUp history previous page
Tab next chat
Sh-Tab previous chat
Ctrl-f jump to unread chat
Ctrl-g toggle show help bar
Ctrl-l toggle show contact list
Ctrl-n search contacts
Ctrl-p toggle show top bar
Ctrl-q quit
Ctrl-s insert emoji
Ctrl-t send file
Ctrl-x send message
Ctrl-y toggle show emojis
KeyUp select message
Alt-d delete/leave current chat
Alt-e external editor compose
Alt-n goto chat
Alt-t external telephone call
Alt-/ find in chat
Alt-? find next in chat
Alt-$ external spell check
Alt-, decrease contact list width
Alt-. increase contact list width
선택된 메시지에 대한 대화식 명령 :
Ctrl-d delete selected message
Ctrl-r download attached file
Ctrl-v open/view attached file
Ctrl-w open link
Ctrl-x send reply to selected message
Ctrl-z edit selected message
Alt-c copy selected message to clipboard
Alt-q jump to quoted/replied message
Alt-r forward selected message
Alt-s add/remove reaction on selected message
Alt-w external message viewer
텍스트 입력에 대한 대화식 명령 :
Ctrl-a move cursor to start of line
Ctrl-c clear input buffer
Ctrl-e move cursor to end of line
Ctrl-k delete from cursor to end of line
Ctrl-u delete from cursor to start of line
Alt-Left move cursor backward one word
Alt-Right move cursor forward one word
Alt-Backsp delete previous word
Alt-Delete delete next word
Alt-c copy input buffer to clipboard (if no message selected)
Alt-v paste into input buffer from clipboard
Alt-x cut input buffer to clipboard
NCHAT는 Linux 및 MacOS에서 개발 및 테스트되었습니다. 현재 버전이 테스트되었습니다.
Brew를 사용하여 안정적인 릴리스를 빌드 / 설치하십시오
brew tap d99kris/nchat
brew install nchat
선택적으로 하나는 --without-whatsapp 및 --without-telegram 사용하여 프로토콜을 비활성화 할 수 있습니다.
brew install nchat --without-telegram
최신 git을 빌드 / 설치하십시오
yay -S nchat-git
안정적인 릴리스 빌드 / 설치
yay -S nchat
NCHAT는 대형 코드 기반 (주로 Telegram Library TDLIB)으로 구성되므로 비교적 긴 첫 번째 빌드 시간을 준비하십시오.
소스를 얻으십시오
git clone https://github.com/d99kris/nchat && cd nchat
MacOS, Alpine, Arch, Fedora, Gentoo, Raspbian, Ubuntu 또는 Void를 사용하는 경우 make.sh 스크립트를 사용할 수 있습니다.
의존성
./make.sh deps
빌드 / 설치
./make.sh build && ./make.sh install
의존성
마코스
brew install gperf cmake openssl ncurses ccache readline help2man sqlite libmagic go
아치
sudo pacman -S ccache cmake file go gperf help2man ncurses openssl readline sqlite zlib base-devel
데비안 기반 (우분투, 라스 비안 등)
sudo apt install ccache cmake build-essential gperf help2man libreadline-dev libssl-dev libncurses-dev libncursesw5-dev ncurses-doc zlib1g-dev libsqlite3-dev libmagic-dev golang
페도라
sudo dnf install git cmake clang golang ccache file-devel file-libs gperf readline-devel openssl-devel ncurses-devel sqlite-devel zlib-devel
젠투
sudo emerge -n dev-util/cmake dev-util/ccache dev-util/gperf sys-apps/help2man sys-libs/readline dev-libs/openssl sys-libs/ncurses sys-libs/zlib dev-db/sqlite sys-apps/file dev-lang/go
무효의
sudo xbps-install base-devel go ccache cmake gperf help2man libmagick-devel readline-devel sqlite-devel file-devel openssl-devel
짓다
mkdir -p build && cd build && cmake .. && make -s
설치하다
sudo make install
기본적으로 NCHAT는 Clang ++를 사용하여 g ++ 및 ~ 1.5GB RAM을 사용하여 ~ 3.5GB RAM이 필요하지만 필요한 메모리를 줄일 수 있습니다. 낮은 메모리 시스템을 구축 할 수 있습니다.
모든 NCHAT 기능은 기본적으로 활성화되어 있지만 CMAKE 플래그를 사용하여 일부 기능을 포함시키는 기능을 제어 할 수 있습니다 (기능 플래그 참조).
계정을 구성 / 설정하려면 설정 모드에서 NCHAT를 실행해야합니다.
nchat --setup
설치 모드는 전화 번호에 대한 프롬프트이며, 이는 국가 코드로 입력해야합니다. 예:
$ nchat --setup
Protocols:
0. Dummy
1. Telegram
2. WhatsAppMd
3. Exit setup
Select protocol (3): 1
Enter phone number (ex. +6511111111): +6511111111
Enter authentication code: xxxxx
Succesfully set up profile Telegram_+6511111111
입력 할 전화 번호가 확실하지 않은 경우 전화에서 Telegram 앱을 열고 메뉴 버튼을 누르고 표시된 번호를 사용하십시오 (공백을 생략하십시오. 아래 스크린 샷의 경우 입력 할 숫자는 +6511111111).

설정 프로세스가 완료되면 NCHAT의 기본 UI가로드됩니다.
여러 프로토콜/프로파일을 설정하려면 NCHAT를 종료하고 설정 단계를 다시 수행하십시오.
자세한 내용은 디버깅을 참조하십시오.
Telegram Group https://t.me/nchatusers는 사용자가 NCHAT 사용 및 관련 주제를 논의 할 수 있습니다.
사용자 데이터는 로컬로 ~/.config/nchat 에 저장됩니다. 기본 파일 권한은 사용자 액세스 권한 만 허용하지만 사용자의 개인 파일에 액세스 할 수있는 사람은 사용자의 개인 전보 데이터에도 액세스 할 수 있습니다. 가장 간단한 공격 벡터로부터 보호하기 위해 디스크 암호화를 사용하고 ~/.config/nchat 암호화되지 않은 백업되지 않도록하는 것이 적합 할 수 있습니다.
다음 구성 파일 (현재 기본값으로 나열된)을 사용하여 NCHAT를 구성 할 수 있습니다.
이 구성 파일에는 일반적인 응용 프로그램 설정이 있습니다. 기본 콘텐츠 :
attachment_prefetch=1
attachment_send_type=1
cache_enabled=1
coredump_enabled=0
downloads_dir=
emoji_list_all=0
link_send_preview=1
logdump_enabled=0
proxy_host=
proxy_pass=
proxy_port=
proxy_user=
timestamp_iso=0
모든 첨부 파일을 문서 유형으로 보내는 대신 파일 유형 (오디오, 비디오, 이미지, 문서)을 감지하고 첨부 파일을 해당 유형으로 보낼지 여부를 지정합니다 (일반적으로 원본 파일 내용을 그대로 두는).
부착 수준을 지정합니다.
0 = no prefetch (download upon open/save)
1 = selected (download upon message selection) <- default
2 = all (download when message is received)
캐시 기능 활성화 여부를 지정합니다.
애플리케이션 충돌시 코어 덤프를 활성화할지 여부를 지정합니다.
첨부 파일을 저장하기 위해 사용자 정의 다운로드 디렉토리 경로를 지정합니다. 지정되지 않으면 기본 DIR은 ~/Downloads 존재하면 ~ 입니다.
이모티콘 대화 상자가 모든 이모티콘을 나열 해야하는지 여부를 지정하고, 그렇지 않으면 공통 터미널에서 제대로 렌더링하는 이모티콘을 나열하는 것으로 제한됩니다.
전송 된 메시지에서 링크에 미리보기를 활성화할지 여부를 지정합니다 (전보 만 해당).
종료시 stdout에 경고 및 오류 로그 메시지를 덤프할지 여부를 지정합니다.
Socks5 프록시 서버 세부 사항. 프록시 사용을 활성화하려면 매개 변수 host 와 port 필요하며 user 와 pass 선택 사항입니다 (양말 서버에 따라 다름). 참고 : NCHAT를 처음으로 설정하는 동안 프록시를 사용하려면 구성을 생성하기 위해 인수 ( nchat )없이 NCHAT (NCHAT)를 먼저 실행 한 다음 ~/.config/nchat/app.conf nchat -s 실행하기 전에 계정을 설정하기 전에 프록시 설정을 편집하는 것이 좋습니다.
UI에서 ISO 스타일 타임 스탬프 ( YYYY-MM-DD HH:MM )를 사용하고 채팅 기록을 수출할지 여부를 지정합니다. 기본적으로 Nchat은 동적 "인간 친화적 인"형식을 사용합니다.
HH:MM , 예 : 19:00DAY HH:MM , 예를 들어 Mon 19:00DD MMM HH:MM , 예를 들어 14 Nov 19:00DD MMM YYYY HH:MM , 예를 들어 14 Nov 2022 19:00DD MMM YYYY HH:MM , 예를 들어 14 Nov 2022 19:00 이 구성 파일에는 일반적인 사용자 인터페이스 설정이 있습니다. 기본 콘텐츠 :
attachment_indicator=?
attachment_open_command=
away_status_indication=0
call_command=
chat_picker_sorted_alphabetically=0
confirm_deletion=1
desktop_notify_active=0
desktop_notify_command=
desktop_notify_inactive=0
downloadable_indicator=+
emoji_enabled=1
entry_height=4
failed_indicator=✗
file_picker_command=
file_picker_persist_dir=1
help_enabled=1
home_fetch_all=0
linefeed_on_enter=1
link_open_command=
list_enabled=1
list_width=14
listdialog_show_filter=1
mark_read_on_view=1
mark_read_when_inactive=0
message_edit_command=
message_open_command=
muted_indicate_unread=1
muted_notify_unread=0
muted_position_by_timestamp=1
online_status_share=1
online_status_dynamic=1
phone_number_indicator=
proxy_indicator=
read_indicator=✓
reactions_enabled=1
spell_check_command=
status_broadcast=1
syncing_indicator=⇄
terminal_bell_active=0
terminal_bell_inactive=1
terminal_title=
top_enabled=1
top_show_version=0
transfer_send_caption=1
typing_status_share=1
메시지보기에서 텍스트로 접두사 첨부 파일 파일 이름을 지정합니다.
첨부 파일을 열/보기에 사용할 사용자 정의 명령을 지정합니다. 명령에는 페일 이름으로 대체 될 %1 포함되어야합니다. 지정되지 않으면 다음 기본 명령이 사용됩니다.
Linux : xdg-open >/dev/null 2>&1 '%1' &
MACOS : open '%1' &
참고 : 트레일 링 & 터미널을 인수하는 명령 (예 : w3m -o confirm_qq=false '%1' 하고 see '%1' .
다른 사용자와 상태를 공유하면서 상단 표시 줄에 상태를 표시할지 여부를 지정합니다. 즉, 터미널이 비활성화 될 때 ( online_status_share=1 및 online_status_dynamic=1 가정하면) 상태는 Online 대신 읽 Away .
외부 도구를 사용하여 통화를 시작하는 데 사용할 사용자 정의 명령을 지정합니다. 명령에는 연락처의 전화 번호로 대체 될 %1 포함되어야합니다. 지정되지 않으면 다음 기본 명령이 사용됩니다.
Linux : xdg-open >/dev/null 2>&1 'tel://%1' &
MacOS : open 'tel://%1' &
채팅 선택 대화 상자 (메시지 전달시 사용)가 알파벳순으로 정렬되어야하는지 여부를 지정합니다. 그렇지 않은 경우 주문은 기본 채팅 목록 순서를 따릅니다.
메시지 또는 채팅을 삭제할 때 사용자에게 확인을 프롬프트할지 여부를 지정합니다.
NCHAT 터미널 창이 활성화 될 때 새 메시지가 데스크탑 알림을 트리거 해야하는지 여부를 지정합니다.
데스크탑 알림에 사용할 사용자 정의 명령을 지정합니다. 명령에는 %1 ( sender name 또는 group name - sender name )으로 대체 될 수 있으며 %2 ( message text 로 대체 됨) 단일 따옴표 (쉘 주입을 방지하기 위해)로 둘러싸여 있습니다. 지정되지 않은 경우 사용 된 기본 명령 :
Linux : notify-send 'nchat' '%1: %2'
MacOS : osascript -e 'display notification "%1: %2" with title "nchat"'
NCHAT 터미널 창이 비활성화 될 때 새 메시지가 데스크탑 알림을 트리거 해야하는지 여부를 지정합니다.
아직 다운로드되지 않은 첨부 파일의 메시지보기에서 텍스트 to 접미사 첨부 파일 파일 이름을 지정합니다. attachment_prefetch <2에 대해서만 표시됩니다.
이모티콘을 표시할지 여부를 지정합니다. 런타임에서 Ctrl-Y에 의해 제어됩니다.
텍스트 입력 영역의 높이를 지정합니다.
실패한 다운로드에 대한 메시지보기에서 텍스트 to 접미사 첨부 파일 파일 이름을 지정합니다.
파일을 보낼 때 사용되는 내부 파일 선택 대화 상자 대신 파일 선택에 사용할 명령을 지정합니다. 명령에는 명령이 결과를 기록 해야하는 %1 (임시 파일 경로)이 포함되어야합니다. 예 :
NNN : nnn -p '%1'
레인저 : ranger --choosefiles='%1'
파일 선택 대화 상자가 마지막으로 선택한 파일의 디렉토리를 유지 해야하는지 여부를 지정합니다.
도움말 막대를 표시할지 여부를 지정합니다. 런타임에서 Ctrl-G에 의해 제어됩니다.
home 버튼이 모든 채팅 기록을 반복적으로 가져와야하는지 여부를 지정합니다.
ENTER 키 프레스를 LINEFEED (LF 12 )로 읽어야하는지 지정하십시오. 그렇지 않으면 캐리지 리턴으로 읽으십시오 (Cr 15 ). 이 설정은 key.conf Enter (lf 12 , cr 15 )에 숫자 키 값을 사용하는 경우에만 관련이 있습니다. 키 이름 KEY_RETURN 항상 사용중인 사람에 매핑됩니다.
링크를 열/보기에 사용할 사용자 정의 명령을 지정합니다. 명령에는 URL로 대체 될 %1 포함되어야합니다. 지정되지 않으면 다음 기본 명령이 사용됩니다.
Linux : xdg-open >/dev/null 2>&1 '%1' &
MACOS : open '%1' &
참고 : 트레일 링 & 터미널을 인수하는 명령 (예 : w3m -o confirm_qq=false '%1' 하고 see '%1' .
채팅 목록을 표시할지 여부를 지정합니다. 런타임에서 Ctrl-L에 의해 제어됩니다.
채팅 목록의 너비를 지정합니다.
목록 대화 상자가 사용자가 검색 필터 입력을 표시 해야하는지 여부를 지정합니다.
NCHAT가보기시 메시지 읽기 영수증을 보내야하는지 여부를 지정합니다. false nchat이 next_page (page down), end (end) 또는 채팅에서 메시지/파일을 보낼 때만 읽는 메시지 만 표시하는 경우.
NCHAT가 현재 채팅의 메시지를 읽은대로 읽은 상태에서 비활성 상태인지 여부를 제어합니다.
외부 편집기 Compose에 사용할 사용자 정의 명령을 지정합니다. 지정되지 않은 경우 NCHAT는 SET이 있거나 nano 사용하는 경우 EDITOR 환경 변수를 사용합니다.
메시지 텍스트 부분을 열/보기에 사용할 사용자 정의 명령을 지정합니다. 지정되지 않은 경우 NCHAT는 설정된 경우 PAGER 환경 변수를 사용하거나 사용하지 less .
채팅 목록이 음소거 채팅에 대한 읽지 않은 상태 * 를 표시 해야하는지 여부를 지정합니다. 이것은 또한 그러한 채팅이 읽지 않은 점프에 포함되어 있는지 여부를 결정합니다.
음소거 채팅에서 알림 (터미널 벨) 새 읽지 않은 메시지를 지정합니다.
Muted Chat의 채팅 목록 위치가 마지막 수신/전송 된 메시지의 시간을 반영 해야하는지 여부를 지정합니다. 그렇지 않으면 음소거 된 채팅이 마지막으로 나열됩니다.
다른 사용자와 온라인 상태를 공유합니다. 참고 :이를 비활성화하면 WhatsApp의 온라인/입력 상태에 대한 업데이트가 중지됩니다.
터미널 활성 상태에 따라 온라인 상태를 동적으로 업데이트합니다. 참고 :이를 활성화하면 터미널이 활성화되지 않은 경우 WhatsApp의 온라인/타이핑 상태에 대한 업데이트가 중지됩니다.
현재 채팅의 전화 번호를 나타내는 상태 표시 줄 텍스트를 지정합니다. 이 필드에는 %1 포함되어 있으며 연락처의 실제 전화 번호로 대체됩니다. 기타 예 :
프록시가 활성화되어 있음을 나타내는 상단 막대 텍스트를 지정합니다.
수신자가 메시지를 읽었 음을 나타내는 텍스트를 지정합니다.
반응을 표시할지 여부를 지정합니다.
계산 된 메시지에 맞는 맞춤형 명령을 지정합니다. 지정되지 않은 경우 NCHAT는 시스템에서 aspell 또는 ispell 사용할 수 있는지 확인하고 (순서대로) 첫 번째 발견을 사용합니다.
지정 (whatsapp) 상태 업데이트 채팅 가시성 수준 :
0 = hidden
1 = visible and muted <- default
2 = visible
진행중인 다운로드를 위해 메시지보기에서 텍스트 to 접미사 첨부 파일 파일 이름을 지정합니다.
NCHAT 터미널 창이 활성화 될 때 새 메시지가 터미널 벨을 트리거 해야하는지 여부를 지정합니다.
NCHAT 터미널 창이 비활성 일 때 새 메시지가 터미널 벨을 트리거 해야하는지 여부를 지정합니다.
사용자 정의 터미널 제목을 지정합니다. 예 : terminal_title=nchat - telegram .
상단 막대를 표시할지 여부를 지정합니다. 런타임에서 Ctrl-P에 의해 제어됩니다.
상단 막대에 NCHAT 버전을 표시할지 여부를 지정합니다.
파일을 전송할 때 입력 된 텍스트를 캡션으로 전송 해야하는지 지정합니다.
대화에서 다른 사용자와 입력 상태를 공유할지 여부를 지정합니다.
이 구성 파일은 사용자 인터페이스 키 바인딩을 보유합니다. 기본 콘텐츠 :
backspace=KEY_BACKSPACE
backspace_alt=KEY_ALT_BACKSPACE
backward_kill_word=33177
backward_word=
begin_line=KEY_CTRLA
cancel=KEY_CTRLC
clear=KEY_CTRLC
copy=33143
cut=33170
decrease_list_width=3354
delete=KEY_DC
delete_chat=33144
delete_line_after_cursor=KEY_CTRLK
delete_line_before_cursor=KEY_CTRLU
delete_msg=KEY_CTRLD
down=KEY_DOWN
edit_msg=KEY_CTRLZ
end=KEY_END
end_line=KEY_CTRLE
ext_call=33164
ext_edit=33145
find=3357
find_next=3377
forward_msg=33162
forward_word=
goto_chat=33156
home=KEY_HOME
increase_list_width=3356
jump_quoted=33161
kill_word=
left=KEY_LEFT
linebreak=KEY_RETURN
next_chat=KEY_TAB
next_page=KEY_NPAGE
ok=KEY_RETURN
open=KEY_CTRLV
open_link=KEY_CTRLW
open_msg=33167
other_commands_help=KEY_CTRLO
paste=33166
prev_chat=KEY_BTAB
prev_page=KEY_PPAGE
quit=KEY_CTRLQ
react=33163
right=KEY_RIGHT
save=KEY_CTRLR
select_contact=KEY_CTRLN
select_emoji=KEY_CTRLS
send_msg=KEY_CTRLX
spell=3344
terminal_focus_in=KEY_FOCUS_IN
terminal_focus_out=KEY_FOCUS_OUT
terminal_resize=KEY_RESIZE
toggle_emoji=KEY_CTRLY
toggle_help=KEY_CTRLG
toggle_list=KEY_CTRLL
toggle_top=KEY_CTRLP
transfer=KEY_CTRLT
unread_chat=KEY_CTRLF
up=KEY_UP
주요 바인딩은 다음 형식으로 지정 될 수 있습니다.
KEY_CTRLK )0x22e )