Uma aplicação de chat LAN distribuída no terminal (sem necessidade de servidor!). Execute o aplicativo no seu terminal e escreva na LAN!
Construído sobre tui-rs para criar a UI do terminal e message-io para fazer as conexões de rede.
Você pode usar o gerenciador de pacotes de carga para instalá-lo.
$ cargo install termchat --all-features
Se você tiver ~/.cargo/bin
em seu PATH (ou similar em seu sistema operacional), poderá usar termchat em qualquer lugar do seu computador!
Além disso, você pode baixar a última versão para sua máquina em releases.
termchat
pode ser instalado a partir de pacotes AUR disponíveis usando um auxiliar AUR. Por exemplo,
$ yay -S termchat
Se preferir, você pode clonar os pacotes AUR e depois compilá-los com makepkg. Por exemplo,
$ git clone https://aur.archlinux.org/termchat.git && cd termchat && makepkg -si
Para não saturar a rede, termchat usa apenas uma mensagem multicast na inicialização para encontrar outros aplicativos termchat na rede. Depois que um novo aplicativo é encontrado por multicast, uma conexão TCP é criada entre eles.
Basta escrever:
$ termchat
para abrir o aplicativo em seu terminal.
Por padrão, o nome de usuário do seu computador é usado. Você pode usar um nome de usuário diferente com -u <name>
Você pode modificar o endereço de descoberta multicast com -d <address>
Você pode definir uma porta de servidor TCP personalizada com -t <port>
(veja a ajuda do aplicativo para mais informações --help
).
termchat trata mensagens contendo os seguintes comandos de maneira especial:
?send <$path_to_file>
: envia o arquivo especificado para todos na rede, exemplo: ?send ./myfile
Nota: Os arquivos recebidos podem ser encontrados em /tmp/ termchat /< termchat -username>/<file_name>
no Linux ou Mac, ou %USERPROFILE%AppdataLocalTemp termchat < termchat -username><file-name>
se estiver usando o Windows.
?startstream
/ ?stopstream
: inicia/interrompe o stream de vídeo e envia-o para todos os pares. Atualmente isso só é suportado no Linux, as demais plataformas só podem receber o vídeo.
termchat armazena sua configuração em um arquivo simples localizado em $ConfigDir/ termchat /config
no Mac ou Linux, ou %USERPROFILE%AppDataRoaming termchat config
se estiver usando Windows.
Configuração padrão:
discovery_addr = "238.255.0.1:5877"
tcp_server_port = 0
user_name = "my_awesome_user_name"
terminal_bell = true
[theme]
message_colors = ["Blue", "Yellow", "Cyan", "Magenta"]
my_user_color = "Green"
date_color = "DarkGray"
system_info_color = ["Cyan", "LightCyan"]
system_warning_color = ["Yellow", "LightYellow"]
system_error_color = ["Red", "LightRed"]
chat_panel_color = "White"
progress_bar_color = "LightGreen"
command_color = "LightYellow"
input_panel_color = "White"
P: Os hosts não podem ser descobertos
UM:
Certifique-se de que nenhum firewall esteja em execução (exemplo: ufw) e, se for esse o caso, interrompa-o ou adicione portas termchat à lista branca.
Por padrão, você precisa permitir a porta 5877/udp
e port X/tcp
, X
é diferente a cada execução. Observe que você pode especificar uma porta TCP personalizada conforme mencionado acima e adicioná-la à lista de permissões do firewall.
P: Posso silenciar a campainha do terminal quando recebo uma mensagem?
R: Sim! Você pode executar termchat
passando o sinalizador --quiet-mode
ou simple -q
.
P: Não consigo ver nada na minha área de trabalho com tema claro!!!
R: Você pode usar termchat --theme light
e também pode personalizar as cores individualmente por meio do arquivo de configuração.