Meshtastic as non-http network layer?

Putting this here rather than software development as I’m not even sure if it’s realistically possible. I also acknowledge that Meshtastic’s use case is more suited towards SMS and sensor data. I’ts just something I’m curious about and figure someone here might know enough to go ‘yea no technically possible but realistically a no-go’ so I can move on.

I mean, in theory yea. Just look at this terrifying thing tht allows webpage loading using SMS as a networking layer:

And Gemini is lighter than HTTP/S. the problem is, is it light enough to do anything practical without having nodes spaced every twenty feet or so to have bandwidth?

Gemini Protocol Specification:

It… operates under a ‘One Request One Response’ rule so that might help limit the amount of traffic.

If Gemini isn’t workable i have to wonder if older pre-tcp/ip things such as ye Olden BBS’s of yor would be doable given they ran in the eras of 300 baud at the earliest (though quickly superceeded) and all the way up to 28.8kb/s with 9600 being what i would consider as a target number. Looking at amature Radio, specifically the packet radio ssytem employed in bands that are even narrower (2 meter being popular once upon a time) might also be something.

Again I’m pessimistic both of the gneral viability as well as interest.

Because: ‘Well just use wifi.’

I’m more looking at what the bounds are rather than if this is ‘best use’ because simply setting up a set of wifi repeaters WOULD be better in theory, but the concept just won’t let my brain go.

1 Like

Since hams used to run (some still do run) packet BBSes, I don’t see it as impossible on LoRa.
I think we’d have to locate people into the LoRa, Ham, and modern Telnet BBS scenes.

1 Like

That is a large part of why the idea came to me. Either have a straight up iteration if ham packet radio, or some variation where you have a client that has all the otherwise heavy bits of organization and storage and the messages having headed that tell where each goes in relation to others.

I’m not sure how feasible that is eather or if that is completely backwards or what but… Just a place where my mind went

I’ve exposed serial connections using tcpser (letting me access telnet BBSes from old Apple II and DOS machines through my linux box before). I am waiting for my Heltecs to arrive and I want to look into the UART SIMPLE mode… I think I could also make something of a BBS in the same way my “bash ham repeater” script can be a simple BBS. https://pastebin.com/nGfPrdss

