{"id":15146990,"url":"https://github.com/anthhon/stm","last_synced_at":"2026-01-20T00:08:45.046Z","repository":{"id":165375153,"uuid":"609857009","full_name":"Anthhon/stm","owner":"Anthhon","description":"STM (Secure Terminal Messenger) is a command-line messenger focused in security and reliability","archived":false,"fork":false,"pushed_at":"2024-04-17T15:55:31.000Z","size":295,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T05:18:05.854Z","etag":null,"topics":["collaboration","command-line","community","innovation","open-source","programming","software-development","software-engineering","ssl","technology","web-development","xmpp","xmpp-client"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Anthhon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-05T13:01:41.000Z","updated_at":"2023-11-08T20:04:10.000Z","dependencies_parsed_at":"2023-11-15T03:23:52.042Z","dependency_job_id":"4394a5c8-7632-4808-8706-ef9707653807","html_url":"https://github.com/Anthhon/stm","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.12121212121212122","last_synced_commit":"c2ead6cd8dd566303410d680d2587774ee453cf2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anthhon%2Fstm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anthhon%2Fstm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anthhon%2Fstm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anthhon%2Fstm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Anthhon","download_url":"https://codeload.github.com/Anthhon/stm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563934,"owners_count":20958971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaboration","command-line","community","innovation","open-source","programming","software-development","software-engineering","ssl","technology","web-development","xmpp","xmpp-client"],"created_at":"2024-09-26T12:21:19.732Z","updated_at":"2026-01-20T00:08:45.004Z","avatar_url":"https://github.com/Anthhon.png","language":"C","readme":"# STM - Secure Terminal Messenger\n\n## Introduction\n\n`STM` is an application designed to be simple and realible terminal chat.\n\n## Requirements\n\n- C compiler\n- [Termui](https://github.com/Anthhon/termui)\n\n## Why using Termui?\n\n`STM` was conceived with a need for a simple Text User Interface (TUI). Although `ncurses` was deemed excessive for this purpose, I created `Termui`, a lightweight statically linked library tailored for this project.\n\nPs: While initially designed for this project, `Termui` isn't limited to this application and can be utilized for other purposes. Explore the repository for more information.\n\n## Building\n\nThe installation process involves a `Makefile`, making it straightforward. Upon executing the following command, you will obtain the `server` and `client` binaries.\n\n```bash\nmake\n# or\nmake build-linux\n```\n\n## Usage\n\n### Server-side\n\nTo initiate the server-side application responsible for managing clients, use this command:\n\n```bash\n./stm-server [server_ip] [port]\n```\n\nEnsure port forwarding is configured if you intend to use it across WAN networks.\n\n### Client-side\n\nSubsequently, connect to the server using this command:\n\n```bash\n./stm [server_ip] [username] [port]\n```\n\nUpon successful connection, you'll see a prompt at the bottom of the terminal for sending messages. Incoming messages will appear in the terminal's message history section at the top.\n\n## Roadmap\n\n- [X] Create a basic UDP chat app\n- [X] Implement some basic terminal interface\n- [X] Implement basic message metadata\n- [X] Implement [Termui](https://github.com/Anthhon/termui) TUI library\n- [X] Implement multi-threading for both client and server\n- [X] Make it work at WAN network\n- [ ] Replace `select` with `epoll`\n- [ ] Implement Winsock library so it work on Windows XD\n- [ ] Add unit tests\n\n## Contribute\n\nThis project operates under the [MIT License](./LICENSE), welcoming contributions from everyone. Feel free to fork the repository, make changes, and submit pull requests. Your contributions are valued and appreciated!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthhon%2Fstm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthhon%2Fstm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthhon%2Fstm/lists"}