A reimplementation of that one website in Fresh.js
Find a file
Ayase Minori 933506af7a
Remove vestigial files in build
Signed-off-by: GitHub <noreply@github.com>
2024-05-12 04:31:21 +00:00
.codesandbox Fix conflicts 2023-09-11 03:17:12 +00:00
.devcontainer feat: Update devcontainer image from Ubuntu to Debian 2023-10-21 07:11:15 +00:00
.github Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
.vscode Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
components feat: Add Partytown and update MarkdownContent import paths 2023-11-22 05:48:25 +00:00
home_content feat: Update CounterCard and MarkdownContent styles 2023-10-21 13:24:38 +00:00
islands remove limiter 2024-05-08 18:24:36 +00:00
routes Run the scripts on the main context instead 2024-05-08 19:26:22 +00:00
shared refactor: Update dependencies and refactor code (#18) 2023-10-24 00:11:50 +08:00
static Remove vestigial files in build 2024-05-12 04:31:21 +00:00
.gitignore Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
deno.json Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
dev.ts Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
fresh.config.ts Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
fresh.gen.ts Update Freshjs 2024-01-29 07:19:37 +00:00
LICENSE Add le license 2023-09-19 13:53:35 +08:00
main.ts Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00
README.md Use proper copyright for COGNOSPHERE PTE LTD 2024-01-29 14:54:57 +08:00
tailwind.config.ts Migrate to TailwindCSS (#21) 2024-01-29 16:43:19 +08:00

Herta Kuru (v2)!

Edit in CodeSandbox

Visit the Site | Check who's visiting it too!

This is a proof-of-concept implementation of duiqt/herta_kuru with a global statistics feed, this time, it's a little more secure!

Background

Around a while ago, the original website's global statistics screen had been removed due to network abuse. I started investigating ways to reimplement this (embarassingly I made a PR that just adds a single useless line in the API), so I spent a few more weeks finding a way to implement it, until I got bored, and then I picked it up again.

The new system I implemented works using the following:

  • Using BroadcastChannels and WebSockets - we can send mutation events to update the counter, so this is practically realtime.
  • No API is actually exposed to the user, so no one can just take the statistics endpoint and just spam it, because the statistics server is also the website.
  • POSTing to the API is delayed by 5000ms (5s) before its submitted to the API in the frontend. While the provider does allow this, its due diligence to only submit it when there's inactivity.

Usage

Make sure to install Deno: https://deno.land/manual/getting_started/installation

Then start the project:

deno task start

This will watch the project directory and restart as necessary.

Credits

Original website by @duiqt, All Rights Reserved. Kuru-kuru gif is by @Seseren_kr. All rights Reserved.

Uses some assets from Honkai Star Rail. Copyright Cognosphere Pte. Ltd. All Rights Reserved. This website is not affiliated with Cognosphere/miHoYo.