A faster, lightweight alternative implemention of ofatomic

db85e43 guiprep: adjust logging

~welt pushed to ~welt/murse git

9 months ago

5b98d78 Don't deploy if not committed to master branch

~welt pushed to ~welt/murse git

10 months ago
This program is a near reimplementation of ofatomic, by int. It
includes new (non-)features, less bugs, and speedier downloads. I
created this because if you know me, you know I hate deploying Python.
Additionally ofatomic makes some poor design decisions that makes
downloads slow and unreliable. Because this is a reimplementation it's
shares limitations with ofatomic (such as using a slow hash for
updates/verification). One of the things I want to do is rewrite the
backend to get around these limitations.


Updating is much quicker as we only download the different files
between your currently installed revision and the latest one

Lightweight and fast:
Since this is written in a compiled, lower level language, murse is
much faster than the Python implementation. It's been designed to be
quicker too, adjustments have been made that make it significantly

According to my benchmarks, murse took about half the time to install
Open Fortress that ofatomic did. I ran both of these with eight threads
on a Ryzen 2700x with 16GB of RAM. I used the coreutils time command to
measure these. No other programs were running on the disk.

Although, ofatomic has an unfair advantage, because it crashed with
an error extremely close to the end (as in a hundred megs off).

"real" is the actual real world time it took.

real    16m15.630s
user    1m32.739s
sys     0m22.652s

real    8m22.129s
user    1m28.769s
sys     0m33.338s

Of course, we have the usual suspects (Windows, Linux) but we also
support other operating systems, like FreeBSD. Hypothetically this will
run anywhere Go can. Although I'm not sure why you would want this
on NetBSD or something.

Static builds:
This program uses pure-Go libraries. You can build purely static builds,
which means that deploying is simply a matter of running the binary. No
more Python and Pip annoyances!

We try to include flags such that murse is backwards compatible with
scripts for ofatomic. There are some dummy flags though, because we
handle things differently.


Binary install:
Currently, we have automatic builds being pushed to dl.spiderden.net.

Linux: https://dl.spiderden.net/murse/linux
Windows: https://dl.spiderden.net/murse/windows

I also made a video guide if you need some handholding (Linux/Windows)

Source based:
go get -u spiderden.net/go/murse

If you would like to make a purely static build, clone this repository
and target "static" with GNU Make (better build system is in the works)

Remember to add GOBIN to your path.


If you want to submit a patch, feel free to do so at our mailing list.
Additionally unconfirmed bugs/support should go to the mailing list.


If you want to report confirmed bugs or bugs with a fix, feel free to submit it
to the bug tracker. If you're unfamiliar with how SourceHut works, you send an
email to submit tickets.


Read the COPYING file. All library license info is in ATTRIBUTION.