Skip to content

Latest commit

 

History

History
146 lines (119 loc) · 12.3 KB

Sharing-information-privately-at-home.md

File metadata and controls

146 lines (119 loc) · 12.3 KB

Sharing Information at Home

Is it prudent to donate everything you share around the house with your ISP, your email provider, and your chosen social media provider? I don't think so. As a result, I have begun experimenting with some simple, isolated information sharing platforms for around the house.

Simple is important to me. Simple, even primitive, seems best for most of our family information sharing -- most of which is transient. Simple text and lists will get us far. I don't have a favorite platform in mind and need to look around for options and experiment.
Cleanup is also important to me. If any of these experiments really sticks then it will accumulate non-public data. At some point I'll need to securely erase that data. (shred, wipe, srm (secure-delete))

shred -zvu -n 5 <filename>

Then confirm your work:

hexdump < <filename>

You might see: https://icorn.org/digital-security for more information about digital security

LocalSend May Be The One

My testing between iOS and Windows seems to work as claimed.
https://github.com/localsend/localsend/

"LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network, without needing an internet connection."
"About: LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn't require an internet connection or third-party servers, making it a fast and reliable solution for local communication."
"All data is sent securely over HTTPS, and the TLS/SSL certificate is generated on the fly on each device, ensuring maximum security."
This app is implemented to work on Windows, macOS, Linux, Android, iOS and Fire OS.

An Experiment with openNAMU

openNAMU is a Korean wiki that is relatively immature and in active development. It is also not a highly secure or self-defensive platform. But it IS simple:

  • cd ~/github
  • git clone -b stable https://github.com/openNAMU/openNAMU.git
  • cd openNAMU/
  • python3 -m venv env
  • source env/bin/activate
  • python -m pip install --upgrade pip
  • python -m pip install --upgrade setuptools wheel
  • python -m pip install -r requirements.txt
  • python3 ./app.py
    • It will prompt for the TCP port
  • permit traffic through your firewall:
    • <IP_ADDRESS> /tcp ALLOW <LOCAL_SEGMENT>/ <SUBNET_MASK>
    • and DENY all traffic from your router
  • Point your browser at http://localhost:/
  • Use the Admin menu to create users, administer roles (grant Admin to one or more users)
  • Pick a template, edit page headers & footers as needed. Done.
  • Use the system as a wiki or as highly asynchronous instant messaging on your local home network segment.

Scripting startup thereafter is easy:

#!/bin/bash 
cd ~/github/openNAMU/
source env/bin/activate
python3 ./app.py

It requires users write in HTML, which will be a turn-off for some (it is not at my home for this use case). It appears to have no concept of https/TLS communications yet, so it is not appropriate for unsafe networks. The authors have produced a good start. I'll keep looking for now.

Next An Experiment with Convos

https://github.com/convos-chat/convos
Installation is a breeze, but I immediately learned that I had not carefully read the documentation.

curl https://convos.chat/install.sh | sh -
./convos/script/convos daemon

The script output showed that I was installing a Perl application -- something I had not done for years...
In addition, the server appeared to work immediately, but the configuration showed me that this was not a local installation at all. I was using irc.libera.chat in the background.
The documentation emphasized "Convos is all about privacy" This project is a web interface to global IRC. Pretty neat, but not what I am looking for.

Next An Experiment with CS Class Chat app using Flask

https://github.com/saarikabhasi/Chat-application
My limited experimentation did not show this as a contender at test time.

Next An Experiment with Workbase-server

The source code is at: https://github.com/wanglian/workbase-server/
I tried the simple path and installed in on Ubuntu using snap -- https://snapcraft.io/workbase-server.

$ sudo snap install workbase-server
$ sudo snap run --shell workbase-server
# echo ROOT_URL=https://home.local > $SNAP_COMMON/root-url.env
# exit
$ sudo snap restart workbase-server
$ sudo ufw delete from <my_network_segment>/<its_netmask> to any port 3000 proto tcp

At that point it appeared to work. Asking me to set up the initial (Admin) user. Easy.
I set up a second user and did some testing.
The user interface is pretty crude and seems unfinished.
But it does support interactive chat-like communication without hiccups.
It is just not a pleasing experience and I get the sensation that catastrophe is nearby.
I'll try something else.

Other Candidates for Review

https://github.com/miroslavpejic85/awesome-selfhosted-mirotalk#communication---irc

https://github.com/topics/p2p-chat

https://www.gutenberg.org/ebooks/70235

Snapdrop: local file sharing in your browser. Inspired by Apple's Airdrop. https://github.com/RobinLinus/snapdrop