add pubkeys + captive portal check service

This commit is contained in:
toufic ar 2026-01-26 03:02:33 +02:00
parent 54fc6e5689
commit 25c43355d0
Signed by: toufic ar
SSH key fingerprint: SHA256:/NaO5I1nG3gYKzrzSiTYIdRyaIYxDWfr1U+d+yfJ/4k
2 changed files with 153 additions and 24 deletions

View file

@ -106,12 +106,20 @@
registration is restricted, but all project repositories are
accessible and available under free licenses.</p
>
<a
class="sd-grid-card-action"
href="https://git.toufy.me"
target="_blank"
>check<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
<div class="sd-grid-actions-row">
<a
class="sd-grid-card-action"
href="https://git.toufy.me"
target="_blank"
>check<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
<a
class="sd-grid-card-action"
href="https://git.toufy.me/toufy/adonis/src/branch/main/config/devops"
target="_blank"
>source<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
</div>
</div>
<div class="sd-grid-card">
<h3 class="sd-grid-card-title"
@ -122,16 +130,86 @@
>my public <a href="https://searxng.org">searxng</a> instance. no
usage metrics. most probably will add TOR proxy in the future.</p
>
<a
class="sd-grid-card-action"
href="https://search.toufy.me"
target="_blank"
>check<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
<div class="sd-grid-actions-row">
<a
class="sd-grid-card-action"
href="https://search.toufy.me"
target="_blank"
>check<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
<a
class="sd-grid-card-action"
href="https://git.toufy.me/toufy/adonis/src/branch/main/config/search"
target="_blank"
>source<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
</div>
</div>
<div class="sd-grid-card">
<h3 class="sd-grid-card-title"
><i class="fa-solid fa-wifi"></i><span>captive portal</span></h3
>
<p class="sd-grid-card-description"
>a telemetry-free
<a
href="https://developer.android.com/about/versions/11/features/captive-portal#detection"
target="_blank"
>captive portal check</a
>
as an alternative to android's default
<code>connectivitycheck.gstatic.com</code>
by google</p
>
<div class="sd-grid-actions-row">
<a
class="sd-grid-card-action"
href="https://cpcheck.toufy.me"
target="_blank"
>check<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
<a
class="sd-grid-card-action"
href="https://git.toufy.me/toufy/adonis/src/branch/main/config/http/captiveportal.nix"
target="_blank"
>source<i class="fa-solid fa-arrow-up-right-from-square"></i
></a>
</div>
</div>
</div>
</div>
<hr />
<div id="pubkeys">
<h1>pubkeys</h1>
<h3
>SSH
<button onclick="navigator.clipboard.writeText(sshkey.textContent)"
><i class="fa-regular fa-copy"></i></button
></h3>
<pre><code id="sshkey"
>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN8CKkq7m/FPTqjAO3yGWhH7y+9flDjyNC9hQFenvbKs toufy</code
></pre>
<h3
>GPG
<button onclick="navigator.clipboard.writeText(gpgkey.textContent)"
><i class="fa-regular fa-copy"></i></button
></h3>
<pre><code id="gpgkey">-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaXaizxYJKwYBBAHaRw8BAQdARrftn56656s3XyW15b3DBMTcrvCvcRjOs53P
tVsrsGC0EXRvdWZpYyBhciAodG91ZnkpiJAEExYKADgWIQRKDkdYNWjksRtcJVm7
ozAX4p50+wUCaXaizwIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRC7ozAX
4p50+2gTAP9pFdyrNoOsOkdkcaBzIs9CZfkf38ZQsdi8vZsdXtquSAEAyaqVsXCN
tpMn3/ax/034uY0wAVa9WluqWcvGK+jb7we4OARpdqLPEgorBgEEAZdVAQUBAQdA
YQqEaD8/QXfS9rU471nhxbB1bHANd/NAG8TG1mJeLFkDAQgHiHgEGBYKACAWIQRK
DkdYNWjksRtcJVm7ozAX4p50+wUCaXaizwIbDAAKCRC7ozAX4p50+3PEAP0abVGS
7KLZCqJRjsRfhNP0IrveTuKrW5hckVu4GNgkCQEAtXHhO8Kj6l41m6v36AWddSUz
iv6s3F2Wfm3pjizriQc=
=w8/B
-----END PGP PUBLIC KEY BLOCK-----</code></pre>
</div>
<hr />
<div id="credits">
<h1>attributions</h1>
<ul>

View file

@ -4,12 +4,14 @@
--background: #534b4f;
--background-alt: #645452;
--foreground: #faf0e6;
--support: #444444;
@media (prefers-color-scheme: light) {
--primary: #ff91a4;
--secondary: #dc143c;
--foreground: #534b4f;
--background: #faf0e6;
--background-alt: #f0ead6;
--support: #dddddd;
}
}
@ -81,6 +83,22 @@ html {
text-decoration: none;
}
}
pre,
code {
overflow-x: auto;
max-width: 100%;
font-size: 14px;
color: var(--secondary);
background-color: var(--support);
padding: 0 4px;
border-radius: 4px;
display: inline-block;
-webkit-overflow-scrolling: touch;
}
hr {
margin: 20px 0;
}
body {
main {
margin: 5% 15%;
@ -143,7 +161,7 @@ html {
margin: 5px;
border-radius: 5px;
border: 1px solid var(--primary);
width: 300px;
max-width: 300px;
.sd-grid-card-title {
text-align: center;
display: flex;
@ -161,24 +179,57 @@ html {
padding: 5px;
text-align: left;
}
.sd-grid-card-action {
.sd-grid-actions-row {
display: flex;
flex-direction: row;
width: 100%;
padding: 5px;
width: 90%;
border: 4px dotted var(--secondary);
border-radius: 4px;
font-size: 22px;
font-weight: bolder;
text-decoration: none;
color: var(--secondary);
&:hover,
&:active {
background-color: var(--secondary);
.sd-grid-card-action {
width: 100%;
border: 4px dotted var(--primary);
border-radius: 4px;
margin: 4px;
font-size: 20px;
font-weight: bolder;
text-decoration: none;
color: var(--primary);
&:hover,
&:active {
border: 4px solid var(--secondary);
background-color: var(--secondary);
color: var(--primary);
}
}
}
}
}
}
#pubkeys {
h3 {
display: flex;
flex-direction: row;
text-align: center;
align-items: center;
margin: 10px 0;
button {
margin: 0 10px;
padding: 2px;
background-color: transparent;
border: none;
color: var(--primary);
font-size: 18px;
border-radius: 4px;
&:hover {
color: var(--secondary);
cursor: pointer;
}
&:active {
color: var(--primary);
background-color: var(--secondary);
}
}
}
}
#credits {
h1 {
padding: 5px;