From 0cb6c84abe2137975242750766f8535628f36a0c Mon Sep 17 00:00:00 2001 From: rays Date: Mon, 12 Oct 2026 17:27:31 +0000 Subject: [PATCH] ipxreader.app: a home page for iPX (#216) A static page in site/, built into site/dist by site/build.sh with the logo and icon from web/, for Cloudflare Pages. The hero's dial is the iPodderX logo's tuning scale at full size, its stations shows from the directory; the needle sweeps once on load (not with reduced motion) and lights the one it stops on. One typeface, Archivo, self-hosted, its width axis doing the work. No script; _headers sets a CSP that allows only the site's own files. Co-Authored-By: Claude Opus 5.5 --- .gitignore | 1 + site/_headers | 6 +++ site/build.sh | 10 ++++ site/fonts/archivo.woff2 | Bin 0 -> 90104 bytes site/index.html | 103 +++++++++++++++++++++++++++++++++++++++ site/site.css | 99 +++++++++++++++++++++++++++++++++++++ 6 files changed, 219 insertions(+) create mode 100644 site/_headers create mode 100755 site/build.sh create mode 100644 site/fonts/archivo.woff2 create mode 100644 site/index.html create mode 100644 site/site.css diff --git a/.gitignore b/.gitignore index 1550e39..a6733c8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ .claude/settings.local.json __pycache__/ +site/dist/ diff --git a/site/_headers b/site/_headers new file mode 100644 index 0000000..ad3df7a --- /dev/null +++ b/site/_headers @@ -0,0 +1,6 @@ +/* + Content-Security-Policy: default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none' + X-Content-Type-Options: nosniff + Referrer-Policy: strict-origin-when-cross-origin +/fonts/* + Cache-Control: public, max-age=31536000, immutable diff --git a/site/build.sh b/site/build.sh new file mode 100755 index 0000000..b13c3e7 --- /dev/null +++ b/site/build.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# ipxreader.app: the page, its stylesheet and font, and the logo and icon from web/, into +# site/dist, which Cloudflare Pages serves. +set -e +here=$(dirname "$0") +rm -rf "$here/dist" +mkdir -p "$here/dist/fonts" +cp "$here/index.html" "$here/site.css" "$here/_headers" "$here/dist/" +cp "$here/fonts/archivo.woff2" "$here/dist/fonts/" +cp "$here/../web/logo.svg" "$here/../web/favicon.png" "$here/dist/" diff --git a/site/fonts/archivo.woff2 b/site/fonts/archivo.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e2448d0561ffdb0b0974d063a7cdbb712f41ad49 GIT binary patch literal 90104 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 + + + + +iPX, a podcatcher for the whole household + + + + + + + +
+ iPX + +
+ +
+
+

iPX

+

A podcatcher for the whole household, running on your own server.

+

It checks your feeds, downloads new episodes, and gives everyone at home a list of their own to listen from in the browser, all sharing one copy of each file.

+

+ Run it on your server + Browse the directory +

+
+ + +
+
+ +
    +
  • 99% Invisible
  • +
  • Hackaday
  • +
  • Clarkesworld
  • +
  • Accidental Tech Podcast
  • +
  • Daring Fireball
  • +
  • Ologies
  • +
  • Oxide and Friends
  • +
  • xkcd
  • +
  • The Sporkful
  • +
  • Acquired
  • +
  • Construction Physics
  • +
  • Dwarkesh Podcast
  • +
+ +
+
Some of what people listen to and read on iPX servers today.
+
+ +
+

What it does

+
+
Everyone gets their own list
+
Each person subscribes, reads and listens at their own pace, and picks up where they left off on any device. However many of you want an episode, there is one copy on disk.
+
It does the fetching
+
Feeds are checked on a schedule and new episodes arrive over HTTP or BitTorrent, filtered by keyword, media type or explicit content. Old files are cleared to stay within the disk space you give it, never one somebody pinned.
+
DeadAir
+
Turn it on for a show and iPX plays it without its long silences, leaving the pause you choose. The original file stays as it is.
+
A shared directory
+
iPX servers can share the public shows their people follow. Browse it to find something new, and subscribe in one click from your own server.
+
On your phone
+
Add it to your home screen and it opens like an app, with the same lists and the same place in each episode.
+
Blogs too
+
Any RSS or Atom feed works, and an OPML list can be a subscription of its own that keeps a whole folder of feeds in step.
+
+
+ +
+

Run it

+

You need a machine that stays on and Docker. These three steps start iPX with everything kept beside it in SQLite.

+
    +
  1. Get the source.

    +
    git clone https://git.sdf1.net/rays/ipx.git
    +cd ipx
  2. +
  3. Build iPX and its web page.

    +
    docker build -t ipx .
    +docker build -f Dockerfile.web -t ipx-web .
  4. +
  5. Start them, then open port 8099 on that machine and sign in as admin with the password ipodderx. Change it in Settings straight away.

    +
    docker compose up -d
  6. +
+

The README covers Postgres, signing in through Cloudflare Access or Authentik, and every setting.

+
+ +
+

Since 2004

+

iPodderX was one of the first podcatchers, a Mac app by Ray Slakinski and August Trometer, from the year podcasts got their name. iPX is its engine rewritten in Rust for a server, with a page modelled on the original window: the feed list down the side, the episodes in a table, the player along the bottom.

+
+
+ + + + diff --git a/site/site.css b/site/site.css new file mode 100644 index 0000000..e238b1a --- /dev/null +++ b/site/site.css @@ -0,0 +1,99 @@ +/* ipxreader.app. The palette is the iPodderX logo's: the radio's navy body, the sky of its + screen, the blue of its tuning scale, and the orange needle, which is the needle alone. One + typeface, Archivo, its width doing the work: expanded for the name, condensed on the dial. */ +@font-face{font-family:Archivo;src:url(/fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap} +:root{ + --navy:#0c2238; /* the radio */ + --ink:#16304a; /* body text, a step off the navy */ + --muted:#46607a; + --sky:#dff0fb; /* its screen */ + --page:#f1f8fd; + --scale:#2f6aa0; /* the tuning scale, and links */ + --tick:#8fc2ea; /* the scale on the dark dial */ + --needle:#ff5500; + --rule:#c6d9ea; +} +*{box-sizing:border-box} +html{-webkit-text-size-adjust:100%;scroll-behavior:smooth} +body{margin:0;background:var(--page);color:var(--ink);font:400 1.0625rem/1.6 Archivo,system-ui,sans-serif;font-stretch:100%} +a{color:var(--scale);text-underline-offset:.18em} +a:focus-visible,.btn:focus-visible{outline:3px solid var(--scale);outline-offset:3px;border-radius:6px} +main,.bar,footer{max-width:72rem;margin:0 auto;padding-inline:1.5rem} + +.bar{display:flex;align-items:center;justify-content:space-between;padding-block:1.25rem} +.home{display:flex;align-items:center;gap:.6rem;color:var(--navy);text-decoration:none;font-weight:800;font-stretch:112%;font-size:1.25rem} +.home img{border-radius:9px;display:block} +.bar nav{display:flex;gap:1.5rem} +.bar nav a{color:var(--navy);text-decoration:none;font-weight:600} +.bar nav a:hover{text-decoration:underline} + +.hero{padding-block:3rem 2.5rem;max-width:46rem} +h1{margin:0;color:var(--navy);font-weight:850;font-stretch:125%;font-size:clamp(6.5rem,24vw,15rem);line-height:.82;letter-spacing:-.045em} +.lede{margin:1.75rem 0 0;color:var(--navy);font-weight:650;font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.2;letter-spacing:-.01em} +.intro{margin:1rem 0 0;max-width:38rem;color:var(--muted);font-size:1.125rem} +.acts{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 0} +.btn{display:inline-block;padding:.8rem 1.35rem;border:2px solid var(--navy);border-radius:999px;color:var(--navy);text-decoration:none;font-weight:700} +.btn:hover{background:var(--sky)} +.btn.primary{background:var(--navy);color:#fff} +.btn.primary:hover{background:#1a3a5c} + +/* The dial: a frequency row, minor and major ticks, stations on two staggered rows as a printed + dial has them, and the needle, which points down at the scale and lights the station it stops + on rather than crossing its name. --at is where it stops: the tuned station's middle. */ +.dial{margin:1rem 0 0} +.scale{background:var(--navy);border-radius:1.25rem;overflow:hidden} +.track{position:relative;--at:45.8%} +.freq{position:relative;list-style:none;margin:0;padding:1.1rem 4% 0;display:flex;justify-content:space-between;color:var(--tick);font-stretch:70%;font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums} +.freq li{width:0;display:flex;justify-content:center} /* each number centred on its tick */ +.freq::after{content:"";position:absolute;left:4%;right:4%;top:2.6rem;height:1.6rem; + background: + repeating-linear-gradient(90deg,var(--tick) 0 2px,transparent 2px 20%) 0 0/100% 100%, + repeating-linear-gradient(90deg,rgba(143,194,234,.55) 0 1px,transparent 1px 2%) 0 100%/100% 45%; + background-repeat:no-repeat} +.stations{list-style:none;margin:2.6rem 0 0;padding:0 1% 1.6rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start; + color:#cfe3f4;font-stretch:65%;font-weight:550;font-size:.92rem;line-height:1.15;text-align:center} +.stations li{padding-inline:.15rem} +.stations li:nth-child(even){margin-top:1.7rem} +.needle{position:absolute;top:2.35rem;height:2.7rem;left:var(--at);width:3px;margin-left:-1.5px;background:var(--needle);border-radius:2px; + box-shadow:0 0 0 1px rgba(12,34,56,.6);animation:tune 2.4s cubic-bezier(.3,.7,.3,1) .4s both} +.stations .tuned{text-decoration:underline 2px transparent;text-underline-offset:.3em;animation:lit .5s ease-out 2.6s both} +@keyframes tune{0%{left:3%}68%{left:calc(var(--at) + 7%)}86%{left:calc(var(--at) - 1.4%)}100%{left:var(--at)}} +@keyframes lit{from{color:#cfe3f4}to{color:#fff;font-weight:800;text-decoration-color:var(--needle)}} +@media (prefers-reduced-motion:reduce){.needle,.stations .tuned{animation-duration:0s;animation-delay:0s}} +figcaption{margin:.7rem 0 0;color:var(--muted);font-size:.9rem} + +h2{margin:0 0 1.5rem;color:var(--navy);font-weight:800;font-stretch:112%;font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.1;letter-spacing:-.02em} +.does,.run,.then{padding-block:4rem 0} +.does dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 3.5rem} +.does dt{color:var(--navy);font-weight:750;font-size:1.2rem;line-height:1.25} +.does dd{margin:.45rem 0 0;max-width:34rem} + +.run>p{max-width:40rem} +.run ol{list-style:none;counter-reset:step;margin:2rem 0;padding:0;display:grid;gap:1.75rem;max-width:44rem} +.run li{counter-increment:step;display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem} +.run li::before{content:counter(step);grid-row:span 2;color:var(--scale);font-weight:800;font-stretch:125%;font-size:2.4rem;line-height:1} +.run li p{margin:0 0 .6rem} +pre{margin:0;padding:1rem 1.15rem;background:var(--navy);color:var(--sky);border-radius:.75rem;overflow-x:auto;font:500 .92rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace} + +.then p{max-width:40rem} +footer{margin-top:5rem;padding-block:1.75rem 3rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.95rem} +footer p{margin:0} + +@media (max-width:640px){ + main,.bar,footer{padding-inline:1rem} + .bar nav{gap:1rem} + .hero{padding-block:1.5rem 2rem} + .does dl{grid-template-columns:minmax(0,1fr);gap:1.75rem} + .run li{grid-template-columns:2.25rem minmax(0,1fr)} + .run li::before{font-size:1.9rem} + .dial{margin-inline:-1rem} + .scale{border-radius:0} + figcaption{padding-inline:1rem} + /* Six stations, the tuned one third, rather than twelve too narrow to read. */ + .track{--at:41.7%} + .stations{grid-template-columns:repeat(6,minmax(0,1fr));padding-inline:2%} + .stations li:nth-child(-n+3),.stations li:nth-child(n+10){display:none} + .stations li:nth-child(even){margin-top:0} + .stations li:nth-child(odd){margin-top:1.7rem} + pre{white-space:pre-wrap;overflow-wrap:anywhere} +}