Sebastian Hugentobler
57fb4e3497
Some checks failed
Build Multiarch Container Image / call-reusable-workflow (push) Has been cancelled
|
||
---|---|---|
.gitea/workflows | ||
src | ||
static | ||
templates | ||
.containerignore | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Containerfile | ||
COPYING | ||
README.md |
Find Penguins Feed
Quick & dirty tool to turn Find Penguins footprints into a rss feeds.
There is no storage involved and every call to the feed builds it anew. Because this is done by web-scraping, it should not be done too often, as you might get rate limited or blocked.
This was written to track a family member's journey without having to register or madly refreshing the website all five minutes.
It only needed to work for that specific journey but maybe someone else finds it useful.
Building
Install rust and run cargo build --release
. This
gives you a binary ./target/release/findpenguins-feed>
which is directly
executable.
Configuration
Configuration is handled with a configuration file and/or environment variables.
The configuration file is sourced from the following locations, depending on the operating system:
- *nix:
$XDG_CONFIG_HOME/.config/findpenguins-feed/config.toml
- Windows:
{FOLDERID_RoamingAppData}/findpenguins-feed/config/config.toml
- macOS:
$HOME/Library/Preferences/ch.vanwa.findpenguins-feed/config.toml
Environment variable always take precedence.
server_address
IP and port the server should listen on.
- default:
[::1]:3000
- env var:
FINDPENGUINS_FEED__SERVER_ADDRESS
feeds
List of find penguin journeys to track.
- default:
[]
- env var:
FINDPENGUINS_FEED__FEEDS
(urls are comma separated)
Example configuration file:
server_address = "[::1]:4000"
feeds = [
"https://findpenguins.com/1234/trip/trip-2023",
"https://findpenguins.com/1234/trip/trip-2022"
]