<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mono.git/cgithub/README.md, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://git.mou.fo/2026/mono.git/atom/cgithub/README.md?h=main</id>
<link rel='self' href='http://git.mou.fo/2026/mono.git/atom/cgithub/README.md?h=main'/>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/'/>
<updated>2026-09-10T05:01:04Z</updated>
<entry>
<title>Redirect /notifications instead of scraping it as an owner</title>
<updated>2026-09-10T05:01:04Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-09-10T04:53:48Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=198f2a07f68a348dc0823b2bde3bec541e06db01'/>
<id>urn:sha1:198f2a07f68a348dc0823b2bde3bec541e06db01</id>
<content type='text'>
A signed-out request for github.com/notifications is bounced to a login
page, so the owner route followed that redirect and left the visitor on
/login. Hand the path over to GitHub before it reaches the route.
</content>
</entry>
<entry>
<title>Add feature list to README.md</title>
<updated>2026-09-09T19:21:44Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-09-09T18:47:12Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=95f4269f1a1c3b93ae2b060c7935b03c773e9f4a'/>
<id>urn:sha1:95f4269f1a1c3b93ae2b060c7935b03c773e9f4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add screenshot</title>
<updated>2026-09-05T21:32:01Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-09-05T21:31:53Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=484cdb8dbceb572e4b858c80109cb81b671fd2fd'/>
<id>urn:sha1:484cdb8dbceb572e4b858c80109cb81b671fd2fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Redirect to GitHub with a meta refresh</title>
<updated>2026-08-11T15:57:29Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T15:39:01Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=9731ebd1bece1187f943a29da474f4aed6e7ee3b'/>
<id>urn:sha1:9731ebd1bece1187f943a29da474f4aed6e7ee3b</id>
<content type='text'>
A browser extension redirects github.com to cgithub with declarative net
requests. Its rules match our HTTP redirects back to github.com too, so
those bounce straight back here and loop forever. A meta refresh makes
cgithub the initiator origin instead, which the extension's rules can
exclude, and its delay leaves a page the user can stop on.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Deploy only to Cloudflare Workers</title>
<updated>2026-08-11T12:30:10Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-08-11T12:27:26Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=2b4a69720b53480d82cf296ac5dbe4614d9470b9'/>
<id>urn:sha1:2b4a69720b53480d82cf296ac5dbe4614d9470b9</id>
<content type='text'>
The Node server entry, esbuild bundle, and Makefile rsync/systemd deploy
are gone; wrangler dev and wrangler deploy are the only paths now, so the
dev:cf/deploy:cf scripts take over the plain dev/deploy names. @hono/
node-server and esbuild drop out with src/index.ts, and the README's
systemd socket and nginx snippets go with them.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Rewrite README</title>
<updated>2026-01-27T16:57:00Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-01-27T14:30:28Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=ad2871ca617899aa36a2d85b41974bae9796ace6'/>
<id>urn:sha1:ad2871ca617899aa36a2d85b41974bae9796ace6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GitHub directory scraper</title>
<updated>2026-01-22T17:13:26Z</updated>
<author>
<name>Joe Mou</name>
<email>dev@mou.fo</email>
</author>
<published>2026-01-22T17:10:36Z</published>
<link rel='alternate' type='text/html' href='http://git.mou.fo/2026/mono.git/commit/?id=5e45f900974589c8eead15fc352d50dc45b1a25a'/>
<id>urn:sha1:5e45f900974589c8eead15fc352d50dc45b1a25a</id>
<content type='text'>
Extracts directory listings from GitHub's server-rendered HTML. Avoids
using the rate-limited API. Parses JSON embedded within script tags.

Co-Authored-By: Claude Sonnet 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
