618 lines
15 KiB
HTML
618 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="description" content="Rain's slonksite" />
|
|
<meta
|
|
name="keywords"
|
|
content="slonkazoid, slonking, slonk.ing, Rain, rust blazingly fast, bingus, webdev, cybersecurity"
|
|
/>
|
|
<meta property="og:title" content="slonksite" />
|
|
<meta property="og:description" content="Rain's slonksite" />
|
|
<meta property="og:url" content="https://slonk.ing/" />
|
|
<meta property="og:image" content="https://slonk.ing/img/favicon.png" />
|
|
<title>Rain's slonksite</title>
|
|
<link rel="shortcut icon" href="img/favicon.png" type="image/png" />
|
|
<link rel="stylesheet" href="style.css" />
|
|
</head>
|
|
|
|
<body>
|
|
<main>
|
|
<h1>projects</h1>
|
|
<p><a href="/">back to home</a></p>
|
|
<p>
|
|
list of some of my personal projects.<br />
|
|
just because a project is in this list doesn't mean i'm proud of it. i put projects
|
|
that i think people would be interested in here.
|
|
</p>
|
|
<ul class="projects-list">
|
|
<li>
|
|
<details open>
|
|
<summary>bingus-blog</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>
|
|
blazingly fast markdown blog software written in rust memory
|
|
safe
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://git.slonk.ing/slonk/bingus-blog"
|
|
>git.slonk.ing</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>instance</td>
|
|
<td>
|
|
<a href="https://blog.slonk.ing/">blog.slonk.ing</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web, ssr</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>active</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>MIT</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>1.2k+ rust</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>bingus-files</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>simple file sharing service written in rust</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://gitlab.com/slonkazoid/bingus-files"
|
|
>gitlab.com</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>instance</td>
|
|
<td><a href="https://files.slonk.ing/">files.slonk.ing</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust, js</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web, learner project</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>maintenance</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>MIT</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>500+ rust, 250+ js</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>silly-png</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>embed shellscripts and files into pngs</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://gitlab.com/slonkazoid/silly-png">gitlab.com</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust, posix sh</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>shellscripting, security</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>side projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>completed</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>CC0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>150+ rust</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>CelestePatcher</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>patcher for Celeste that removes the Steam dependency</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://gitlab.com/slonkazoid/CelestePatcher"
|
|
>gitlab.com</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>c#</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>mono, assembly modding</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>side projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>completed</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>GPL-3.0<!-- why did i do that? --></td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>200+ c#</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>MCStatus</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>discord bot that pings minecraft servers</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://gitlab.com/slonkazoid/mc-status">gitlab.com</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>invite</td>
|
|
<td>
|
|
<a
|
|
href="https://discord.com/oauth2/authorize?client_id=740191553238335560&permissions=0&scope=bot"
|
|
>discord.com</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>js</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>minecraft, discord, bot</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>side projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>completed</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>GPL-3.0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>600+ js</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>phone</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>webhooks for my server</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://git.slonk.ing/slonk/phone">git.slonk.ing</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web, git, automation</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>side projects</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>150+ rust</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>biter</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>bad but also really fast twitter proxy</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://git.slonk.ing/slonk/biter">git.slonk.ing</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>instance</td>
|
|
<td><a href="https://biter.slonk.ing/">biter.slonk.ing</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web, twitter, scraping, learner project</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>for fun</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>on hold</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>MIT</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>600+ rust</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>bingus-http</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>
|
|
http implementation in rust that i wrote on my phone and is 1/2
|
|
as fast as hyper
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://gitlab.com/hyron-devs/bingus-http"
|
|
>gitlab.com</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>rust</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web, learner project</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>for fun</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>dead</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>MIT</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>850+ rust</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>woltsapp</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>WhatsApp Wake-on-LAN bot</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://github.com/slonkazoid/woltsapp">github.com</a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>go</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>bot, learner project</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>work-adjacent</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>active</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>MIT</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>700+ go</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary>slonksite</summary>
|
|
<table>
|
|
<tr>
|
|
<td>description</td>
|
|
<td>this website!</td>
|
|
</tr>
|
|
<tr>
|
|
<td>source</td>
|
|
<td>
|
|
<a href="https://git.slonk.ing/slonk/slonksite"
|
|
>git.slonk.ing</a
|
|
>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>link</td>
|
|
<td><a href="https://slonk.ing/">slonk.ing</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td>languages</td>
|
|
<td>html, css</td>
|
|
</tr>
|
|
<tr>
|
|
<td>keywords</td>
|
|
<td>web</td>
|
|
</tr>
|
|
<tr>
|
|
<td>category</td>
|
|
<td>not sure</td>
|
|
</tr>
|
|
<tr>
|
|
<td>status</td>
|
|
<td>you tell me</td>
|
|
</tr>
|
|
<tr>
|
|
<td>license</td>
|
|
<td>N/A</td>
|
|
</tr>
|
|
<tr>
|
|
<td>slocs</td>
|
|
<td>900+ html, 150+ css</td>
|
|
</tr>
|
|
</table>
|
|
</details>
|
|
</li>
|
|
</ul>
|
|
|
|
<h2>other stuff i could not count as a "project"</h2>
|
|
<ul>
|
|
<li>
|
|
<a href="https://github.com/slonkazoid/spy-pet-checker"
|
|
><b>spy-pet-checker</b></a
|
|
>, check if any of the servers you are in is present in spy.pet's database
|
|
</li>
|
|
<li>
|
|
<a href="https://gitlab.com/slonkazoid/snippets"><b>snippets</b></a
|
|
>, a collection of scripts and scraps that i don't want to rewrite each time
|
|
</li>
|
|
<li>
|
|
<a href="https://gitlab.com/slonkazoid/avt"><b>avt</b></a
|
|
>, ffmpeg wrapper to record screen with audio losslessly on X with minimal
|
|
overhead (and more)
|
|
</li>
|
|
<li>
|
|
<a href="https://git.slonk.ing/slonk/weird-express-logger"
|
|
><b>weird-express-logger</b></a
|
|
>, request logger in the form of an express.js middleware. it has a pretty cool
|
|
log format and supports processing multiple requests at the same time and
|
|
updating their status on the terminal as they complete. the implementation is
|
|
really.. <i>javascript</i>.. though
|
|
</li>
|
|
<li>
|
|
<a href="https://gitlab.com/hyron-devs/hyron-deploy"><b>hyron-deploy</b></a
|
|
>, deploy your sites to the cloud (any floppa-files or bingus-files instance)
|
|
:rocket:. chatgpt generated a lot of this project's code so i don't count it as
|
|
mine
|
|
</li>
|
|
<li>
|
|
<b>personal patches</b>, i write patches for some of the software i use and
|
|
sometimes even upload them to my gitlab. here are a few:
|
|
<ul>
|
|
<li>
|
|
<details>
|
|
<!-- prettier-ignore -->
|
|
<summary>sway-slonk-git (<a href="https://gitlab.com/slonkazoid/pkgbuild-sway-slonk-git">pkgbuild</a>)</summary>
|
|
my most infamous pkgbuild. it's just sway-git but it adds my
|
|
<a href="https://gitlab.com/slonkazoid/sway-patches"
|
|
>sway patches</a
|
|
>
|
|
which includes the extremely useful <code>env</code> patch i should
|
|
contribute upstream sometime and stuff to fix the bugs as they come
|
|
from git
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details>
|
|
<!-- prettier-ignore -->
|
|
<summary>wlroots-slonk-git (<a href="https://gitlab.com/slonkazoid/pkgbuild-wlroots-slonk-git">pkgbuild</a>)</summary>
|
|
fixes a (maybe more than one?) memory corruption bug and adds the
|
|
legacy wl_drm protocol back
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details>
|
|
<!-- prettier-ignore -->
|
|
<summary>linux-zen-slonk (<a href="https://gitlab.com/slonkazoid/pkgbuild-linux-zen-slonk">pkgbuild</a>)</summary>
|
|
linux-cachyos inspired linux-zen pkgbuild<br />
|
|
adds flags in the form of environment variables to configure the
|
|
build process
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details>
|
|
<!-- prettier-ignore -->
|
|
<summary>mkinitcpio-utils-slonk (<a href="https://gitlab.com/slonkazoid/pkgbuild-mkinitcpio-utils-slonk">pkgbuild</a>)</summary>
|
|
1. add the missing cryptargs options (<a
|
|
href="https://github.com/grazzolini/mkinitcpio-utils/pull/18"
|
|
>merge this PLEASE</a
|
|
>)<br />
|
|
2. add a duress password<br />
|
|
more info available
|
|
<a href="https://ck.katzen.cafe/notes/9riufsldq5wra1nu">here</a>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details>
|
|
<!-- prettier-ignore -->
|
|
<summary>iwd</summary>
|
|
adds a memory leak. hackaround for a bug that made it segfault on my
|
|
server<br />
|
|
<pre lang="diff">
|
|
diff --git a/src/wiphy.c b/src/wiphy.c
|
|
index 766df34..86eacbe 100644
|
|
--- a/src/wiphy.c
|
|
+++ b/src/wiphy.c
|
|
@@ -1902,7 +1902,19 @@ static bool wiphy_get_driver_name(struct wiphy *wiphy)
|
|
}
|
|
|
|
driver_path[len] = '\0';
|
|
- wiphy->driver_str = l_strdup(basename(driver_path));
|
|
+ //wiphy->driver_str = l_strdup(basename(driver_path));
|
|
+ // forgive me for this
|
|
+ char* str = malloc(9);
|
|
+ str[0] = 'T';
|
|
+ str[1] = 'E';
|
|
+ str[2] = 'S';
|
|
+ str[3] = 'T';
|
|
+ str[4] = driver_path[len - 4];
|
|
+ str[5] = driver_path[len - 3];
|
|
+ str[6] = driver_path[len - 2];
|
|
+ str[7] = driver_path[len - 1];
|
|
+ str[8] = '\0';
|
|
+ wiphy->driver_str = str;
|
|
|
|
for (i = 0; i < L_ARRAY_SIZE(driver_infos); i++)
|
|
if (!fnmatch(driver_infos[i].prefix, wiphy->driver_str, 0))</pre
|
|
>
|
|
</details>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h2>future project ideas</h2>
|
|
<ul>
|
|
<li>
|
|
<b>silly-files</b>, bingus-files but backed by a custom distributed replicated
|
|
ref-counted storage implementation in rust, also supporting notes, editing
|
|
files, accounts, file privacy, autodelete, encryption, etc etc
|
|
</li>
|
|
<li>
|
|
<b>silly-blog</b>, bingus-blog but a complete blogging platform with an RSS
|
|
feed, post editor, comments, JS, database, and whatever else i can fit in it
|
|
</li>
|
|
</ul>
|
|
<p>yes, it seems like silly-* means "more web bingus-*"</p>
|
|
|
|
<h3>under construction</h3>
|
|
</main>
|
|
</body>
|
|
</html>
|