Files
5ducky/templates/truhe.html
T
kibiandClaude Opus 5.5 d0f2d526df Port 4ducky to Rust (Axum + SQLite)
Same design, layout, URLs and features as the PHP version: browse grid,
image view with AJAX comments, BBCode, likes, uploads (file, URL and
bookmarklet), quicktagger, profile, block list, inbox, invites, Hall of
Ducks, Truhe, abuse reports and the admin tools.

- Parameterized SQL, escaped templates (askama), argon2 passwords,
  server-side sessions, CSRF tokens on every write, strict script CSP
- SSRF-safe remote image fetching, magic-byte upload checks
- Self-hosted captcha replaces reCAPTCHA v1; analytics/social widgets removed
- Vanilla JS replaces jQuery and its plugins with the same DOM behaviour
- Reverse proxy support (frontend_path, trust_proxy, secure_cookies)
- Admin CLI: admin, settings, invites

See README.md for running it and the full list of changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 02:15:05 +02:00

248 lines
6.2 KiB
HTML

{% include "header.html" %}
<div align="center" style="margin-top: 25px; margin-bottom: 25px;">
<table class="duckytable" width="600px" cellspacing="0" cellpadding="0">
<caption>4ducky.com Finances:</caption>
<tr>
<td>Current 4ducky balance:</td>
<td><strong>20,00 Euro</strong></td>
</tr>
<tr>
<td colspan="2"><div class="meter"><span style="width: 50%">50 % achieved</span></div></td>
</tr>
<tr>
<td colspan="2" style="text-align:left;">
Jeder User hat die Möglichkeit 4ducky.com mit Spenden zu unterstützen. Der 4ducky.com Server kostet derzeit 30 Euro im Monat.
Wer etwas beisteuern möchte, der schickt einfach einen <a href="https://www.amazon.de/gp/product/BT00DHI7XI">Amazon-Gutschein</a> (bitte auf eure E-Mail Adresse und nur den Code per PN) an den User "<a href="http://www.4ducky.com/inbox/Pandora">Pandora</a>" oder spendet via Bitcoin an 13wcgskYqQ2L4cPtV6TJHyfzrQ8NT5Zt9e. Spender werden hier geehrt:
</td>
</tr>
<tr>
<td colspan="2"><strong>Last activities & donations:</strong></td>
</tr>
</table>
<table class="duckytable" width="600px" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 40%;"><strong>Date</strong></td>
<td style="width: 40%;"><strong>Activity / Feeler</strong></td>
<td style="width: 40%;"><strong>Amount</strong></td>
</tr>
</table>
<div id="spendenducks">
<table class="duckytable" width="600px" cellspacing="0" cellpadding="0">
<tr class="spender">
<td>Oktober 2015</td>
<td><a href="/user/Pulvertoastmann">Pulvertoastmann</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Oktober 2015</td>
<td><a href="/user/nadjer">nadjer</a></td>
<td>+ 20,00 Euro</td>
</tr>
<tr class="kosten">
<td>Oktober 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>September 2015</td>
<td><a href="/user/Moses">Moses</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="kosten">
<td>September 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="kosten">
<td>August 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>August 2015</td>
<td>Anonym</td>
<td>+ 30,00 Euro</td>
</tr>
<tr class="kosten">
<td>Juli 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>Juni 2015</td>
<td><a href="/user/DerFickNigger">DerFickNigger</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Juni 2015</td>
<td><a href="/user/waluri">waluri</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Juni 2015</td>
<td><a href="/user/Kastritis">Kastritis</a></td>
<td>+ 17,00 Euro</td>
</tr>
<tr class="spender">
<td>Juni 2015</td>
<td><a href="/user/BASEDGOD">BASEDGOD</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="kosten">
<td>Juni 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="kosten">
<td>Mai 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>April 2015</td>
<td><a href="/user/DerFickNigger">DerFickNigger</a></td>
<td>+ 25,00 Euro</td>
</tr>
<tr class="kosten">
<td>April 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>März 2015</td>
<td><a href="/user/AntraX">AntraX</a></td>
<td>+ 88,00 Euro</td>
</tr>
<tr class="kosten">
<td>März 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>Februar 2015</td>
<td><a href="/user/Ahmed">Ahmed</a></td>
<td>+ 50,00 Euro</td>
</tr>
<tr class="kosten">
<td>März 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>Januar 2015</td>
<td><a href="/user/FG">FG</a></td>
<td>+ 30,00 Euro</td>
</tr>
<tr class="spender">
<td>Januar 2015</td>
<td><a href="/user/Nadjer">Nadjer</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="kosten">
<td>Januar 2015</td>
<td>Server-Miete</td>
<td>- 30,00 Euro</td>
</tr>
<tr class="spender">
<td>Dezember 2014</td>
<td><a href="/user/Kastritis">Kastritis</a></td>
<td>+ 11,00 Euro</td>
</tr>
<tr class="spender">
<td>Dezember 2014</td>
<td>vergessen wer</td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Juli 2014</td>
<td><a href="/user/RoterIndianer">RoterIndianer</a></td>
<td>+ 40,00 Euro</td>
</tr>
<tr class="spender">
<td>Juli 2014</td>
<td><a href="/user/Seine_Durchlaucht">Seine_Durchlaucht</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Juli 2014</td>
<td><a href="/user/Napalm">Napalm</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Juni 2014</td>
<td><a href="/user/Sozialfall">Sozialfall</a></td>
<td>+ 20,00 Euro</td>
</tr>
<tr class="spender">
<td>Dezember 2013</td>
<td><a href="/user/IchHab4Euro">IchHab4Euro</a></td>
<td>+ 4,00 Euro</td>
</tr>
<tr class="spender">
<td>Dezember 2013</td>
<td><a href="/user/FG">FG</a></td>
<td>+ 25,00 Euro</td>
</tr>
<tr class="spender">
<td>Dezember 2013</td>
<td><a href="/user/Kastritis">Kastritis</a></td>
<td>+ 10,00 Euro</td>
</tr>
<tr class="spender">
<td>Oktober 2013</td>
<td><a href="/user/Hitler">Hitler</a></td>
<td>+ 20,00 Euro</td>
</tr>
<tr class="spender">
<td>September 2013</td>
<td><a href="/user/Pandora">Pandora</a></td>
<td>+ 20,00 Euro</td>
</tr>
<tr class="kosten">
<td>September 2013</td>
<td>Server-Miete</td>
<td>- 20 Euro</td>
</tr>
</table>
</div>
<br/><br/>
<table class="duckytable" width="600px" cellspacing="0" cellpadding="0">
<caption>4ducky.com Statistics:</caption>
<tr>
<td>Images:</td>
<td>{{ img }} Images</td>
<td>~ {{ self.per_user(img) }} Images/User</td>
</tr>
<tr>
<td>User:</td>
<td>{{ duckys }} Duckies</td>
<td>{{ banned }} Banned Duckies</td>
</tr>
<tr>
<td>Comments:</td>
<td>{{ comm }} Comments</td>
<td>~ {{ self.per_user(comm) }} Comments/User</td>
</tr>
<tr>
<td>Likes:</td>
<td>{{ fav }} Likes</td>
<td>~ {{ self.per_user(fav) }} Likes/User</td>
</tr>
</table>
</div>
{% include "footer.html" %}