Go to file
Sebastian Hugentobler 92f7a489fb
Some checks failed
Build Multiarch Container Image / call-reusable-workflow (push) Has been cancelled
use gitea actions
2023-12-15 07:57:54 +01:00
.gitea/workflows use gitea actions 2023-12-15 07:57:54 +01:00
src use templates to create the feed entries 2023-11-27 10:49:50 +01:00
static use simple styling 2023-11-18 09:50:50 +01:00
templates use templates to create the feed entries 2023-11-27 10:49:50 +01:00
.containerignore initial commit 2023-11-15 16:26:35 +01:00
.gitignore ignore .envrc files 2023-11-18 17:26:47 +01:00
Cargo.lock use templates to create the feed entries 2023-11-27 10:49:50 +01:00
Cargo.toml use templates to create the feed entries 2023-11-27 10:49:50 +01:00
Containerfile use gitea actions 2023-12-15 07:57:54 +01:00
COPYING initial commit 2023-11-15 16:26:35 +01:00
README.md note about env var conf precedence 2023-11-18 17:29:44 +01:00

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"
]