All Projects → lemunozm → Termchat

lemunozm / Termchat

Licence: apache-2.0
Terminal chat through the LAN.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Termchat

Whatsapp Play
Command line software through which you can play with your WhatsApp. It is having different options to play with your WhatsApp like message blast, online tracking, whatsapp chat..
Stars: ✭ 289 (+26.2%)
Mutual labels:  command-line-tool, terminal, chat
Sampler
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Stars: ✭ 9,203 (+3918.78%)
Mutual labels:  command-line-tool, terminal
Kouchat Android
KouChat for Android
Stars: ✭ 73 (-68.12%)
Mutual labels:  chat, lan
Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (-44.98%)
Mutual labels:  command-line-tool, terminal
Ed
A modern UNIX ed (line editor) clone written in Go
Stars: ✭ 44 (-80.79%)
Mutual labels:  command-line-tool, terminal
Lan im
LAN Instant Messaging based on Qt
Stars: ✭ 63 (-72.49%)
Mutual labels:  chat, lan
Tooling
Advancing Node.js as a framework for writing great tools
Stars: ✭ 98 (-57.21%)
Mutual labels:  command-line-tool, terminal
Qr Filetransfer
Transfer files over WiFi between your computer and your smartphone from the terminal
Stars: ✭ 738 (+222.27%)
Mutual labels:  command-line-tool, terminal
Asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
Stars: ✭ 1,805 (+688.21%)
Mutual labels:  terminal, command-line-tool
Quickpkg
wrapper for pkgbuild to quickly build simple packages from an installed app, a dmg or zip archive.
Stars: ✭ 137 (-40.17%)
Mutual labels:  command-line-tool, terminal
Grex
A command-line tool and library for generating regular expressions from user-provided test cases
Stars: ✭ 4,847 (+2016.59%)
Mutual labels:  command-line-tool, terminal
Sqlite Global Tool
SQLite .NET Core CLI tool that allows the user to manually enter and execute SQL statements with or without showing query result.
Stars: ✭ 37 (-83.84%)
Mutual labels:  command-line-tool, terminal
Google Images Download
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!
Stars: ✭ 7,815 (+3312.66%)
Mutual labels:  command-line-tool, terminal
Mocha Chrome
☕️ Run Mocha tests using headless Google Chrome
Stars: ✭ 66 (-71.18%)
Mutual labels:  command-line-tool, terminal
Initior
A command line application that let's you initialize your new projects the right way, replaces npm and yarn's init 🎆
Stars: ✭ 17 (-92.58%)
Mutual labels:  command-line-tool, terminal
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-60.7%)
Mutual labels:  command-line-tool, chat
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+1831%)
Mutual labels:  command-line-tool, terminal
Jmxterm
Interactive command line JMX client
Stars: ✭ 389 (+69.87%)
Mutual labels:  command-line-tool, terminal
Sultan
Sultan: Command and Rule over your Shell
Stars: ✭ 625 (+172.93%)
Mutual labels:  command-line-tool, terminal
Desktoppr
Simple command line tool to set the desktop picture on macOS
Stars: ✭ 127 (-44.54%)
Mutual labels:  command-line-tool, terminal

A distributed LAN chat application in the terminal (without needing a server!). Run the application in your terminal and write into the LAN!

Built on top of tui-rs to create the terminal UI and message-io to make the network connections.

Installation

You can use the cargo package manager in order to install it.

$ cargo install termchat --all-features

If you have ~/.cargo/bin in your PATH (or similar in your OS), you will be able to use termchat everywhere in your computer!

Also, you can download the last release for your machine from the releases.

Arch Linux

termchat can be installed from available AUR packages using an AUR helper. For example,

$ yay -S termchat

If you prefer, you can clone the AUR packages and then compile them with makepkg. For example,

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

How it works?

To not saturate the network, termchat uses only one multicast message at startup to find other termchat applications on the network. Once a new application has been found by multicast, a TCP connection is created between them.

Usage

Simply write:

$ termchat

to open the application in your terminal.

By default, your computer user name is used. You can use a different username with -u <name>

You can modify the multicast discovery address with -d <address>

You can set a custom tcp sever port with -t <port>

(see the application help for more info --help).

Commands

Termchat treats messages containings the following commands in a special way:

  • ?send <$path_to_file>: sends the specified file to everyone on the network, example: ?send ./myfile

    Note: The received files can be found in /tmp/termchat/<termchat-username>/<file_name>

  • ?startstream/?stopstream: starts/stops video stream and send it to all peers. Currently this is only supported on linux, the other platforms can only receive the video.

Config

Termchat store its configuration in a simple file located at $ConfigDir/termchat/config

Default 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"

Frequently Asked Questions

Q: Hosts are not disoverable

A:

  • Make sure that no firewall is running (example: ufw), and if that's the case either stop it or add termchat ports to the white list.

  • By default you need to allow port 5877/udp and port X/tcp, X is a different with each run. Note that you can specify a custom tcp port as mentioned above and add it to the firewall whitelist.

Q: Can I silence the terminal bell when I received a message?

A: Yeah! You can run termchat passing the flag --quiet-mode or simple -q.

Q: I can't see anything on my light themed desktop!!!

A: You can use termchat --theme light, also you can customize colors individually via the config file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].