forked from lain.church/lain.church-fe
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
ba3a703314 | |||
34d36de386 | |||
19ebd99941 | |||
|
23b4043620 | ||
|
8b93bf5dd8 | ||
|
0f247f1781 | ||
|
e55a63407e | ||
e7494cc460 |
29
collectd/gitea-collectd.lua
Executable file
29
collectd/gitea-collectd.lua
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env lua
|
||||
local gitdir = "/home/git/gitea-repositories/"
|
||||
|
||||
local socket = require "socket"
|
||||
local fs = require "lfs"
|
||||
|
||||
local hostname = os.getenv("COLLECTD_HOSTNAME") or os.getenv("HOSTNAME") or "lain.church"
|
||||
local interval = os.getenv("COLLECTD_INTERVAL") or 60
|
||||
|
||||
while true do
|
||||
local users, repos, gopherholes = 0, 0, 0
|
||||
for user in fs.dir(gitdir) do
|
||||
if user:sub(1,1) ~= "." then
|
||||
users = users + 1
|
||||
for repo in fs.dir(gitdir..user) do
|
||||
if repo:sub(1,1) ~= "." then
|
||||
repos = repos + 1
|
||||
if repo == "gopherhole.git" then
|
||||
gopherholes = gopherholes + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
socket.sleep(interval)
|
||||
print(string.format("PUTVAL %s/exec-gitea/gitea_active_users interval=%d N:%d",hostname,interval,users))
|
||||
print(string.format("PUTVAL %s/exec-gitea/gitea_repositories interval=%d N:%d",hostname,interval,repos))
|
||||
print(string.format("PUTVAL %s/exec-gitea/gitea_gopherholes interval=%d N:%d",hostname,interval,gopherholes))
|
||||
end
|
17
collectd/prosody-collectd.lua
Executable file
17
collectd/prosody-collectd.lua
Executable file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env lua
|
||||
local rquri = "http://localhost:5280/serverinfo"
|
||||
|
||||
local http = require "socket.http"
|
||||
local socket = require "socket"
|
||||
|
||||
local hostname = os.getenv("COLLECTD_HOSTNAME") or os.getenv("HOSTNAME") or "lain.church"
|
||||
local interval = os.getenv("COLLECTD_INTERVAL") or 60
|
||||
|
||||
while true do
|
||||
socket.sleep(interval)
|
||||
local request = {http.request(rquri)}
|
||||
local online,registered = request[1]:match('{"connected":(%d+),"registered":(%d+)}')
|
||||
online,registered = tonumber(online),tonumber(registered)
|
||||
print(string.format("PUTVAL %s/exec-prosody/prosody_connected interval=%d N:%d",hostname,interval,online))
|
||||
print(string.format("PUTVAL %s/exec-prosody/prosody_registered interval=%d N:%d",hostname,interval,registered))
|
||||
end
|
5
collectd/types.custom.db
Normal file
5
collectd/types.custom.db
Normal file
@ -0,0 +1,5 @@
|
||||
prosody_registered value:ABSOLUTE:0:U
|
||||
prosody_connected value:ABSOLUTE:0:U
|
||||
gitea_active_users value:ABSOLUTE:0:U
|
||||
gitea_repositories value:ABSOLUTE:0:U
|
||||
gitea_gopherholes value:ABSOLUTE:0:U
|
@ -79,6 +79,8 @@
|
||||
<p>lain.church exists to provide <a href="/services.html">services not provided by other entities</a> to lainons and the like.</p>
|
||||
<p>The hope is that said services will be reasonably secure, provide the users with their <a href="https://www.gnu.org/philosophy/free-sw.html">four essential freedoms</a> where applicable, and further development of technology that respects the user.</p>
|
||||
<p>There is an emphasis on decentralised and federated platforms where individuals and small groups can control parts, rather than everything being owned by one entity.</p>
|
||||
<br>
|
||||
<p>Additionally, the <a href="https://git.lain.church/lain.church/lain.church-fe">source code for this site</a> can be found on GitLain.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,25 +0,0 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<style>
|
||||
body {
|
||||
background-image: url(/img/sun.png);
|
||||
background-repeat: repeat;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/css/columns.css">
|
||||
<link rel="stylesheet" href="/css/haiku.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="display: inline-block;">
|
||||
<b class="twrapper"><a class="dtitle" href="redeem.html"><img class="wbutton wlbutton" src="/img/dclose.png">Redeem invite code<img class="wbutton wrbutton" src="/img/dminimise.png"></a><a class="dtitle" href="gencode.html"><img class="wbutton wlbutton" src="/img/dclose.png">Generate invite code<img class="wbutton wrbutton" src="/img/dminimise.png"></a><a class="title" href="changepass.html"><img class="wbutton wlbutton" src="/img/close.png">Change password<img class="wbutton wrbutton" src="/img/minimise.png"></a></b>
|
||||
<div class="wrapper">
|
||||
<div id="changepass">
|
||||
<form action="/changepass.cgi" method="post" accept-charset="UTF-8">
|
||||
Username <input type="text" name="username"><br>
|
||||
Password <input type="password" name="password"><br>
|
||||
New Password <input type="password" name="newpass"><br>
|
||||
<br><input type="submit" value="Change password">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
@ -1,5 +1,5 @@
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
font-family: "Fira Sans",sans-serif;
|
||||
}
|
||||
.title {
|
||||
border-top: 1px solid #9d9d9d;
|
||||
|
@ -1,24 +0,0 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<style>
|
||||
body {
|
||||
background-image: url(/img/leaves.png);
|
||||
background-repeat: repeat;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/css/columns.css">
|
||||
<link rel="stylesheet" href="/css/haiku.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="display: inline-block;">
|
||||
<b class="twrapper"><a class="dtitle" href="redeem.html"><img class="wbutton wlbutton" src="/img/dclose.png">Redeem invite code<img class="wbutton wrbutton" src="/img/dminimise.png"></a><a class="title" href="gencode.html"><img class="wbutton wlbutton" src="/img/close.png">Generate invite code<img class="wbutton wrbutton" src="/img/minimise.png"></a><a class="dtitle" href="changepass.html"><img class="wbutton wlbutton" src="/img/dclose.png">Change password<img class="wbutton wrbutton" src="/img/dminimise.png"></a></b>
|
||||
<div class="wrapper">
|
||||
<div id="gencode">
|
||||
<form action="/gencode.cgi" method="post" accept-charset="UTF-8">
|
||||
Username <input type="text" name="username"><br>
|
||||
Password <input type="password" name="password"><br>
|
||||
<br><input type="submit" value="Generate code">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
42
static/img/rss.svg
Normal file
42
static/img/rss.svg
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<svg version="1.1" width="64" height="64" color-interpolation="linearRGB"
|
||||
xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path style="fill:#010101; fill-opacity:0.5019"
|
||||
d="M36 61H41L64 30L58 27L59 31L36 61z"
|
||||
/>
|
||||
<path style="fill:none; stroke:#010000; stroke-width:4"
|
||||
d="M2 28V41L36 59L58 30V17L25 5L2 28z"
|
||||
/>
|
||||
<linearGradient id="gradient0" gradientUnits="userSpaceOnUse" x1="13.84" y1="-38.14" x2="58.34" y2="-27.7">
|
||||
<stop offset="0" stop-color="#ffe2ba"/>
|
||||
<stop offset="1" stop-color="#ff9500"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient0)"
|
||||
d="M2 28L36 43L58 17L25 5L2 28z"
|
||||
/>
|
||||
<linearGradient id="gradient1" gradientUnits="userSpaceOnUse" x1="44.72" y1="-7.9" x2="86.1" y2="10.51">
|
||||
<stop offset="0" stop-color="#992600"/>
|
||||
<stop offset="1" stop-color="#bf5000"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient1)"
|
||||
d="M36 43V59L58 30V17L36 43z"
|
||||
/>
|
||||
<linearGradient id="gradient2" gradientUnits="userSpaceOnUse" x1="22.97" y1="92.59" x2="-14.6" y2="67.29">
|
||||
<stop offset="0" stop-color="#bf5000"/>
|
||||
<stop offset="1" stop-color="#f2a100"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient2)"
|
||||
d="M2 28V41L36 59V43L2 28z"
|
||||
/>
|
||||
<linearGradient id="gradient3" gradientUnits="userSpaceOnUse" x1="13.84" y1="-38.14" x2="58.34" y2="-27.7">
|
||||
<stop offset="0" stop-color="#ffffff"/>
|
||||
<stop offset="1" stop-color="#e7e7e7"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient3)"
|
||||
d="M21 31C26 25 34 25 40 28L44 25C36 21 24 21 17 29L21 31z
|
||||
M13 28L9 26C20 14 38 13 51 19L47 22C36 17 22 18 13 28z
|
||||
M31.5 29C29.01 29 27 30.34 27 32C27 33.65 29.01 35 31.5 35C33.98 35 36 33.65 36 32C36 30.34 33.98 29 31.5 29z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
196
static/img/social.svg
Normal file
196
static/img/social.svg
Normal file
@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<svg version="1.1" width="64" height="64" color-interpolation="linearRGB"
|
||||
xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path style="fill:#010101; fill-opacity:0.4235"
|
||||
d="M34 64C34 64 40 64 45 64C50 64 51 63 56 62C63.84 60.43 63 58 60 56C56.56 53.71 62.56 54.13 61 51C60 49 52 47 52 47L42 56L34 64z"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M22 21V38L24 40V57L28 59L30 59L30 60L34 62L40 56V42L42 40V23L29 17L22 21z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient0" gradientUnits="userSpaceOnUse" x1="96.6" y1="-47.07" x2="124.61" y2="-15.05">
|
||||
<stop offset="0" stop-color="#ee9bb0"/>
|
||||
<stop offset="1" stop-color="#cc5876"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient0)"
|
||||
d="M22 21V37L24 40V57L28 59L30 59L30 60L34 62V45H36V27L22 21z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient1" gradientUnits="userSpaceOnUse" x1="-37.97" y1="-32.98" x2="-18.83" y2="-50.95">
|
||||
<stop offset="0" stop-color="#ffe3ea"/>
|
||||
<stop offset="0.9962" stop-color="#f0a8bb"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient1)"
|
||||
d="M22 21L36 27L42 23L32 22L35.99 19.99L29 17L22 21z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient2" gradientUnits="userSpaceOnUse" x1="57.23" y1="-50.61" x2="78.84" y2="-43.97">
|
||||
<stop offset="0" stop-color="#a02646"/>
|
||||
<stop offset="1" stop-color="#d53961"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient2)"
|
||||
d="M36 45H34V62L40 56V42L42 40V23L36 27V45z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<path style="fill:#71152d"
|
||||
d="M34 45V51L40 42L36 45H34z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient3" gradientUnits="userSpaceOnUse" x1="30.92" y1="-67" x2="41.07" y2="-67">
|
||||
<stop offset="0" stop-color="#ab123a"/>
|
||||
<stop offset="1" stop-color="#dd718d"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient3)"
|
||||
d="M32 22L42 23L36 20L32 22z"
|
||||
transform="matrix(1,0,0,1,10,-6)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M32 8C29 8 26 11 26 14C26 17 29 20 32 20C35 20 38 17 38 14C38 11 35 8 32 8z"
|
||||
transform="matrix(1,0,0,1,12,-6)"
|
||||
/>
|
||||
<radialGradient id="gradient4" gradientUnits="userSpaceOnUse" cx="0" cy="0" r="64" gradientTransform="matrix(0.2957,0,0,0.2631,28.5529,8.4743)">
|
||||
<stop offset="0" stop-color="#f2f2f2"/>
|
||||
<stop offset="0.8992" stop-color="#e4dc06"/>
|
||||
</radialGradient>
|
||||
<path style="fill:url(#gradient4)"
|
||||
d="M32 8C29 8 26 11 26 14C26 17 29 20 32 20C35 20 38 17 38 14C38 11 35 8 32 8z"
|
||||
transform="matrix(1,0,0,1,12,-6)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M22 21V38L24 40V57L28 59L30 59L30 60L34 62L40 56V42L42 40V23L29 17L22 21z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient5" gradientUnits="userSpaceOnUse" x1="85.74" y1="-57.07" x2="128.61" y2="-8.05">
|
||||
<stop offset="0" stop-color="#d5dcff"/>
|
||||
<stop offset="1" stop-color="#9d9bd5"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient5)"
|
||||
d="M22 21V37L24 40V57L28 59L30 59L30 60L34 62V45H36V27L22 21z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient6" gradientUnits="userSpaceOnUse" x1="-37.97" y1="-32.98" x2="-18.83" y2="-50.95">
|
||||
<stop offset="0" stop-color="#ffffff"/>
|
||||
<stop offset="0.9962" stop-color="#a4a3d7"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient6)"
|
||||
d="M22 21L36 27L42 23L32 22L35.99 19.99L29 17L22 21z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient7" gradientUnits="userSpaceOnUse" x1="56.23" y1="-51.61" x2="77.84" y2="-44.97">
|
||||
<stop offset="0" stop-color="#373583"/>
|
||||
<stop offset="1" stop-color="#6967c0"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient7)"
|
||||
d="M36 45H34V62L40 56V42L42 40V23L36 27V45z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<path style="fill:#252382"
|
||||
d="M34 45V51L40 42L36 45H34z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<linearGradient id="gradient8" gradientUnits="userSpaceOnUse" x1="30.92" y1="-66" x2="41.07" y2="-66">
|
||||
<stop offset="0" stop-color="#33318c"/>
|
||||
<stop offset="1" stop-color="#a4a3d7"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient8)"
|
||||
d="M32 22L42 23L36 20L32 22z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M32 8C29 8 26 11 26 14C26 17 29 20 32 20C35 20 38 17 38 14C38 11 35 8 32 8z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<radialGradient id="gradient9" gradientUnits="userSpaceOnUse" cx="0" cy="0" r="64" gradientTransform="matrix(0.2957,0,0,0.2631,28.5529,8.4743)">
|
||||
<stop offset="0" stop-color="#f2f2f2"/>
|
||||
<stop offset="0.8992" stop-color="#e4dc06"/>
|
||||
</radialGradient>
|
||||
<path style="fill:url(#gradient9)"
|
||||
d="M32 8C29 8 26 11 26 14C26 17 29 20 32 20C35 20 38 17 38 14C38 11 35 8 32 8z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:2"
|
||||
d="M28 13H30
|
||||
M28 9H30"
|
||||
transform="matrix(1,0,0,1,12,-4)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:1"
|
||||
d="M44.5 11V5.5C44.5 5.5 47.5 5.21 47.5 7C47.5 8.84 45 8.5 45 8.5"
|
||||
/>
|
||||
<linearGradient id="gradient10" gradientUnits="userSpaceOnUse" x1="56.23" y1="-51.61" x2="77.84" y2="-44.97">
|
||||
<stop offset="0" stop-color="#373583"/>
|
||||
<stop offset="1" stop-color="#6967c0"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient10)"
|
||||
d="M28 59H30V45L28 44V59z"
|
||||
transform="matrix(1,0,0,1,-16,-6)"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M22 21V38L24 40V57L28 59L30 59L30 60L34 62L40 56V42L42 40V23L29 17L22 21z"
|
||||
/>
|
||||
<linearGradient id="gradient11" gradientUnits="userSpaceOnUse" x1="85.74" y1="-57.07" x2="128.61" y2="-8.05">
|
||||
<stop offset="0" stop-color="#ffdb97"/>
|
||||
<stop offset="1" stop-color="#fcaf29"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient11)"
|
||||
d="M22 21V37L24 40V57L28 59L30 59L30 60L34 62V45H36V27L22 21z"
|
||||
/>
|
||||
<linearGradient id="gradient12" gradientUnits="userSpaceOnUse" x1="-37.97" y1="-32.98" x2="-18.83" y2="-50.95">
|
||||
<stop offset="0" stop-color="#fff7ea"/>
|
||||
<stop offset="0.9962" stop-color="#fdd17b"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient12)"
|
||||
d="M22 21L36 27L42 23L32 22L35.99 19.99L29 17L22 21z"
|
||||
/>
|
||||
<linearGradient id="gradient13" gradientUnits="userSpaceOnUse" x1="55.23" y1="-51.61" x2="76.84" y2="-44.97">
|
||||
<stop offset="0" stop-color="#c85805"/>
|
||||
<stop offset="1" stop-color="#f06306"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient13)"
|
||||
d="M36 45H34V62L40 56V42L42 40V23L36 27V45z"
|
||||
/>
|
||||
<path style="fill:#a32904"
|
||||
d="M34 45V51L40 42L36 45H34z"
|
||||
/>
|
||||
<linearGradient id="gradient14" gradientUnits="userSpaceOnUse" x1="29.92" y1="-66" x2="40.07" y2="-66">
|
||||
<stop offset="0" stop-color="#c85804"/>
|
||||
<stop offset="1" stop-color="#dc952f"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient14)"
|
||||
d="M32 22L42 23L36 20L32 22z"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:4"
|
||||
d="M32 4C28 4 24 8 24 12C24 16 28 20 32 20C36 20 40 16 40 12C40 8 36 4 32 4z"
|
||||
/>
|
||||
<radialGradient id="gradient15" gradientUnits="userSpaceOnUse" cx="0" cy="0" r="64" gradientTransform="matrix(0.2957,0,0,0.2631,28.5529,8.4743)">
|
||||
<stop offset="0" stop-color="#f2f2f2"/>
|
||||
<stop offset="0.8992" stop-color="#e4dc06"/>
|
||||
</radialGradient>
|
||||
<path style="fill:url(#gradient15)"
|
||||
d="M32 4C28 4 24 8 24 12C24 16 28 20 32 20C36 20 40 16 40 12C40 8 36 4 32 4z"
|
||||
/>
|
||||
<linearGradient id="gradient16" gradientUnits="userSpaceOnUse" x1="55.23" y1="-51.61" x2="76.84" y2="-44.97">
|
||||
<stop offset="0" stop-color="#c85805"/>
|
||||
<stop offset="1" stop-color="#f06306"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#gradient16)"
|
||||
d="M28 59H30V45L28 44V59z"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:2"
|
||||
d="M28 13H30
|
||||
M28 9H30"
|
||||
/>
|
||||
<path style="fill:none; stroke:#000000; stroke-width:2"
|
||||
d="M28 9H30"
|
||||
transform="matrix(1,0,0,1,-16,-4)"
|
||||
/>
|
||||
<path style="fill:#000000"
|
||||
d="M32 7C32 7 36 8 36 12C36 16 32 17 32 17C32 17 34 14 34 12C34 10 32 7 32 7z
|
||||
M30.09 10.56C30.09 10.56 29.66 12.91 29.2 13.83C28.67 14.9 27.71 16.06 27.71 16.06V10.56H30.09z"
|
||||
transform="matrix(0.9375,0,0,0.7375,-14,-0.7875)"
|
||||
/>
|
||||
<path style="fill:#000000"
|
||||
d="M32 7C32 7 36 8 36 12C36 16 32 17 32 17C32 17 34 14 34 12C34 10 32 7 32 7z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.5 KiB |
@ -34,15 +34,15 @@
|
||||
<body bgcolor="#336698">
|
||||
<a href="https://git.lain.church"><div class="btncontainer"><img class="btnimg" src="/img/gitlain.svg"></img><br>GitLain</div></a>
|
||||
<a href="/about.html"><div class="btncontainer"><img class="btnimg" src="/img/txt.svg"></img><br>about</div></a>
|
||||
<a href="/redeem.html"><div class="btncontainer"><img class="btnimg" src="/img/user.svg"></img><br>Users</div></a>
|
||||
<a href="https://welovela.in/users/lainchurch"><div class="btncontainer"><img class="btnimg" src="/img/rss.svg"></img><br>News</div></a>
|
||||
<a href="/graphs"><div class="btncontainer"><img class="btnimg" src="/img/graphs.svg"></img><br>Stats</div></a>
|
||||
<a href="/services.html"><div class="btncontainer"><img class="btnimg" src="/img/services.svg"></img><br>Services</div></a>
|
||||
<a href="/xmpp.html"><div class="btncontainer"><img class="btnimg" src="/img/xmpp.svg"></img><br>XMPP</div></a>
|
||||
<a href="/xmpp/conversejs"><div class="btncontainer"><img class="btnimg" src="/img/xmpp.svg"></img><br>XMPP</div></a>
|
||||
<a href="https://lainon.life"><div class="btncontainer"><img class="btnimg" src="/img/radio.svg"></img><br>lainon.life</div></a>
|
||||
<a href="https://allsprk.tv"><div class="btncontainer"><img class="btnimg" src="/img/projector.svg"></img><br>allsprk.tv</div></a>
|
||||
<a href="https://lainchan.org"><div class="btncontainer"><img class="btnimg" src="/img/lainchan.png"></img><br>Lainchan</div></a>
|
||||
<a href="https://gopher.lain.church"><div class="btncontainer"><img class="btnimg" src="/img/folder.svg"></img><br>Gopherholes</div></a>
|
||||
<a href="https://welovela.in"><div class="btncontainer"><img class="btnimg" src="/img/fedi.svg"></img><br>WLL Pleroma</div></a>
|
||||
<a href="https://gopher.lain.church"><div class="btncontainer"><img class="btnimg" src="/img/folder.svg"></img><br>Gopher</div></a>
|
||||
<a href="https://welovela.in"><div class="btncontainer"><img class="btnimg" src="/img/wll.png"></img><br>Pleroma</div></a>
|
||||
<img class="cpugraph" src="/graphs/cpu-fp.png"></img>
|
||||
<img class="logo" src="/img/copland.svg"></img>
|
||||
</body>
|
||||
|
@ -1,26 +0,0 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<style>
|
||||
body {
|
||||
background-image: url(/img/dolphins.png);
|
||||
background-repeat: repeat;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/css/columns.css">
|
||||
<link rel="stylesheet" href="/css/haiku.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="display: inline-block;">
|
||||
<b class="twrapper"><a class="title" href="redeem.html"><img class="wbutton wlbutton" src="/img/close.png">Redeem invite code<img class="wbutton wrbutton" src="/img/minimise.png"></a><a class="dtitle" href="gencode.html"><img class="wbutton wlbutton" src="/img/dclose.png">Generate invite code<img class="wbutton wrbutton" src="/img/dminimise.png"></a><a class="dtitle" href="changepass.html"><img class="wbutton wlbutton" src="/img/dclose.png">Change password<img class="wbutton wrbutton" src="/img/dminimise.png"></a></b>
|
||||
<div class="wrapper">
|
||||
<div id="redeem" >
|
||||
<form action="/redeemcode.cgi" method="post" accept-charset="UTF-8">
|
||||
Invite code <input type="text" name="key"><br>
|
||||
Username <input type="text" name="username"><br>
|
||||
Password <input type="password" name="password"><br>
|
||||
Email <input type="text" name="email"><br>
|
||||
<br><input type="submit" value="Redeem">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
Loading…
Reference in New Issue
Block a user