Onionshare – Yet Another Privacy Tool

Sometimes you just stumble on things…

I’ve forgotten what search terms showed me the name “Onionshare” but on one of my searches about Tor, it showed up. It is a file-sharing application for Tor. It lets you send a file from your machine to someone else’s relatively securely.

I couldn’t find much about availability on Arm, so I just tried an install, and it went. (Raspberry Pi M3 / Raspbian Buster). Then launched it. A nice window opens with “drag file here to share” and it does some magic, and then eventually up pops a link for sharing it. A purple / white dual circular arrows roundabout button show up on the menu bar near the network status. Right Click and you get a dropdown that includes some configuration options. I chose “stop sharing after first download”. So looks like you can control the window of exposure tightly. Drop in a file to share, send text to your target (or encrypted email, or…) and as soon as they click the link and do the download, the file evaporates.

Raspbian Onionshare and i2prouter running

Raspbian Onionshare and i2prouter running

FWIW, I put up a test file containing all of “This is a test, this is only a test” and this is the URL it returned to me:

http://i3phc5qak73d7pee.onion/grader-relenting

So first person to put that in a Tor Browser can get the file ;-)

It’s been grabbed!

(Note that .onion address high level qualifier. This is on the Tor Dark Net only.)

Note that ANYONE who has the URL can download the file, so for stuff you absolutely must have secure, encrypt the file before sharing. You might want to have a prior agreement like “I’ll encrypt files for you using the name of your favorite fast food place and your dog’s name” or some such, so that you don’t need to repeatedly pass encryption keys in the clear anywhere…

Some Tech Talk

https://micahflee.com/2021/02/onionshare-tabs-anonymous-chat-cli/

OnionShare 2.3 adds tabs, anonymous chat, better command line support, and quite a bit more

Posted February 21, 2021 in onionshare code

After a ridiculously long sixteen months (or roughly ten years in pandemic time) I’m excited to announce that OnionShare 2.3 is out! Download it from onionshare.org.

This version includes loads of new and exciting features which you can read about in much more detail on the brand new OnionShare documentation website, docs.onionshare.org. For now though I’m just going to go over the major ones: tabs, anonymous chat, and better command line support.

Doing all the things at once
In the olden days, OnionShare only did one thing: let you securely and anonymously share files over the Tor network. With time we added new features. You could use it as an anonymous dropbox, and then later to host an onion site.

But what if you wanted to, for example, run your own anonymous dropbox as well as share files with someone? If your OnionShare was busy running a service, you couldn’t run a second service without stopping the first service. This is all fixed now thanks to tabs.
[…]

As Onionshare is started by a Python script that has a 2018 date in the heading, I’m thinking the version in the Raspberry Pi Raspbian repository is not this new one…

pi@raspberrypi:~ $ which onionshare
/usr/bin/onionshare
pi@raspberrypi:~ $ file /usr/bin/onionshare
/usr/bin/onionshare: Python script, ASCII text executable
pi@raspberrypi:~ $ more /usr/bin/onionshare
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
OnionShare | https://onionshare.org/

Copyright (C) 2018 Micah Lee 

But it does look like it works for file sharing. Anyone care to launch a Tor browser and let me know? I’ll keep this machine running the rest of the day or until someone claims the file…

There’s online documentation for how to install. Here’s the one for Linux but it has pages for Mac and PC as well:

https://docs.onionshare.org/2.3.1/en/install.html#install-in-linux

They tell you how to run it inside a sandbox. As this whole Pi is basically a disposable sandbox system, I’m just running it from the repository as an application. Here’s how I did the install:

root@raspberrypi:/# apt-get install onionshare
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  obfs4proxy python3-stem tor tor-geoipdb torsocks
Suggested packages:
  mixmaster torbrowser-launcher socat tor-arm apparmor-utils
Recommended packages:
  torbrowser-launcher
