27bd741 CI vendor script should use correct version
~zethra pushed to ~zethra/stargazer git
Stargazer is a fast and easy to use Gemini server with no runtime dependencies (if compiled with musl libc).
Project Status: I have begun working on Stargazer 2.0! This version will hopefully contain several new and cool features as well as breaking changes (hence 2.0). This is very much a work in progress. No promises on timeline. Feel free to take a look-see over at the next branch to see what I'm working on, and THINGS_TO_CHANGE for ideas I've written down for new features. No promises on any of them, these are just things I've thought of and might do. Feel back, suggestions, and patches welcome! If you have big ideas now is the time to voice them.
There are various installation methods, take your pick.
Stargazer is currently packaged on a few distros including:
It's either called stargazer
or stargazer-gmi
depending on the distro.
docker pull zethra/stargazer
Docker Hub
docker pull codeberg.org/sashanoraa/stargazer:latest
Codeberg
You can download pre-built Linux binaries from the release page. The bundle contains a static binary, example config, and man pages. It should work on any distro.
cargo install stargazer
Dependencies:
git clone https://git.sr.ht/~zethra/stargazer && cg stargazer
./scripts/build
# As root
./scripts/install --prefix=/usr
If crates.io is inaccessible, Stargazer's dependencies for each release are
also available on the release page. Simply download the vendor tar ball,
extract it in the project root, and follow the instructions in the
INSTRUSTIONS
file.
The required Rust version will not change between patch versions.
Stargazer officially supports Linux and FreeBSD. It will likely work on other BSDs, macOS, Windows, and other platforms that its dependencies support, but it's not currently tested on those platforms. Other free platforms may be officially supported in the future if there are sufficient requests for them. Patches to support other platforms likely will be accepted though.
Configure stargazer by editing its config file, normally found at /etc/stargazer.ini
.
See stargazer(1) for CLI options and
stargazer.ini(5) for configuration
instructions.
Stargazer should be reasonably secure. I used it myself, and I've tested it quite a bit. However, Stargazer has been almost exclusively written by one person and hasn't gone through any formal code review or audit so keep that in mind.
Do be mindful if you use CGI scripts. It can be easy to write them incorrectly such that they cause security problems. Especially if they are written in POSIX shell.
These are the versions I'm still actively patching. If you're using an older version please update.
Stargazer's dependency rustls had a vulnerability that could potentially affect Stargazer. See RUSTSEC-2024-0336 for more details.
Stargazer's dependency webpki had a vulnerability that could potentially affect Stargazer. See RUSTSEC-2023-0052 for more details.
Stargazer would serve files from anywhere on the file system if a path starting
with //
was requested.
All the source code and resulting binaries of stargazer is licensed under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.
Please send any and all patches, bugs, and questions to my mailing list ~zethra/public-inbox@lists.sr.ht with the prefix stargazer or submit a ticket to the bug tracker if you feel so inclined todo.sr.ht/~zethra/stargazer. You can also contact me directly. Up-to-date contact info can be found on my website sashanoraa.gay.
If you can package stargazer please do! I currently maintain an Arch and NixOS packages but if you can package for any other distro please do and let me know. I don't currently use Arch, so if you want to take over maintenance of the AUR package please reach out.