2023-12-21 01:17:00 +01:00
#+OPTIONS : toc:nil
2023-12-21 00:58:13 +01:00
* RSS based thread watcher
2024-08-13 03:43:25 +02:00
Get notifications from your feed reader when your favourite thread is about to die
2023-12-21 00:58:13 +01:00
2023-12-21 01:19:16 +01:00
** Usage
2023-12-21 00:58:13 +01:00
1) Open your RSS feed reader (you have one right?)
2) Add your custom URL (see getting custom URL)
3) Enable notifications in your feed reader and set update interval to 5minutes or more (you can set less but the feed is updated
only every 5 minutes)
4) Profit! RSS feed will include only the threads matching your querry so every notification your feed reader will send means your
watched thread is about to die
2024-09-24 02:21:49 +02:00
*NOTE THAT THIS IS AN BETA RELEASE, IF YOUR THREAD DIES BECAUSE OF RSS-WATCHER MALLFUNCTION DO NOT BLAME ME* pls
2023-12-24 02:45:48 +01:00
2023-12-21 01:19:16 +01:00
** Getting custom URL
2023-12-21 00:58:13 +01:00
2024-09-24 02:21:49 +02:00
URL without any params (just ~/feed~ ) won't work. You must specify at least one ~q~ or ~Q~ . See bellow.
2023-12-24 02:41:53 +01:00
2023-12-21 01:19:16 +01:00
*** Crafting URL by hand
2023-12-21 00:58:13 +01:00
Right now there is no automated way to generate your feed url but making one by hand is fairly simple.
2023-12-22 01:34:41 +01:00
**** URL parameters
2024-09-24 02:21:49 +02:00
Please note that default values may vary depending on which instance/host/board you use, these are the defaults that come with
this software but anyone running instance of RSS thread watcher can change them
2024-08-13 03:43:25 +02:00
2023-12-28 14:39:27 +01:00
| Param name | Values [default] | Can have multiple? | Mandatory? | Short description |
|------------+-------------------------+--------------------+-------------------------+--------------------------------------------------------------------------------------------------|
2024-08-13 03:43:25 +02:00
| board | "mlp" | No | No | Which board to generate feed for, only boards enabled by host will work |
| q | nil | Yes | Yes (1 or more) | This string is used to filter threads according to their titles, *REGEX NOT supported* yet |
2024-09-24 02:21:49 +02:00
| Q | nil | Yes | No if ~q~ is present | This string is used to filter threads according to their titles, but is CaseSensitive |
2024-08-13 03:43:25 +02:00
| chod | 60-99 [94] | No | No | CHanceOfDeath - will include thread in the feed if it's chance to death is > chod |
2023-12-28 14:39:27 +01:00
| repeat | true, paranoid, [false] | No | No (partly implemented) | Whether to make new notification on every server update even when thread doesnt have higher chod |
| recreate | ~bool~ | Not implemented | Not implemented | Whether to notify when creation of new thread matching querry is detected (uses 4chans RSS) |
2023-12-22 18:32:36 +01:00
**** How to create URL
2023-12-22 01:34:41 +01:00
2023-12-25 23:58:03 +01:00
Standart rules of URLs apply, if you know how to pass params in URL to any website, you don't even have to read this
2023-12-24 01:39:53 +01:00
- Open some text editor
2024-09-24 02:24:51 +02:00
- Paste in default URL: ~https://tools.treebrary.org/thread-watcher/feed?~ (you can use plain HTTP if you want to)
2023-12-24 01:39:53 +01:00
- Now you can append any of the supported parameters (which you can find in the above table):
2023-12-25 23:58:03 +01:00
- For example if we want to be informed about threads with "cute" in their title
2024-09-24 02:24:51 +02:00
- ~q=cute~ which would make ~https://tools.treebrary.org/thread-watcher/feed?q=cute~
2023-12-24 01:39:53 +01:00
- If you want more than one param, separate with ~&~ , for example:
2024-09-24 02:24:51 +02:00
- ~q=cute~ and ~q=pretty~ would be ~https://tools.treebrary.org/thread-watcher/feed?q=cute&q=pretty~
2023-12-24 01:39:53 +01:00
- Same is true for when you also want to specify ChoD
2024-09-24 02:24:51 +02:00
- ~https://tools.treebrary.org/thread-watcher/feed?q=cute&q=pretty&chod=98~
2023-12-24 01:39:53 +01:00
- This will only notify you about threads that:
- Have ~cute~ or ~pretty~ in their title
- Are in the lowest 98% part of catalog (it's on position ~147/150 e.g. 3 threads before being bumped off)
- Note that ~//~ are not special characters ~q=/general/~ will work as expected and match thread with " /general / " in it's title
2023-12-24 03:03:19 +01:00
- Also note that regex is *NOT* supported for now, so something like ~q=rainbow*~ will only match threads with "rainbow" followed
2024-08-13 03:43:25 +02:00
immedidatelly by ~*~ in their title
2023-12-24 01:39:53 +01:00
2023-12-21 01:19:16 +01:00
*** Generating URL interactively
2023-12-21 00:58:13 +01:00
2024-08-13 03:43:25 +02:00
Coming soon (not really)
2023-12-21 00:58:13 +01:00
2024-08-13 03:43:25 +02:00
** Bugs
2023-12-25 10:55:43 +01:00
2024-08-13 03:43:25 +02:00
See [[https://git.treebrary.org/Treebrary.org/rss-thread-watcher/issues?q=&type=all&state=open&labels=1&milestone=0&assignee=0&poster=0 ][issues ]]
2023-12-25 10:55:43 +01:00
2023-12-21 01:19:16 +01:00
** Feature set
2023-12-21 00:58:13 +01:00
2024-08-13 03:43:25 +02:00
- Planned/finnished features [38%]
2023-12-24 01:23:09 +01:00
- [X] [DONE] Super basic features done (feed, query, repeat)
2023-12-24 02:09:59 +01:00
- [X] Have proper sorting - The most likely to die threads first
2023-12-24 02:41:53 +01:00
- [X] No params request should redirect to url generator or (for now) documentation
2024-08-13 03:43:25 +02:00
- [X] Config file instead of hardcoding config values
2023-12-24 00:21:49 +01:00
- [ ] Include time of latest data fetch
2023-12-23 03:25:38 +01:00
- [ ] Make threads have preview images taken from the actuall thread OP
- [ ] Show which query matched the thread you were notified of
- [ ] Option to include advanced HTML formating of text (different color text for ChoD etc)
2023-12-21 00:58:13 +01:00
- [ ] Support notification on watched thread re-creation after it died
- [ ] Support notification for thread death
2024-08-13 03:43:25 +02:00
- [X] Support multiple boards at once
2023-12-21 00:58:13 +01:00
- [ ] Support async responses
2024-08-13 23:19:19 +02:00
- [ ] Graal VM support for native compilation
2024-09-24 02:24:51 +02:00
For more up to date and complete list of features, check [[https://git.treebrary.org/Treebrary.org/rss-thread-watcher/projects ][open projects ]].
2023-12-21 00:58:13 +01:00
** Self hosting
2024-08-13 03:43:25 +02:00
As of first Beta release, self hosting is supported, please refer to [[file:res/ExampleConfig-documented.edn ][documented example config ]] for infomration on configuration
options.
2023-12-21 00:58:13 +01:00
*** Prebuilt
2024-08-13 18:12:47 +02:00
Download newest release from [[https://git.treebrary.org/Treebrary.org/rss-thread-watcher/releases ][releases ]] and run them like you would any other java executable (example bellow). There are two JARs,
first requires you to have Clojure installed (~rss-thread-watch-[version]~ ), second one doesn't (the one with ~standalone~ in
name).
2024-08-13 18:16:00 +02:00
~$ java -jar whatEverNameTheReleaseHas.jar~
2023-12-21 00:58:13 +01:00
2024-08-13 18:12:47 +02:00
Default port is ~6969~ so either change it or allow it in your firewall. HTTPS is not supported, so using some reverse proxy like
Nginx could be the easiest solution for that.
2023-12-21 00:58:13 +01:00
*** From source
2024-08-13 03:43:25 +02:00
Not officially supported, if you'll attempt this, please, use source from release tarball or checkout ~release~ or ~stable~
branch. ~dev~ branch is unstable and untested, may not even build. ~stable~ branch should always build, may contain newer version
than is released.
2023-12-21 00:58:13 +01:00
2024-08-13 03:43:25 +02:00
If you know Clojure, then just clone and build with lein. If you don't either RTFM for lein or wait before instructions will be
2023-12-21 00:58:13 +01:00
avaiabile here.
*** Configuring
2024-08-13 03:43:25 +02:00
All documentation is for now included in [[file:res/ExampleConfig-documented.edn ][documented exmample config ]].
2023-12-21 00:58:13 +01:00
2023-12-24 01:53:56 +01:00
*** Contributing
[[https://treebrary.org/about-the-git-server.html ][See ]]
2023-12-21 00:58:13 +01:00
** License - AGPL3
Copyright © 2023 Felisp
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/ >.