The following NEW packages will be installed:
  obfs4proxy onionshare python3-stem tor tor-geoipdb torsocks
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,898 kB of archives.
After this operation, 19.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf obfs4proxy armhf 0.0.7-4 [1,293 kB]
Get:2 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf python3-stem all 1.7.1-1 [284 kB]
Get:3 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf tor armhf 0.3.5.12-1 [1,697 kB]
Get:4 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf onionshare all 1.3.2-1 [105 kB]
Get:5 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf tor-geoipdb all 0.3.5.12-1 [1,451 kB]
Get:6 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf torsocks armhf 2.3.0-2 [67.4 kB]
Fetched 4,898 kB in 32s (153 kB/s)                                             
Selecting previously unselected package obfs4proxy.
(Reading database ... 166290 files and directories currently installed.)
Preparing to unpack .../0-obfs4proxy_0.0.7-4_armhf.deb ...
Unpacking obfs4proxy (0.0.7-4) ...
Selecting previously unselected package python3-stem.
Preparing to unpack .../1-python3-stem_1.7.1-1_all.deb ...
Unpacking python3-stem (1.7.1-1) ...
Selecting previously unselected package tor.
Preparing to unpack .../2-tor_0.3.5.12-1_armhf.deb ...
Unpacking tor (0.3.5.12-1) ...
Selecting previously unselected package onionshare.
Preparing to unpack .../3-onionshare_1.3.2-1_all.deb ...
Unpacking onionshare (1.3.2-1) ...
Selecting previously unselected package tor-geoipdb.
Preparing to unpack .../4-tor-geoipdb_0.3.5.12-1_all.deb ...
Unpacking tor-geoipdb (0.3.5.12-1) ...
Selecting previously unselected package torsocks.
Preparing to unpack .../5-torsocks_2.3.0-2_armhf.deb ...
Unpacking torsocks (2.3.0-2) ...
Setting up python3-stem (1.7.1-1) ...
update-alternatives: using /usr/bin/python3-tor-prompt to provide /usr/bin/tor-prompt (tor-prompt) in auto mode
Setting up obfs4proxy (0.0.7-4) ...
Setting up tor (0.3.5.12-1) ...
Something or somebody made /var/lib/tor disappear.
Creating one for you again.
Something or somebody made /var/log/tor disappear.
Creating one for you again.
Created symlink /etc/systemd/system/multi-user.target.wants/tor.service → /lib/systemd/system/tor.service.
Setting up onionshare (1.3.2-1) ...
Setting up torsocks (2.3.0-2) ...
Setting up tor-geoipdb (0.3.5.12-1) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for gnome-menus (3.31.4-3) ...
Processing triggers for systemd (241-7~deb10u6+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for desktop-file-utils (0.23-4) ...

The online download site looks like it is only one architecture, so likely only AMD64 for the VM version. The rest, being Python, ought to work anywhere.:

https://onionshare.org/dist/2.3.1/

Index of /dist/2.3.1/
../
OnionShare-2.3.1.dmg                               22-Feb-2021 22:18            78193481
OnionShare-2.3.1.dmg.asc                           22-Feb-2021 22:17                 833
OnionShare-2.3.1.msi                               22-Feb-2021 22:12           106131456
OnionShare-2.3.1.msi.asc                           22-Feb-2021 22:17                 833
onionshare-2.3.1.tar.gz                            22-Feb-2021 22:18            10485760
onionshare-2.3.1.tar.gz.asc                        22-Feb-2021 22:17                 833
onionshare_2.3.1_amd64.snap                        22-Feb-2021 22:17           242491392
onionshare_2.3.1_amd64.snap.asc                    22-Feb-2021 22:17                 833

There was no torbrowser-launcher in the repository, so when I tried to also install the recommended packages, that failed. My Tor will have to run outside of a sandbox.

root@raspberrypi:/# apt-get install mixmaster torbrowser-launcher socat tor-arm apparmor-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package torbrowser-launcher is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'torbrowser-launcher' has no installation candidate

Everything else installed. Even though I don’t know what all it does… During the install it asked me questions about how my mail server is configured. I don’t have one running and don’t have a domain name, so just put in some “cute” stuff… Probably ought to figure out what these all do and only install the ones that matter.

root@raspberrypi:/# apt-get install mixmaster socat tor-arm apparmor-utils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
[...]
0 upgraded, 37 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,986 kB of archives.
After this operation, 11.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

I didn’t install all of the “suggested packages” these pakages tagged… This being a quick test only, really.

After that, Onionshare shows up in the “Internet” dropdown menu list. That’s pretty much all it took.

Tor makes a direct tunnel between two parties and with some intermediate host hops to obscure the connection. This ought to be faster then sharing a big file using Bittorrent over i2p and it lets you limit the download to one copy.

It looks to me like what it does is create a fake “URL Address” that indirectly points to the Tor tunnel it set up, then the file gets encrypted and moved when someone uses that URL. I have no idea how well it will work, but it does look like Yet Another Privacy Tool to have on your belt. It is a lot quicker and easier to set up than a full i2p install, so if you just need to share a file quick, it looks like a nice way to go.

OK, I’m going back to testing things on the R. Pi now. Let the race to download the example file begin! Someone got it!

Sidbar On Pi Sloth:

I’m running i2p router on this Pi M3, and I’ve got Chromium open 9 tabs. (It was 10 and that one had an animation in it that was really slowing things down…). At present I’m running i2psnark sharing a bittorrent file, and I’ve got 27 tunnels running (2 participating, most exploring or client). That combined load put the Pi in a bit of a slow mode.. and rolled 264 MB to swap. I’ve closed some tabs ( I’d had nearer 15 open that caused the swap hit) and it’s pretty good now.

But realize the Pi is just not a fast box for this kind of stuff. It does work, and it is quite acceptable, but don’t expect to watch a video while running bittorrent while using Tor to browse the Dark Web… without any pausing. If you use only the tabs you really need and don’t try to do too many things at once, it’s fine.

Subscribe to feed

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in Tech Bits. Bookmark the permalink.

26 Responses to Onionshare – Yet Another Privacy Tool

  1. E.M.Smith says:

    Since CISCO was happy to play in the Prism Program, I’m thinking OpenDNS is not so great anymore: “OpenDNS is now part of Cisco”

    They also now want you to create an account and give them your personal information before they show you the IP addresses to use…

    I think I’m gonna need a new DNS “Go To” source…

  2. E.M.Smith says:

    Well, someone snagged the file!

  3. James says:

    File claimed. Running Brave Browser. Launched new private window with TOR. Copy and pasted in URL. Worked like a charm. Downloaded the file. Went back in to see if I can access the web address again and it come up “This site can’t be reached”. Is that what you were hoping for?

  4. E.M.Smith says:

    I’ve started sharing the test file again, but this time it will not go POOF! after the first download.

    Looks like it gets a new URL each time. Right now it’s:

    http://zcxnozn6amkmmlgq.onion/unmoving-wildland

    In a few hours I’ll shut it down again. Until then, anyone want’s to test it out, there ya go.

  5. H.R. says:

    Just reporting what happened at the date and time stamp of this comment. Here is what I got when clicking your link, E.M.

    Hmmm… can’t reach this page

    zcxnozn6amkmmlgq.onion’s server IP address could not be found.

  6. E.M.Smith says:

    Odd… I show it still running. I was having some lags until I quit the browser.

    I’m building the Tor router from source on it… pegs one core for compiles…

    Might want to try again now that it isn’t taking pauses…

    I’ll restart it if still dodgy… you did use a Tor Browser / router, right? It can’t be seen from the regular internet browsers.

  7. E.M.Smith says:

    Just used my tablet Tor Browser copy and it finds the file. Downloading it hit a snag and gives me a .zip.part filetype though. I think it is about 8 years out of date… so probably that.

    Can someone with a Tor from this decade try the download and confirm its just my tablet? I’ve been searching for an ARM Tor browser for the Pi and just downloaded one but it will take a while for me to install it somewhere and test. Plus, being an experimental build, it might be dead too.

  8. E.M.Smith says:

    just to document where to get an Arm Tor Browser:
    Source code for a DIY:
    https://sourceforge.net/projects/tor-browser-ports/
    Already built images to try:
    https://sourceforge.net/p/tor-browser-ports/activity/

    “some assembly required”… once you unxz it then un-tar it and find it needs to (somehow ill defined…) be installed…

  9. E.M.Smith says:

    @James:

    That was exactly what I was hoping for!

  10. E.M.Smith says:

    Related in that it is banning, which is what I’m working to obsolete here….

    RightSide Broadcasting has a 2 week ban from Youtube for carrying Trump’s speech. Seems you are forbidden to say the truth that the election was fradulent. BUT, they are on Rumble too:

    https://rumble.com/c/RSBN

    https://rumble.com/vecumr-rsbn-live-on-rumble.html

    RSBN LIVE on Rumble – Next Stream 3/5/21 at 1:30pm ET

    Rumble — Next up: Friday, March 5, 2021 at 1:30pm Eastern. LIVE from New York City, it’s the TRUMP SAVE AMERICA FLAG UNFURLING. This peaceful and patriot gathering is sure to be a spectacular site. This is one of the largest ‘Trump 2024’ flags in existence. Join us as flag walkers make their way down 5th Ave towards Times Square.

    So you might want to give Rumble a big boost by watching Trump there ;-)

    I’d talked about The CPAC Speech here:

    https://chiefio.wordpress.com/2021/02/28/cpac-triggering-dems-for-sure/
    And embedded a UGEtube link.

    Just leave Eeuwtube behind…

  11. Rienk says:

    My Tor-browser is torbrowser-install-win64-9.5.1_en-US
    Went to :http://zcxnozn6amkmmlgq.onion/unmoving-wildland
    Onionshare :Total size: 147.0 B (compressed)
    Main window: testfile.txt 37.0 B
    Press download: gives warning about possible insecurity
    Download anyway: onionshare_2grdch.zip
    Works!

    Rienk

  12. pinroot says:

    I think I ran across Onionshare recently and grabbed a copy, but I just haven’t had time to play with it yet. I’ve been trying to set up an RPi Zero to try and run i2pd and just see if it can be done (proof of concept, more than anything else). I grabbed a copy of a distro called diet-pi (dietpi.com), which is a small Debian based distro (it’s definitely worth looking into). There’s a 32 bit version for the Zero and a 64 bit version for the Pi M3 and higher. They support 10 or so different SBCs including RPi, Odroid, Pine64 and others. The version for each SBC is supposed to be optimized for that particular SBC.

    It’s been a while since I installed a new system, so I’ve managed to break it a few times and do a fresh install, but I finally have the base system set up like I want, so I need to make an image of the SD card so that if/when I break something, I’ll have something to fall back on instead of starting from scratch (again). One thing I liked about it was that while it was doing an update, it notified me that there were Micro$oft packages in a repository and it recommended that if I wasn’t doing any VS development work, I could allow it to remove the repository and it’s keys, which I did. So I didn’t have to do it myself, which was nice.

  13. E.M.Smith says:

    @Pinroot:

    I’ve gotten really good at taking a uSD card, putting it in a USB adapter, and doing

    dd bs=10M if=/dev/sdX of=/my/backup/dir/RPidebian2Mar2021.img
    

    Where X is the correct drive letter.

    Just realize you will start saving TB of backups after a while :-}

    The Pi Zero is a v6 right? That’s going to be sand in the gears as most stuff out there is v7 ISA. Even finding v7 codes is hard enough. On my Pi M3, i2pd was just apt install… but didn’t run as it errored out. Likely an easy fix of config, but only so much time available.

    You may end up compiling it from source.

    Might want to get a quick experience base via your Pi M2, 3, whatever and i2prouter. Then head into i2pd and v6 with a bigger experience base of a working example.

    I ran dietPi on my PiM2 long ago… v7 cores can run v6 code… maybe I’ll toss a copy of the v6 (16 bit so small code size Update: it is Thumb instructions that are smaller, v6 is 32 bit) on one of them and kick it around. One of them has been idle for years, might be nice to give it a purpose :-) Cutting memory use in half would help too…

    Update: While it’s 32 bit, it’s a v6 ISA

    https://raspberrypi.stackexchange.com/questions/83374/raspberry-pi-zero-w-is-armv6-or-armv7

    First: It’s ARMv6.

    The Zero uses the original BCM2835 SoC used on the first generation of Pi’s and all the other single core models, with a ARM1176JZF-S processor (although the Zero models have ones binned as 1000 Mhz instead of 700).

    All ARM11 cores use the ARMv6 instruction set architecture.
    Since those using ARMv7 or 8 are backward compatible with ARMv6, Raspbian has stuck with that. This is also the reason most of the distros used on the multicore models cannot be used on the Zero — because they are ARMv7.

    I would like update nodejs to the latest version

    You can in many cases run code compiled for ARMv7 with an otherwise ARMv6 userland, if the processor itself can run it (meaning, you’d also be using an ARMv7 kernel), which the Zero cannot.

    That would explain why they say Rasbian is for “all R.Pi models”. It’s compiled as v6 even for v7 and v8 chipsets. Probably also explains why some of the behaviours are a bit odd, like any download causes it to slow to a crawl and have issues swapping between windows. Not supporting the advanced instructions on a v7 or v8 that let it be smoother.

  14. E.M.Smith says:

    @Reink:

    Thanks for that confirmation. Did you bother unzipping it to see if the file came through OK? I expect it did.

    @All:

    At some point I’ll want to do a speed test on this, but not real soon. It does offer a very simple and very quick way to send a uSD image for, say, a R.Pi to others and it bypasses the “bootstrap into i2p” problem. (I.e. I can make a uSD image for an i2p router on R.Pi and share it with anyone who can run a Tor browser or recent Brave browser, and then they can use it to get into i2p. No need to get i2p installed to download a system image to let you run i2p without installing i2p…)

    As long as speed is at all acceptable, it’s a very much shorter and quicker path to a Peer To Peer file exchange.

    So I guess my next step ought to be that “minimal R.Pi Desktop with i2p installed” then compress the image and see how long it takes to download a copy…

  15. E.M.Smith says:

    https://www.raspberrypi.org/%20downloads/

    Looks like another reason to hold off on buying a Pi M4:

    If your Raspberry Pi 4 will not boot, it is possible that the SPI EEPROM has become corrupted. To check, remove the SD card, disconnect the device from power, then reconnect it. If the green LED does not flash, this indicates that the EEPROM has become corrupted.

    Raspberry Pi Imager provides an easy way to fix this problem, by automatically preparing an SD card that will reprogram your Raspberry Pi 4’s EEPROM:

    Find an SD card that is empty, or does not contain any data you want to keep; it will be completely erased of all data during this process.
    Download Raspberry Pi Imager for your operating system from the list near the top of this page.
    Click “CHOOSE OS” and select “Misc utility images” then “Pi 4 EEPROM boot recovery”.
    Insert an SD card, click “CHOOSE SD CARD”, select the card you have inserted, then click “WRITE”.
    Once the SD card is ready, insert it into your Raspberry Pi 4 then connect the Raspberry Pi to power.
    Once complete, the green LED will blink rapidly in a steady pattern. Disconnect the device from power. Now you can remove the recovery SD card, insert your usual SD card, and resume using your Raspberry Pi.

    When an issue is so common you put it on the front page of you download block, that’s a problem.

    How many NOOBS are going to know what EEPROM is or that the wrong blinking light pattern matters? Whatever…

    FWIW, I’m really happy with my Odroid SBCs across the board. Nice speed and very reliable. Appropriate heat sinks included and I/O structure is good. While I like my R.Pi boards and am very glad I bought them, IMHO they are more stepping stone than destination… A nice experiment in minimalism, and I like being able to just throw one at some problem (as the cost can be incredibly low…). For a desktop Daily Driver, I’ll take the XU4, N2, or even C2, C3 etc. first.

    THE big advantage of the R.Pi is the huge number of eyeballs in the “community” making sure things “just work” and developing “projects”. That leads to higher stability, and that is worth a lot. But I’m not sure the Pi.M4 has hardware stability. They have pushed a few things too far, IMHO.

    The uUSBc connector for power is now being driven at and over spec. I can plug a USB hard drive into my Odroids as they have a barrel connector for power and big PSU. For the Pi, I need to buy a $25 USB powered hub to drive a disk. ( I own 2 now, bought for my Pi.M3 boards, but most of the time I’m using ports directly off the Odroids for disks as it is easier).

    Heat extraction is so lousy the Pi M4 thermal throttles at IDLE. Really? You can’t put a 25 ¢ heat sink on it at the factory at bulk costs? I have to spend $5 for buying and shipping one?

    Now an EEPROM that occasionally loses it’s mind?

    So it goes…

  16. E.M.Smith says:

    I left the Onionshare running over night, so anyone who wanted to test it could. At this point I’m more interested in “moving on”; and I’m finding the “pauses” in the v6 Rasbian increasingly annoying. What good is it to have v7 or in this case a v8 ISA chipset with parallel threads and lookahead pipelines and then run a v6 ISA that doesn’t use them (or not as well, anyway)?

    So with “proof of concept” out of the way, I’m going “shopping” for a v7 or v8 OS for the R. PiM3 that has a working Onionshare, Transmission (Bittorrent), and i2p or i2pd ready to install.

    On Raspbian, every time you ask it to do something with decent I/O in it, the screen almost freezes up. LOoooonnng pauses before it comes back to pick up your mouse clicks. That’s just not going to be a good experience for something doing a lot of I/O via i2p / Onionshare.

    So I’m shutting down this Onionshare (and the last link will stop working) and them booting up “something else”…

  17. Taz says:

    Have used onionshare for years 24/7. Very stable. Haven’t updated it yet to this new version because I really want the authorization cookie feature to be implemented.

    https://www.void.gr/kargig/blog/2015/04/10/onion-service-authorization-cookie/

    Remember that trap door from the movie “Porky’s”? Kinda like that :)

  18. Taz says:

    @E.M. Smith

    I don’t possess your software abilities. Wish I did…but that’s unlikely to happen. That said, ability can sometimes be “too much of a good thing”. Sending you down development rabbitholes to re-invent the wheel.

    Have you ever attempted simple ATOM industrial boards? Before they went Hollywood? And made themselves vulnerable to Spectre.

    Any ATOM Cedarville or lower lacks speculative execution. And many have the 64bit instructions the Linux people are forcing us to. ATOM-Maybe a better use of your time?

  19. Rienk says:

    Indeed it did. The file wasn’t damaged. I used the ‘open with explorer’ option (windows remember) and clicked on the text file. So even the braindead way of doing things gave me the readable text. Had it been any other than zip I would have tried 7zip. which gives the possibility to pack/unpack XZ, BZIP2, GZIP, TAR plus more and unpack ISO, LZH, LZMA, RAR and a host of other formats.

  20. pinroot says:

    @EM – Yeah, I have a feeling I’ll be using that dd command in the coming weeks. I don’t think I’ll get into the terabyte range though, as all I’ll be doing is backing up a working “base” system so if I break anything I don’t have to go back to step 0.

    I really don’t expect the Zero (yes, it’s a V6) to be a very good i2p router, it’s more just to see if I can do it. I’m going to run it headless, so there won’t be much overhead as far as window managers and all that. I suspect I’ll eventually turn the Zero into a Pi-hole system and use the Pi M3 for the actual i2p router. Dietpi has a bunch of optimized applications for their optimized releases, and they’ve got a Pi-hole package so hopefully, at the very least, I can get that up and running on the zero.

    I’ve got an old Pi M1 B laying around somewhere, maybe I’ll dust it off and do something with it eventually

  21. E.M.Smith says:

    @Rienk:

    Nice to know! Thanks!

    @Taz:

    I’ve got a few “older x86” boxes without the ME in them, should I wish to do that. I’ve lusted after some of the dinky Atom devices from time to time. One not much bigger than a standard sized SD card… But their performance is a bit mediocre. Plus, most of the hacks in the world are aimed at the Intel / Amd arch (though changing with ever more ARM devices…)

    https://dietpi.com/survey/#benchmark

    Note that the Odroid N2 scores ahead of x86 on some of those and is pretty good on all of them. (x86 still has much better I/O though…). So yeah, I’ve thought about it. (What I’d do is really take my decommissioned old ChromeBox and put Linux on it. That was the idea way back when. It’s EOL from lack of software updates as of a year or two ago…)

    But part of my goal was cheapest MFlops possible and that’s from a gaggle of dirt cheap SBCs… I’m really fond of the field of cluster computing ;-)

    My first Beowulf was all Intel / AMD arch back about 1994-ish. Made from old cast off stuff. My second one was based on White Box PCs I inherited. Ran it at home for a few years. Still have about 1/2 the boxes in the garage… but a R.Pi now beats it / them on speed.

    FWIW, just downloaded a suite of Void Linux Images for the R.Pi family. Both glibc and Musl.
    https://voidlinux.org/download/
    Going to give it a go. Last time I looked at them some years back they were x86/AMD64 only. Now they have ARM ports. A non-SystemD system with good reviews. Musl is supposedly faster and smaller too:
    http://www.etalabs.net/compare_libcs.html

    I’m running a Musl based release on my R.Pi M1 as a router / DNS server etc. Works fine. And why carry around 30 years of library support for the 486 on an ARM board?

    Most of what I do is “Tech Play” for me anyway. I just try to point it toward some actual productive goal…

    @Pinroot:

    As DietPi is Debian based, it ought to have a version of i2p in the repository for a BUSTER release.

    I’m going to poke around in Void Linux and report back… eventually ;-)

    Maybe I’ll decommission my old R.Pi M1 from DNS cache and try it on the v6 Void…
    https://alpha.de.repo.voidlinux.org/live/current/void-rpi-musl-20210218.img.xz
    or
    https://alpha.de.repo.voidlinux.org/live/current/void-rpi-20210218.img.xz

  22. E.M.Smith says:

    Well that was interesting, sort of…

    Copied Void onto an SD card. Stuffed it into the R.Pi M 1. Booted and ran FINE. No windows desktop. Installed xfce, lxde, xorg, xinit, no joy. Can’t find a window to open. I think that means there’s a bunch of X config stuff not done (or some OTHER bit of code missing… have I mentioned I absolutely HATE AND DESPISE Xorg?)

    Ok, moving on…

    I did an install of i2p… not there. How about 12prouter? Nope. Well, i2pd? Yup!

    It installed. Running it (headless, no config done) it threw a LOT of WARN messages at the console (root login) but seemed to be working. Nothing lethal and it kept on going, so there’s that…

    My conclusion from the 432 MB memory needed, the fast response to commands and the very fast install of programs is that MUSL libraries are faster and smaller than glibc and it’s great idea. BUT, that like BSD, Void just doesn’t give enough of a damn to put in place the One Thing standing between most folks and using their product: A GUI.

    So now I can either spend God Only Knows how many hours fighting Xorg (A-Gain…) or just blow it off and move on to some other distro…

    Guess what I’m going to do? Yeah… Moving on…

    IF I wanted a headless server this is likely a great distribution, but fight Xorg to a win? Why? What could possibly make it worth my time when 3 or 4 others are ready to go with a configured GUI in the download?

    Oh Well… and Maybe SOMEday… but not, I think, today…

  23. Pinroot says:

    I think I’ll check out one of the Void packages and see how it goes. I plan to run whatever I run on the Zero as a headless system, so a window manager won’t be a problem. I’m not a fan of xorg either, but it is better than it was. I remember having to get the manual for your monitor to get settings so you could plug them into a config file, then cross your fingers and hope that they were the right settings and that you would get a useable desktop, instead of something crazy, or just a crash. Just changing resolution meant editing a config file. There have been several alternatives around (Weyland is the only one I can think of) but X seems pretty entrenched.

    FreeBSD has SD disk images for several SBCs (https://www.freebsd.org/where/), and they’ve got a 64 bit version for RPi 3, so that might be an option, but it’s probably a base install and you’d have to install a window manager which may mean dealing with Xorg. it’s been years since I messed with any of the BSDs so I have no idea how easy or difficult they are these days.

  24. E.M.Smith says:

    @Pinroot:

    I try the BSDs every so often. I got FreeBSD pretty far along a couple of times. IIRC even got the window manager working ;-) I really like the BSDs, but I’ve been away from them a long time. FWIW I started on Unix about a decade before Linux even existed and a few years before System V replaced Version 7 style. BSD is basically a Version 7 that has avoided all the capricious changes AT&T put into System V to try to get back control of Unix… So all my basic skill set was formed on BSD and then early SysV a few years later. I still tend to think in terms of rc.d init..

    I’ve done the whole X magilla before, about 1990 was the last time… Sun workstation? Or an SGI? Something with an alien monitor to be attached… Thus my not liking it ;-)

    I’m currently going through my scattered and ever growing collection of uSD cards, and system images, and finally getting around to tossing out a lot of cruft. (Even the Linux From Scratch I built once… Why build it? Well, it was there… ) Thus my TBs of disk images… But really, do I need a Raspberry Pi M1 NOOBs archive from the first 2 years it was out?… Or that BSD from a decade ago on a Pi M2?

    IIRC, FreeBSD was the only one to make a 64 bit (aarch64). NetBSD IIRC has a armhf build. OpenBSD refuses to touch it due to the binary blob boot loader as they are Security Purists and despise all things blob… FreeBSD Ports is a nice system ;-)

    I have a working Gentoo on Pi M3 (with windows environment ;-) and it’s nice. It was a bit of a pain to make it go, as you are supposed to build it all from source each time you do an installation. (You get a binary minimal boot tarball “stage 3” and then everything else is source built…) It is my Fallback Option if Devuan craps out on the ARM space. I’d really like to have Devuan make a big success of it, though, as Debian is just a lot easier to build and manage a system. But Void has a shot at displacing it as my fallback…

    Void has a real nice small footprint and can do very well as long as you are willing to DIY the desktop part. I “get it” that they are busy just making the system work really well and don’t have enough people to hand-hold all the folks wanting a pre-built appliance and can’t be bothered with 500 different monitor / windows manager / desktop combinations… The perils of a relatively young port. Not even a large user community and forums to fall back on last time I looked. But they do make a good system. They just also suffer from focus on the PC first, ARM catch as catch can, and the belief most ARM chips are for headless things or appliances or IOT or anything not a desktop… Maybe the Mac Arm will change that mindset.

    I used Alpine (a tiny router oriented Linux) for my DNS / Squid proxy for several years on a Pi M1 that otherwise was doing nothing. It uses the MUSL libraries and I had no issues with it. I’m thinking maybe it’s time to deprecate that server as the Pi Hole next to it has taken over both rolls and only some old system images still point at it… so it only really gets used when I boot some image from a couple of years back. But it did make me very comfortable with MUSL. Alpine is a bit quirky as it really doesn’t want to do anything much other than be a router. If you change settings and don’t “commit” them with a special command, a reboot clears the changes. Nice in a router usually run headless. But not a general use distribution… “Busybox + MUSL + Router Guts”.

    So “someday” I’m going to take the time to get X working on Void on the R.Pi. But not now. IF I had another headless server need, I’d likely put it in service. (Why drag all of a fat Windowing System into a headless server anyway?) But right now I’m doing more things with desktops than things without. I could easily see using it to replace the Rock64 as my i2p router service to the internet; but for now I’m using the windowing environment on it to do monitoring and such. So that use is a bit in the future for me.

    If you get there first, put up a comment on what you did to make i2p run as a service and I’ll make one too ;-)

  25. E.M.Smith says:

    Oh, and a side note on BSD and interoperations:

    BSD does support reading ext file systems, but IIRC only up to ext2, and it does not let you write them, and they basically say it isn’t guaranteed to work… So you can’t just move disks around between Linux and BSD systems. UFS can be read on Linux (but last I tried it IIRC not written either…) so you can get a little information movement between them, but really, they both just need to be given their own disks and their own file systems.

    That’s the major reason I’m not running more BSD in my office. I do a LOT of moving disks around (my main tools / home dir / etc. on a disk that moves with me from box to box… along with archival disks for doing backup copies). The BSD just ends up ‘odd man out’…

    So I occasionally make one and play with it, but then it gets set aside as the rest of the stuff doesn’t integrate with it all that well. However, if SystemD continues and the SystemD Free folks don’t provide enough good choices, I’m happy to just someday swap over to being a BSD shop… But I’d have a few TB of disk data to convert and copy ;-)

  26. Pinroot says:

    My first exposure to UNIX was when i worked for AT&T in the mid 80’s. I guess that would have been System V. I didn’t use it at work, but you could dial into the system and access test accounts they had, so I would use my Commodore 64 and 1200 baud modem and access the system. I picked up a few books and learned a few things.

    When I got my first PC there was just DOS, so I used MS-DOS but never liked it. Digital Research came out with their own (DR-DOS) which was much better than Micro$oft’s version and I used it till Windows came out (M$ broke windows so that it would only run on M$ DOS). I started looking for a Sun box just to not have to use M$, but around that time a distro of Linux was available, so I ran that for a while. I forget what distro that was, but I later moved to Slackware which came on 30+ floppy disks. And it’s been pretty much Linux ever since.

    I did set up a BSD box for a while just to play with. It reminded me of UNIX more than Linux did. I never did much with it, I don’t think I even had a window manager, just a console.

    I’ve ordered some more SD cards to play with different distros, so when I get them, I’ll give Void a shot and see if I have any luck. And if I ever get i2p running, I’ll let you know. Hopefully in the upcoming week I’ll find some time.

Comments are closed.