Commit Graph
5 Commits
Author SHA1 Message Date
cynic 24cfc5136e some misc. oracles stuff (fixes/features) (#15)
fix a small calc.php bug, and add date information to the time module. the changes have been sitting on a branch for like a week, so I figured I'd cherry-pick them over to this branch for a PR.
[as always, these changes are live on my instance.](https://4get.silly.computer/web?s=what+is+the+date&scraper=yandex&nsfw=yes)

Reviewed-on: #15
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
2023-09-22 21:44:33 -05:00
cynic be8546bdf5 make 'oracles' feature backwards compatible with php 7.4 (#13)
adds implementations of `str_contains` and `str_starts_with` that are used if the functions are not already defined. this should enable 4get to work on both php 7.4 and php 8.*

my instance is currently on 7.4.33, and you can see the oracles working here:
[calc.php](https://4get.silly.computer/web?s=2%2B4*(2^2))
[encoder.php](https://4get.silly.computer/web?s=md5+hamburger)
[numerics.php](https://4get.silly.computer/web?s=0xf0f0f)
[time.php](https://4get.silly.computer/web?s=what+is+the+time+right+now+tz%253Aest)

Reviewed-on: #13
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
2023-09-14 19:10:13 -05:00
cynic 8762d68466 add structure for `Oracles' (special answers depending on queries + a few implementations (#10)
incl. a calculator, a hash encoder + rot13 and b64!, and a "what time is it" with timezone selection

frontend injected in $payload["left"] in web.php

you can see this live [on my instance](https://4get.silly.computer/web?s=7%2B8(9%5E2)&scraper=brave&nsfw=yes) (there are some issues that aren't related to this PR. favicons, etc. I'll fix them later.)

Reviewed-on: #10
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
2023-09-13 22:24:02 -05:00
cynicandcynic 77293818cd [DANGEROUS] untrack all banners, replace with default banner (#9)
if this git repo is meant for all instances, it doesn't make sense that 4get.ca banners are stored here.
instead, I've added `banner/*` to a .gitignore file, so instances can clone/pull/push the repo without grabbing other people's banners or uploading their own.

making this change required deleting all the currently tracked banners from the repo. an unfortunate side-effect of this is that **if you have any of these tracked banners in your local version, pulling this commit WILL DELETE ALL OF THEM!!!!!!** pulling this commit properly while preserving tracked banners should be done by temporarily copying them to another directory, `git pull`ing, then copying them back.

I also added a default banner based on the default nginx page so new instances aren't bannerless.

Co-authored-by: cynic <kurisufag1@gmail.com>
Reviewed-on: #9
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
2023-08-30 19:04:53 -05:00
cynicandcynic 4cf2d73836 create data/instances.php to demonstrate out-of-code configuration, and use it to dynamically generate the instance list (#8)
see title.
the workflow here (i.e. a file data/*.php, which only has a data structure and is used to generate content elsewhere) could also be used for easier per-instance customization.

[you can see what this looks like live here](https://4get.silly.computer/about)

Co-authored-by: cynic <kurisufag1@gmail.com>
Reviewed-on: #8
Co-authored-by: cynic <admin@cynic.moe>
Co-committed-by: cynic <admin@cynic.moe>
2023-08-29 16:11:47 -05:00