8 个版本 (稳定版)

1.3.1 2021年12月15日
1.3.0 2021年3月16日
1.2.0 2021年2月3日
1.1.2 2020年11月27日
0.1.0 2020年9月6日

#1358 in 命令行工具

每月31次下载

Apache-2.0

75KB
1.5K SLoC

终端中的分布式局域网聊天应用程序(无需服务器!)。在您的终端中运行应用程序并写入局域网!

基于 tui-rs 构建终端 UI,以及 message-io 实现网络连接。

安装

您可以使用 cargo 软件包管理器进行安装。

$ cargo install termchat --all-features

如果您的 PATH 中有 ~/.cargo/bin(或类似项),则您可以在计算机的任何位置使用 termchat

您还可以从 发行版 下载适用于您的机器的最新版本。

Arch Linux

termchat 可以通过使用 AUR 软件包 并使用 AUR 辅助工具 进行安装。例如,

$ yay -S termchat

如果您愿意,可以克隆 AUR 软件包,然后使用 makepkg 进行编译。例如,

$ git clone https://aur.archlinux.org/termchat.git && cd termchat && makepkg -si

工作原理?

为了不使网络饱和,termchat 在启动时只使用一个多播消息来在网络中查找其他 termchat 应用程序。一旦通过多播找到新的应用程序,它们之间就会建立 TCP 连接。

用法

只需在终端中输入

$ termchat

即可打开应用程序。

默认情况下,使用您的计算机用户名。您可以使用不同的用户名,方法是在 -u <name> 中指定。

您可以使用 -d <address> 修改多播发现地址。

您可以使用 -t <端口号> 设置自定义的 TCP 服务器端口。

(更多信息请参阅应用程序帮助 --help)。

命令

Termchat 对包含以下命令的消息进行特殊处理

  • ?send <$path_to_file>: 将指定的文件发送到网络上的每个人,例如:?send ./myfile

    注意:接收到的文件可以在 /tmp/termchat/<termchat-username>/<file_name> 找到

  • ?startstream/?stopstream: 开始/停止视频流并将其发送给所有对等方。目前这仅在 Linux 上支持,其他平台只能接收视频。

配置

Termchat 将其配置存储在位于 $ConfigDir/termchat/config

默认配置

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"

常见问题解答

问: 主机不可发现

A

  • 请确保没有运行防火墙(例如:ufw),如果是这种情况,请停止它或将 termchat 端口添加到白名单。

  • 默认情况下,您需要允许端口 5877/udp端口 X/tcp,其中 X 每次运行都不同。请注意,您可以根据上述说明指定自定义 TCP 端口并将其添加到防火墙白名单。

问: 收到消息时,我能否静音终端铃声?

答: 当然可以!您可以通过传递标志 --quiet-mode 或简单 -q 来运行 termchat

问: 我在浅色主题桌面上看不到任何东西!!!

答: 您可以使用 termchat --theme light,您还可以通过配置文件单独自定义颜色。

依赖关系

~8–21MB
~246K SLoC