Depending on the complexity of the bulletin board you want, it might not be too hard to write one from scratch. Some IRC bots are nearly BBSes as it is… and there are some bots (like this one that connects meshatastic to telegram: https://github.com/tb0hdan/meshtastic-telegram-gateway) for meshtastic already…

1 Like

tcpser: Ubuntu Manpage: tcpser - emulate a Hayes compatible modem

I also re-found this thing: GitHub - lukeaschenbrenner/TxtNet-Browser: An app that lets you browse the web over SMS

It lets a person browse websites over SMS (converts to flat html, encodes, etc). It seems like anything that works over SMS should be able to work on meshtastic… maybe

That link was in the first post.

Sorry, I was looking at other things and forgot to double-check the original post.

1 Like

Then I found out about the “tunnel” option of the meshtastic cli interface: [GUIDE] SSH over Meshtastic

1 Like

This is interesting. Bring able to ssh into a thing gives all sorts of options.

I just don’t have the experience.

I am working on a project to implement a dialup/telnet era BBS on meshtastic. It appears that --tunnel is all we will need, but it does not seem to be very well supported. My 2.2.21 install doesn’t even have the —tunnel option. Does anyone know which versions of the Python CLI include tunnel?

% meshtastic --tunnel
meshtastic: error: unrecognized arguments: --tunnel

–tunnel, plus mosh (as used in that ssh over meshtastic tutorial), plus a simple server running a UTF-8 compatible BBS like Mystic sounds like it should work great. I haven’t built any of this yet tho - still building nodes to create the network.

1 Like

Not knowing the technical bits beyond surface level I do have to wonder if there is a way to make something that is at least aware of the quirks of LoRa rather than just aping dialup.

Keeping the interface to simple lists with little adornment might help, and sadly one would have to avoid file transfers (I would want it as an off by default option rather than complete ‘no’ as a use may present itself.) But still a sort of park net sort of thing might be useful for larger gatherings over a wider spread area than a con.

Example that springs to mind is a jeep event that happened not too long ago here where it stretched over a largish preserved settlement and surrounding park. Having a way to commune even with dead spots would be nice.

Then again in that event the problem would have been too many nodes, but that is a problem for another thread.

The other logical application is disaster response where you can have threads detailing current state if affairs.

Thought: tying this into nodes set as repeaters. That or have a bbs like experience when node is set as repeater, and a more email like node when set as a client/endpoint.

Maybe mailing lists are a better analogy than bbs. I dunno

I’ve run some tests. It works :wink: https://www.youtube.com/watch?v=uO3v8Ew_-vE

Threads on mastodon: HowToPhil (Phillip R): "Video showing connecting to #mysticBBS (configure…" - Mastodon
HowToPhil (Phillip R): "#telnetBBS ( #mysticBBS ) over #meshtastic using …" - Mastodon

I use Syncterm as the client. Since meshtastic is encrypted, you might not need ssh and only telnet

1 Like

I think looking at IRC bots which replicate a lot of BBS stuff (stored and sent later messages, games, files, etc) but have text only in and out would be good inspiration for this. There’s a lot of overlap in meshtastic chat/channels and IRC from a UI perspective.

Telnet works over the mesh as well and since meshtastic is encrypted already, I’m not sure you need to double-encrypt and might do fine with telnet instead. Syncterm connects to my MysticBBS in ASCII mode (ANSI works but is even slower) fairly well in close and clear conditions over the --tunnel mode.

1 Like

Awesome thank you for testing this! LongFast is a bit painful. I am curious if mosh (mobile shell) helps things feel snappier. I’m assuming your nodes are right next to each other for this test - any thoughts on usability across a multihop network?

1 Like

The nodes are indeed right next to each other. I doubt mosh would be faster. Telnet has basically no overhead while ssh/mosh have to encrypt and thus expand the data sent and received. (mosh would probably be more “stable” though)

I’d have to get my roof-top node in place before I can test some longer distances. I’m pretty sure it’ll be slow-slow once you’re a hop or two away but testing would prove it one way or the other.

1 Like

Love it. I’m also in the midst of adding nodes to have a “real” network but excited to try this too. After seeing this speed comparison I’m tempted to try to build my local network as short or medium fast from the start.

Good point about ssh/telnet. Have you played with MTU at all?

Dear god in heaven this is perfect as reference material. I can’t thank you enough for checking that. I realize you were probably going for two nearby devices to check ‘does this work’ as opposed to range tests. So.

I’ve only ever heard range reports on long/slow. What are the ranges like on other settings?

Also, I suspect you can’t have one note handling traffic that’s of differing speeds? IE long/slow and short/fast in one node?

Again I really do appreciate the testing as this goes above and beyond my idle speculation.

Observations:

  1. on an android phone and 7 inch tablet terminal is annoying due to tiny text. Plus normal people arne’t going to want ot delve into a scary looking command line thing. This establishes a thing is possible. Either here or else-thread I’ve considered the idea of the user-side having a set interface/layout both so the nodes don’t have to transmit that data, and for ease in presentation to those that don’t care about the technical and just want a thing.

Adapting Mystic or another BBS isn’t entirely feasable, but would any of the principle apply to a dedicated app/program?

  1. Would adopting something fido-like in way of dedicated synching periods between meshes help with network congestion? IE Mesh A forwarding to Mesh B, or each updating to a router node that is hooked up to whatever is hosting the board?

Edit: I use Fido as an example because each mesh has a node-limit. Similar problem to the call distance issue way back in the BBS Heyday when long distance charges were absolute Murder (talking six hundred dollar phone bills… in eighties dollars.)

1 Like

Would it be possible to use something like fidonet to sync local instances of BBSes that run either on the host connected to Meshtastic or on a dedicated raspberry pi or something? Like you would loge in, read and send mail, post messages, etc, then it will slowly sync with other BBS instances while nobody is paying attention so that next time someone logs in to their BBS instance your messages are there. You could even have one in your car and it could sync up (exchange mail and public messages) with a network in another town when you are there, then propagate new messages to your local network when you get home etc? I know there is this internet thing that is way easier, but I think this is a fun experiment for art purposes if nothing else.

2 Likes