aw greg! i agree with yequari - please don’t change anything! using claude to answer questions is far from having an LLM build everything without your intervention. i don’t think you were hiding anything! ![]()
Thank you, @xandra and @yequari. I appreciate it. I’ve restored the repo - I really don’t want to subject 32-bit cafe to any negativity, so when I made the disclosure all my old “mitigate damage first, ask questions later” sysadmin reflexes kicked in.
I’ve set up a projects subdomain on my site and added a page for tkr so people don’t have to go through the janky gitea package repository to download it. I’m experimenting with color so you will have to contend with my janky sense of what constitutes a nice color scheme.
I’ve also added a .zip file to the build, because that seems more standard. So now there are .zip and .tgz files.
The latest version is 1.0.3, and it’s available on the tkr page above and the gitea repo.
@ShannonKay I saw your guestbook from @juette’s thread and now I think there’s a version of tkr that’s essentially a guestbook where the message input is behind a login. Maybe a file each for the rss and atom feeds, which I can regenerate whenever someone adds a post. I’m noodling with the idea of a very stripped down tkr-lite along those lines. I think the hardest part of that would be the code for the rss and atom feeds, and I’ve already worked that out.
I’d keep this one as well, but it might be nice to also have a minimal alternative.
I’m using waterfox (firefox fork) and I can’t seem to get past the bot check
I checked it on Vivaldi and it also wouldn’t progress.
for which? The projects site? I was messing around with anubis, but I can just take it down if it’s that aggressive…
oh - do you disable javascript? That might be it.
Anubis is neat, but it’s really restrictive. I’ll just disable it.
@armaina The anubis check should be gone now. Sorry for the trouble. Let me know if it’s still blocking you.
I can see it now!
it was for the whole `projects.subcultureofone.org` section
I had turned off all my blockers and the page still wouldn’t load. I can see it now though! But it seemed like whatever you were using just wasn’t working at all.
Great! I’m glad it’s there.
For what it’s worth, I was using anubis, which he does say is very aggressive.
I’d actually be interested to know if that anubis link works for you, because he’s using it to protect his own site, so if you get through to that then it was something with my configuration. It worked for me, but it wouldn’t be the first time that something worked for me and not for other people. It wouldn’t even be the first time that happened in this topic.
Edit: I’m pretty sure it was me and I think I just realized how I broke it (spoiler: by being a paranoid sysadmin again), but I’m going to leave it be for now.
yes that link worked, and the anubis check on the outgoing links on your site worked, too, but yeah I got the impression something wasn’t set up correctly, some minor effor
I’m pretty sure I fixed anubis. Anecdote time!
The problem wasn’t what I’d thought it was. I added some headers to my nginx config to block cross-site scripting. I figured that was the issue since anubis is kind of a cross-site scripting attack, but it wasn’t.
I’d also added the standard “block access to hidden files” check. And that’s breaking anubis!
# Deny access to hidden files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
I’m still not sure why that broke it. I guess anubis is doing something that expects something that looks like a hidden file, but I haven’t been able to track down what that is. But I can reliably reproduce what you were seeing before by adding that block back in and I can reliably fix it by removing it, so I know that’s the problem.
This is exactly the kind of thing that I love chasing down as a hobbyist, but that I find a colossal source of anxiety as a professional. Thankfully, this is hobby time. ![]()
I dooon’t think it fixed
if it helps, the image on the page that won’t load goes to :
https://projects.subcultureofone.org/.within.website/x/cmd/anubis/static/img/pensive.webp?cacheBuster=1.19.1
which, for me, gets a 403 forbidden error. So if whatever there is what loads to do the checking is in that area, that might be what’s causing the problem.
Oh sorry, I didn’t think you’d try again so fast. I’ve been messing with it again and reapplying the directive. Never thought it would be the image! That .within.website is probably exactly the problem, thanks! Lemme see…
Okay! I’ve added this:
location ~ /\. {
deny all;
}
location ^~ /.within-website/ {
allow all;
}
Which blocks access to any hidden files except things in .within-website, and now it’s working … for me
. No hurry, but if you check it again could you let me know if it works for you? And thanks for all of this!
Oh yep it does the check now just fine!
Yes! You rock. Thanks so much. I honestly don’t think I ever would have thought to check the image.
That’s a fun idea! I super lightly forked the guestbook from baccyflap, who I believe is on here… @rmf
I love how simple it is with just the text file!
I tried again to get tkr running on my Synology, and I’m almost there this time. It looks like my php is missing the pdo_sqlite extension. I need to do a little more research to figure out how to install it in Synology’s web station.
Here’s my log if you’re interested.
=== tkr system validation started at 2025-08-29 18:15:33 ===
[✓] PHP Version: PHP 8.2.28 (meets minimum requirement of 8.2.0)
[✓] PHP Extension: PDO: Available
[✗] PHP Extension: pdo_sqlite: Missing (REQUIRED) - pdo_sqlite
[✓] Directory: config: Present - Configuration files
[✓] Directory: public: Present - Web server document root
[✓] Directory: src: Present - Application source code
[✓] Directory: storage: Present - Data storage (must be writable)
[✓] Directory: templates: Present - Template files
[✓] Storage Permissions: storage: Writable (permissions: 0777)
[✓] Document Root: Correctly set to /volume1/web/tkr/public
[✓] URL Rewriting: Available
[✓] PHP Extension: mbstring: Available
[✓] PHP Extension: fileinfo: Available
[✓] PHP Extension: session: Available
Thanks for trying it again! And thanks for sharing the log - I’m glad it’s more helpful now. You’re right, looks like it’s just the pdo_sqlite extension. Fingers crossed that it’s straightforward to install it.
Ah, cool! I agree, the simplicity is great.
So I wanted to test some things, I wasn’t entirely certain if I had SQLite installed yet so I attempted to set up TKR (and would go back to install stuff if it doesn’t work) and when navigating to the tkr-setup.php I get this
Fatal error: strict_types declaration must be the very first statement in the script in […]/tkr-setup.php on line 3
(removed the file path, it is correct, believer me)
I can’t quite tell if this is a PHP version issue, (I am admittedly behind, currently on 7.4), or something else.
the first three lines are
#!/usr/bin/env php
<?php
declare(strict_types=1);
Which, troubleshooting tells me that, nothing is supposed to go above the <?php like that but in that case, I don’t know what the #!/usr/bin/env php is for and the readme mentions nothing of it.
I believe you. Just to be sure I understand - when you say you navigated to tkr-setup.php, did you try to open it in your browser? That could be the issue - I wrote that to be run from the command line (the #!/usr/bin/env php line tells the shell to use php to execute it).
If you were running it from the command line and it didn’t work with php /path/to/tkr-setup.php, then it could very well be a version thing. I’ve only been trying it with PHP 8.2+. I’ll give it a shot with 7.4 and see what happens.
alternately, just navigating to the tkr root directory in your installation should bring up the web UI.
As it happens, I’m actually working on making the installation instructions more specific right now, so maybe the new instructions will be better. My original attempt at making a projects page for this was … let’s say desultory.
yes, I went to the path in my browser as the readme stated
Browser-based:
* Navigate to the tkr site
* You’ll be presented with the setup page.
* Complete the required fields.
so I was under the impression I could install it through my browser
and as there is no index.php file in the directory, I went to tkr-setup.php
