This can be installed with a 15kb install script that compiles all resources and hosts the server right in your pocket.
Using Termux to create a tiny selfhosted hidden chat server with E2EE.
Submitted 3 weeks ago by hereforawhile@lemmy.ml to selfhosted@lemmy.world
https://lemmy.ml/pictrs/image/38faaa4d-bea2-4df2-9517-929e6d1c7c42.jpeg
Comments
hereforawhile@lemmy.ml 3 weeks ago
Flatfire@lemmy.ca 3 weeks ago
Echoing the sentiment of the other commenter. A link would be great!
solrize@lemmy.ml 3 weeks ago
I don’t get it, how to other clients connect and do they use the same program? It does look cool though the tmux keyboard is bare bones.
hereforawhile@lemmy.ml 3 weeks ago
The install script contains all the pieces needed to be the host server or just a client. Because termux allows you to run multiple sessions, if you are the host, you have to run the server in one session and then connect in a different session.
What’s not shown in the screen shot is that if you choose to host, a onion address is generated. This is how other clients connect.
solrize@lemmy.ml 3 weeks ago
I did see some onion code in the script, but didn’t figure out that it was listening on an onion port. Cool. I’m not sure of the attraction of running it on a phone, but I’ll take your word for it ;). Do you actually use it? Yeah I can see wanting to reorganize it in some ways, and maybe try to use some more standard protocols (irc?) or a subset. Does tor not already provide its own crypto?
Johnmannesca@lemmy.world 2 weeks ago
Use unexpected keyboard, nobody expects the unexpected keyboard!
Jayjader@jlai.lu 3 weeks ago
Kudos for developing this on your phone! I’ve played around with termux, even have a Bluetooth keyboard, but I’ve never had the courage to actually code through it.
possiblylinux127@lemmy.zip 3 weeks ago
I honestly would prefer something like Briar
hereforawhile@lemmy.ml 3 weeks ago
I thought briar was known to leak Wifi and BT identifiers is that fixed?
phase@lemmy.8th.world 3 weeks ago
Is Termux still up to date? I thought it wasn’t available on android anymore. Is it on something else?
hereforawhile@lemmy.ml 3 weeks ago
I think you can but the developers recommend getting it from GitHub or F-Droid because of google play policy issues.
CIA_chatbot@lemmy.world 3 weeks ago
Is there a link?
hereforawhile@lemmy.ml 3 weeks ago
Ok this is still super early but it’s working on the few devices I tried with a fresh install of termux.
pastebin.com/cRL6MnKe
hereforawhile@lemmy.ml 3 weeks ago
Working on a slightly more polished version. I can release soon.
solrize@lemmy.ml 3 weeks ago
Wow, it is cute. I’m still having trouble imagining using it, but I like the idea of a curses chat client under tmux.
CIA_chatbot@lemmy.world 3 weeks ago
Thanks, looks cool
hereforawhile@lemmy.ml 2 weeks ago
Ok,
Here is a more polished version with MIT license.
Improvements
-User counts
-Connection Status Indicator
-Ability to turn on persistent rooms. By default, the server only relays in real time. /persist turns on chat logs. The server then stores encrypted messages and users can chat asynchronously.
-Rotating onion address and keeping existing onion now work correctly. If you rotate a onion address, since encryption keys are partially derived from the onion address, the client will be unable to decrypt messages even if the same password is used.
-Got rid of ncurses set up menus to slim down the script a bit.
-Removed redundant server manager commands and now only list two. Quit and Quit and Flush (this deletes everything in the server directory except persistent chat logs if they were turned on)
New UI Image
Example of Encrypted Chat Logs on Server Side Image
I noticed some of my devices during testing wouldn’t connect without hosting a server in a seperate instance. I’m not sure why this is happening but if you can’t connect, try to host a server and then connect to another host. This seemed to fix the issue.