README.md

 1<!--
 2SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 3
 4SPDX-License-Identifier: CC0-1.0
 5-->
 6
 7# Willow
 8
 9[![Go report card status][goreportcard-badge]][goreportcard]
10[![REUSE status][reuse-shield]][reuse]
11[![Donate with fosspay][fosspay-shield]][fosspay]
12
13_Software release tracker supporting arbitrary forges_
14
15![screenshot of willow's current web UI](screenshots/2023-09-24.png)
16
17_This UI is a minimal proof-of-concept, it's going to change drastically in the
18near future_
19
20## What is it?
21
22Willow tracks software releases across arbitrary forge platforms by trying to
23support one of the very few things they all have in common: the VCS. At the
24moment, git is the _only_ supported VCS, but I would be interested in adding
25Pijul, Fossil, Mercurial, etc. You can also track releases using RSS feeds.
26
27Willow exists because decentralisation can be annoying. One piece of software
28can be found on GitHub, another piece on GitLab, one on Bitbucket, a fourth on
29SourceHut, and a fifth on the developer's self-hosted Forgejo instance. Forgejo
30and GitHub have RSS feeds that only notify you of releases. GitLab doesn't
31support RSS feeds for anything, just an API you can poke. Some software updates
32might be on the developers' personal blog. Sometimes there are CVEs for specific
33software and they get published somewhere completely different before they're
34fixed in a release.
35
36I want to bring all that scattered information under one roof so a developer or
37sysadmin can pop open willow's web UI and immediately see what needs updating
38where. I've recorded some of my other ideas and plans in [my wiki].
39
40[my wiki]: https://wiki.secluded.site/hypha/willow
41
42## Installation and use
43
44* Clone the repo
45* Build the binary with `CGO_ENABLED=0 go build .`
46* Upload it to a remote server
47* Execute the binary
48* Reverse proxy `localhost:1337`
49* Open the web UI
50* Click `Track new project`
51* Fill out the form
52* Indicate which version you're currently on
53* That's it!
54
55Note that there's currently no authentication, so consider putting your instance
56behind HTTP Basic Auth, keeping it private, or helping me implement
57authentication.
58
59## Questions & Contributions
60
61Questions, comments, and patches can always be sent to my public inbox, but I'm
62also in my IRC channel/XMPP room pretty much 24/7. However, I might not see
63messages right away because I'm working on something else (or sleeping) so
64please stick around!
65
66If you're wanting to introduce a new feature and I don't feel like it fits with
67this project's goal, I encourage you to fork the repo and make whatever changes
68you like!
69
70- Email: [~amolith/public-inbox@lists.sr.ht][email]
71- IRC: [irc.nixnet.services/#secluded][irc]
72- XMPP: [secluded@muc.secluded.site][xmpp]
73
74_If you haven't used mailing lists before, please take a look at [SourceHut's
75documentation](https://man.sr.ht/lists.sr.ht/), especially the etiquette
76section._
77
78[email]: mailto:~amolith/public-inbox@lists.sr.ht
79[irc]: irc://irc.nixnet.services/#secluded
80[xmpp]: xmpp:secluded@muc.secluded.site?join
81
82[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/willow
83[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/willow
84[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/willow
85[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/willow
86[fosspay]: https://secluded.site/donate/
87[fosspay-shield]: https://shields.io/badge/donate-fosspay-yellow