514 lines
13 KiB
HTML
514 lines
13 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="my slonksite" />
|
||
|
<meta property="og:title" content="slonksite" />
|
||
|
<meta property="og:description" content="my slonksite" />
|
||
|
<meta property="og:url" content="https://slonk.ing/" />
|
||
|
<meta property="og:image" content="https://slonk.ing/img/favicon.png" />
|
||
|
<title>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>1102 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</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>530 rust, 262 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>128 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>248 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>634 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>179 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</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>618 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</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>864 rust</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>919 html, 161 css</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</details>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<h2>other stuff i could not count as a "project"</h2>
|
||
|
<ul>
|
||
|
<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>
|