1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
{{ define "content" }}
<h2>~welcome</h2>
<p>hey there penguin! or, <strong>{{ .User.Username }}</strong>, i guess.</p>
<p>this network does not serve the outside internet. everything runs off of this battery, phone, and mini AP. i carry it around sometimes.</p>
<div style="text-align: center" >
<img width="60%" src="/static/img/lab.png">
</div>
<p>wanna fuck up this website? the code is available to you to fuck up. go crazy (put in a reverse shell if you want for all i care), but please be courteous <3.</p>
<pre>
git clone you@penguins.lan:~/penguins.lan
cd penguins.lan
vim templates/home.html
git add . && git commit -m "HAHAHA"
git push
</pre>
<marquee class="marquee">* LONG LIVE THE MARQUEE TAG * THEY CAN'T TAKE IT FROM US *</marquee>
<hr>
<h3>~waddlers</h3>
<p class="legend">
<span class="dot chat"></span> chatting
<span class="dot network"></span> online
<span class="dot offline"></span> offline
</p>
<ul class="roster" id="roster">
{{ range .Users }}
<li><span class="dot {{ .Status }}"></span> <strong>{{ .Username }}</strong> <span class="muted">— last seen {{ .LastSeen }}</span></li>
{{ end }}
</ul>
<script src="/static/js/waddlers.js"></script>
<script src="/static/js/chat.js"></script>
<div id="log" class="chat-log" aria-live="polite"></div>
<form id="chat-form" class="chat-form" autocomplete="off">
<input id="msg" name="msg" placeholder="hello fellow penguins!" maxlength="500" autofocus>
<button type="submit">send</button>
</form>
<hr>
<h3>~place</h3>
<p>pick a color and click to drop it, scroll to zoom in, drag to pan the canvas. <span id="cooldown" class="muted"></span></p>
<div id="palette" class="palette"></div>
<div id="viewport" class="canvas-viewport">
<canvas id="canvas" width="{{ .Canvas.Cols }}" height="{{ .Canvas.Rows }}"></canvas>
<div id="pixel-cursor" class="pixel-cursor"></div>
<div id="coords" class="canvas-coords"></div>
</div>
<script>
window.CANVAS = {
rows: {{ .Canvas.Rows }},
cols: {{ .Canvas.Cols }},
scale: {{ .Canvas.Scale }},
cooldownMs: {{ .Canvas.CooldownMs }},
palette: [{{ range $i, $c := .Canvas.Palette }}{{ if $i }}, {{ end }}"{{ $c }}"{{ end }}]
};
</script>
<script src="/static/js/canvas.js"></script>
<hr>
<h3>~minecraft</h3>
<p>java edition — join <code>penguins.lan</code></p>
<p id="mc-status" class="muted">checking…</p>
<script src="/static/js/minecraft.js"></script>
{{ end }}
|