mirror of https://codeberg.org/pluja/kycnot.me
Compare commits
12 Commits
91c6ef9f31
...
8bab61a86f
Author | SHA1 | Date |
---|---|---|
pluja | 8bab61a86f | |
pluja | f371e4b4af | |
pluja | dfe2fcbdc8 | |
pluja | bc1397fc55 | |
pluja | 9d47367bbd | |
pluja | eaade44335 | |
pluja | a584634b39 | |
pluja | e301ee5fda | |
pluja | 411de6ec9f | |
pluja | 564e092bef | |
pluja | 090c82d011 | |
pluja | 4f0c0f835f |
14
Justfile
14
Justfile
|
@ -1,7 +1,19 @@
|
|||
default: deploy
|
||||
|
||||
dev +command:
|
||||
docker compose -f docker-compose.yml -f docker-compose.dev.yml {{command}}
|
||||
|
||||
deploy build="":
|
||||
#!/bin/bash
|
||||
git pull
|
||||
docker compose up {{ if build != "" { "--build" } else { "" } }} --pull=always -d
|
||||
|
||||
if [ -z "{{ build }}" ]; then
|
||||
build_flag=""
|
||||
else
|
||||
build_flag="--build"
|
||||
fi
|
||||
|
||||
docker compose up --pull=always -d $build_flag
|
||||
|
||||
if [ -z "{{ build }}" ]; then docker compose restart website; fi
|
||||
docker system prune -f
|
|
@ -8,9 +8,12 @@ services:
|
|||
caddy.reverse_proxy: "{{upstreams 4488}}"
|
||||
|
||||
pocketbase:
|
||||
ports:
|
||||
- 8090:80
|
||||
labels:
|
||||
caddy: "pocketbase.localhost"
|
||||
caddy.reverse_proxy: "{{upstreams 80}}"
|
||||
caddy.request_body.max_size: 10MB
|
||||
volumes:
|
||||
- ./pocketbase/data:/pb_data
|
||||
- ./pocketbase/public:/pb_public
|
||||
|
|
|
@ -35,7 +35,7 @@ services:
|
|||
caddy.header.Referrer-Policy: "no-referrer"
|
||||
caddy.header.Strict-Transport-Security: "max-age=31536000; includeSubdomains; preload;"
|
||||
caddy.encode: zstd gzip
|
||||
caddy.header.Onion-Location: ${ONION_ADDRESS}.onion{path}
|
||||
caddy.header.Onion-Location: ${ONION_ADDRESS}{path}
|
||||
|
||||
pocketbase:
|
||||
image: spectado/pocketbase:latest
|
||||
|
@ -68,6 +68,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
caddy: {}
|
||||
default: {}
|
||||
volumes:
|
||||
- ./docker/tor/data:/var/lib/tor
|
||||
labels:
|
||||
|
@ -82,6 +83,7 @@ services:
|
|||
restart: unless-stopped
|
||||
networks:
|
||||
caddy: {}
|
||||
default: {}
|
||||
#ports:
|
||||
# - ":14447" # socks
|
||||
volumes:
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -120,14 +120,14 @@
|
|||
these exchanges. Moreover, most of these exchanges are centralized,
|
||||
meaning that users do not own their keys. In short, this implies that
|
||||
the cryptocurrencies belong to the exchange and not the user. These
|
||||
requirements contradict the decentralized nature of cryptocurrencies.
|
||||
requirements go against the decentralized and self-governed nature of cryptocurrencies.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
With KYCNOT.ME, I hope to provide people with trustworthy alternatives
|
||||
for buying, exchanging, trading, and using cryptocurrencies without
|
||||
having to disclose their identity. This preserves the essence of
|
||||
cryptocurrencies, which is decentralized and self-governed.
|
||||
having to disclose their identity, preserving the original essence of
|
||||
cryptocurrencies.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -141,7 +141,7 @@
|
|||
is what they want you to believe.
|
||||
</p>
|
||||
<p>
|
||||
The truth is that KYC is a threat to our freedom. KYC is a direct
|
||||
The truth is that KYC is a direct
|
||||
attack on our privacy and puts us in disadvantage against the
|
||||
governments. True criminals don't care about KYC policies. True
|
||||
criminals know perfectly how to avoid such policies. In fact, they
|
||||
|
@ -167,11 +167,10 @@
|
|||
</p>
|
||||
<p>
|
||||
KYC only affects small individuals like you and me. It is an annoying
|
||||
procedure that obligates us to hand our personal information to a
|
||||
procedure that forces us to hand our personal information to a
|
||||
third party in order to buy, use or unlock our funds. We should start
|
||||
boycotting such companies. We should start using decentralized
|
||||
exchanges and decentralized wallets. We should start using
|
||||
cryptocurrencies as they were intended to be used.
|
||||
boycotting companies that enforce such practices. We should start using
|
||||
cryptocurrencies as they were intended to be used: without barriers.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -187,14 +186,13 @@
|
|||
<div class="m-2 rounded-xl bg-gray-500/10">
|
||||
<h2 id="btcxmr">why only Bitcoin and Monero?</h2>
|
||||
<p>
|
||||
<strong>Bitcoin</strong>: it is the most well-known cryptocurrency. It's
|
||||
widespread and has the biggest market capitalization of all
|
||||
cryptocurrencies.
|
||||
<strong>Bitcoin</strong>: it's the initial spark of the decentralized money.
|
||||
A solid project with a strong community. It is the most well-known and widespread cryptocurrency.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Monero</strong>: if digital cash was to exist, it should be like
|
||||
Monero. Fungible, private by design, fast and pretty low fees. Also, one
|
||||
of the oldest cryptocurrencies around.
|
||||
of the oldest cryptocurrencies around with a very active community.
|
||||
</p>
|
||||
<p>
|
||||
No other currencies will be added. Most sites listed here also accept
|
||||
|
@ -214,7 +212,7 @@
|
|||
<p>
|
||||
The listing process is usually slow. I first need to review the service,
|
||||
read online reviews, gather evidence and history of good reviews /
|
||||
opinions, test it myself (i don't always do this), read the terms of
|
||||
opinions, test it myself (i can't always do this), read the terms of
|
||||
service, privacy policy, etc...
|
||||
</p>
|
||||
|
||||
|
@ -271,10 +269,6 @@
|
|||
identify the kind of KYC practices a service may have. There are 4
|
||||
levels going from 0 to 3. The higher the level, the more invasive the
|
||||
KYC practices are.
|
||||
<b
|
||||
>You can click on the level on the service page to see a detailed
|
||||
description of what it means.</b
|
||||
>
|
||||
</p>
|
||||
|
||||
<h3 id="scoring">scoring</h3>
|
||||
|
@ -287,6 +281,11 @@
|
|||
still get a high score.
|
||||
</p>
|
||||
|
||||
<p>The scoring algorithm is <a target="_blank" href="https://codeberg.org/pluja/kycnot.me/src/branch/main/src/utils/score.go">open source</a>,
|
||||
pull requests to improve it are welcome.
|
||||
It runs once every hour, meaning scores cannot be manually modified since they will be recalculated by the algorithm hourly. You can visit
|
||||
<a href="https://kycnot.me/api/v1/service/localmonero/summary">a service's score breakdown</a> to see how it is calculated.</p>
|
||||
|
||||
<h3 id="order">order</h3>
|
||||
|
||||
<p>
|
||||
|
@ -644,8 +643,8 @@
|
|||
<p>
|
||||
KYCNOT.me does not have trackers and never will. It does not make any
|
||||
third party connections from the frontend. No user data of any kind is
|
||||
collected. A "no-referrer" policy is enforced, so no site will know that
|
||||
you came from kycnot.me.
|
||||
collected. A "no-referrer" policy is enforced. Tor and I2P sites are available
|
||||
(check the footer).
|
||||
</p>
|
||||
|
||||
<h3 id="javascript">javascript</h3>
|
||||
|
@ -658,7 +657,7 @@
|
|||
<p>Only things that <b>require</b> JavaScript to be enabled are:</p>
|
||||
<div class="[&>span]:block space-y-2">
|
||||
<span>
|
||||
<b>Requests</b>: The Proof-Of-Work captcha, that I coded myself, needs
|
||||
<b>Service Requests</b>: The Proof-Of-Work captcha, that I coded myself, needs
|
||||
JavaScript for the verfication. The code is public, and you can read
|
||||
it yourself on the repo.
|
||||
</span>
|
||||
|
@ -734,7 +733,13 @@
|
|||
<div class="m-2 rounded-xl bg-gray-500/10">
|
||||
<h2 id="sponsored-reviews">sponsored reviews</h2>
|
||||
<p>
|
||||
You will find some sponsored service reviews on the <a href="https://blog.kycnot.me">kycnot.me blog</a>. These reviews are kept separate from the list, meaning that a service that sponsors a review will not receive any advantage on the list. The scoring algorithm is <a href="https://codeberg.org/pluja/kycnot.me/src/branch/main/src/utils/score.go">open source</a>, it runs once per hour and cannot be tricked to improve a service's score. You can visit <a href="https://kycnot.me/api/v1/service/localmonero/summary">a service's score breakdown</a> to see how it is calculated. Furthermore, services that are tied score-wise are sorted randomly to ensure fairness.
|
||||
You will find some sponsored service reviews on the <a href="https://blog.kycnot.me">kycnot.me blog</a>.
|
||||
These reviews are kept separate from the list, meaning that a service that sponsors a review will not receive
|
||||
any advantage on the list. The scoring algorithm is
|
||||
<a href="https://codeberg.org/pluja/kycnot.me/src/branch/main/src/utils/score.go">open source</a>,
|
||||
it runs once per hour and cannot be tricked to improve a service's score. You can visit
|
||||
<a href="https://kycnot.me/api/v1/service/localmonero/summary">a service's score breakdown</a>
|
||||
to see how it is calculated. Furthermore, services that are tied score-wise are sorted randomly to ensure fairness.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<meta property="og:description"
|
||||
content="Find the best NON-KYC exchanges and services to use and spend your crypto anonymously." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta http-equiv="onion-location" content="http://kycnotmezdiftahfmc34pqbpicxlnx3jbf5p7jypge7gdvduu7i6qjqd.onion" />
|
||||
<meta http-equiv="onion-location" content="http://kycnotmezdiftahfmc34pqbpicxlnx3jbf5p7jypge7gdvduu7i6qjqd.onion/" />
|
||||
<meta property="og:image" content="https://kycnot.me/static/img/logos/banner.webp" />
|
||||
<meta property="thumbnail" content="https://kycnot.me/static/img/logos/banner.webp">
|
||||
<meta name="twitter:image" content="https://kycnot.me/static/img/logos/banner.webp">
|
||||
|
@ -24,11 +24,15 @@
|
|||
<!-- pubkey so it can be tagged for responses/alerts -->
|
||||
<meta property="nostr:pubkey" content="npub1tuta00sz4wvvzymqcfq42cqhxal6puqpylxs4yf0z28z3ryvfh9qkqmv92" />
|
||||
<!-- Nostr publish relays -->
|
||||
<meta property="nostr:relay" content="wss://relay.damus.io" />
|
||||
<meta property="nostr:relay" content="wss://relay.exit.pub" />
|
||||
<meta property="nostr:relay" content="wss://relay.snort.social" />
|
||||
<meta property="nostr:relay" content="wss://relay.plebstr.com" />
|
||||
<meta property="nostr:relay" content="wss://relay.camelus.app" />
|
||||
<meta property="nostr:relay" content="wss://bitcoiner.social" />
|
||||
<meta property="nostr:relay" content="wss://purplerelay.com" />
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" href="/static/disgus/disgus.css">
|
||||
<link rel="stylesheet" href="/static/css/balloon.min.css">
|
||||
|
||||
<!-- Site Config -->
|
||||
<title>{{.Title}} - KYCnot.me</title>
|
||||
|
|
|
@ -1,32 +1,15 @@
|
|||
{{/* service_card.html */}}
|
||||
<a href="/service/{{.Name}}" class="w-full max-w-md">
|
||||
<div
|
||||
class="flex flex-col justify-between p-4 bg-gray-700 bg-opacity-30 rounded-lg border border-transparent shadow-lg backdrop-blur-md transition duration-500 hover:border-lime-600/70"
|
||||
>
|
||||
<div class="flex flex-col justify-between p-4 bg-gray-700 bg-opacity-30 rounded-lg border border-transparent shadow-lg backdrop-blur-md transition duration-500 hover:border-lime-600/70">
|
||||
<div>
|
||||
<div class="flex items-center">
|
||||
<img
|
||||
src="/api/g/picture/{{.ID}}"
|
||||
alt="{{.Name}} logo"
|
||||
class="mr-4 w-12 h-12 rounded-full bg-white/10"
|
||||
/>
|
||||
<img src="/api/g/picture/{{.ID}}" alt="{{.Name}} logo" class="mr-4 w-12 h-12 rounded-full bg-white/10" />
|
||||
<div class="flex flex-col justify-center items-center">
|
||||
<div class="text-lg font-bold text-white md:text-xl">
|
||||
<div class="flex justify-between items-center">
|
||||
<span class="flex justify-center items-center capitalize">
|
||||
{{if .Verified}}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="mr-1 w-5 h-5 text-blue-400/80 discount-check-filled"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="mr-1 w-5 h-5 text-blue-400/80 discount-check-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path
|
||||
d="M12.01 2.011a3.2 3.2 0 0 1 2.113 .797l.154 .145l.698 .698a1.2 1.2 0 0 0 .71 .341l.135 .008h1a3.2 3.2 0 0 1 3.195 3.018l.005 .182v1c0 .27 .092 .533 .258 .743l.09 .1l.697 .698a3.2 3.2 0 0 1 .147 4.382l-.145 .154l-.698 .698a1.2 1.2 0 0 0 -.341 .71l-.008 .135v1a3.2 3.2 0 0 1 -3.018 3.195l-.182 .005h-1a1.2 1.2 0 0 0 -.743 .258l-.1 .09l-.698 .697a3.2 3.2 0 0 1 -4.382 .147l-.154 -.145l-.698 -.698a1.2 1.2 0 0 0 -.71 -.341l-.135 -.008h-1a3.2 3.2 0 0 1 -3.195 -3.018l-.005 -.182v-1a1.2 1.2 0 0 0 -.258 -.743l-.09 -.1l-.697 -.698a3.2 3.2 0 0 1 -.147 -4.382l.145 -.154l.698 -.698a1.2 1.2 0 0 0 .341 -.71l.008 -.135v-1l.005 -.182a3.2 3.2 0 0 1 3.013 -3.013l.182 -.005h1a1.2 1.2 0 0 0 .743 -.258l.1 -.09l.698 -.697a3.2 3.2 0 0 1 2.269 -.944zm3.697 7.282a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z"
|
||||
|
@ -38,11 +21,7 @@
|
|||
</span>
|
||||
|
||||
{{if isNew .Created}}
|
||||
<span
|
||||
class="px-1 py-1 text-xs font-bold uppercase rounded border border-white/30 bg-white/20 text-white/70"
|
||||
>
|
||||
NEW
|
||||
</span>
|
||||
<span class="px-1 py-1 text-xs font-bold uppercase rounded border border-white/30 bg-white/20 text-white/70"> NEW </span>
|
||||
{{end}}
|
||||
<span
|
||||
class="px-2 py-1 text-xs font-bold uppercase border rounded
|
||||
|
@ -66,10 +45,7 @@
|
|||
{{.Score}}
|
||||
</span>
|
||||
</div>
|
||||
<span
|
||||
class="block pr-1 mt-2 text-xs font-normal text-opacity-60 text-white/60"
|
||||
>{{shortText .Description | safe}}</span
|
||||
>
|
||||
<span class="block pr-1 mt-2 text-xs font-normal text-opacity-60 text-white/60">{{shortText .Description | safe}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -77,17 +53,9 @@
|
|||
<div class="mt-4">
|
||||
<div class="flex justify-center items-center text-xs">
|
||||
{{if eq .Type "exchange"}}
|
||||
<span
|
||||
class="px-2 py-1 mr-1 text-xs font-bold uppercase rounded border text-white/70 bg-zinc-900 border-zinc-700"
|
||||
>
|
||||
{{.Type}}
|
||||
</span>
|
||||
<span class="px-2 py-1 mr-1 text-xs font-bold uppercase rounded border text-white/70 bg-zinc-900 border-zinc-700"> {{.Type}} </span>
|
||||
{{else}}
|
||||
<span
|
||||
class="px-2 py-1 mr-1 text-xs font-bold uppercase rounded border text-white/70 bg-zinc-900 border-zinc-700"
|
||||
>
|
||||
{{.Category}}
|
||||
</span>
|
||||
<span class="px-2 py-1 mr-1 text-xs font-bold uppercase rounded border text-white/70 bg-zinc-900 border-zinc-700"> {{.Category}} </span>
|
||||
{{end}} {{partial "partials/service_icons" .}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="grid grid-cols-5">
|
||||
|
||||
<!-- Monero -->
|
||||
<span class="px-2 py-1 m-1 text-center text-white border rounded bg-zinc-900 border-zinc-700">
|
||||
<span aria-label="XMR" data-balloon-pos="up" class="px-2 py-1 m-1 text-center text-white rounded border bg-zinc-900 border-zinc-700">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 {{if .Xmr}}text-orange-400/70{{else}} text-white/20 {{end}} tabler-coin-monero" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
|
||||
|
@ -10,7 +10,7 @@
|
|||
</span>
|
||||
|
||||
<!-- Bitcoin -->
|
||||
<span class="px-2 py-1 m-1 text-center text-white border rounded bg-zinc-900 border-zinc-700">
|
||||
<span aria-label="BTC" data-balloon-pos="up" class="px-2 py-1 m-1 text-center text-white rounded border bg-zinc-900 border-zinc-700">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 {{if .Btc}} text-amber-400/70 {{else}} text-white/20 {{end}} coin-bitcoin" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
|
||||
|
@ -23,7 +23,7 @@
|
|||
</span>
|
||||
|
||||
<!-- Lightning -->
|
||||
<span class="px-2 py-1 m-1 text-center text-white border rounded bg-zinc-900 border-zinc-700">
|
||||
<span aria-label="LN" data-balloon-pos="up" class="px-2 py-1 m-1 text-center text-white rounded border bg-zinc-900 border-zinc-700">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 {{if .Lightning}} text-sky-400/70 {{else}} text-white/20 {{end}} bolt" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11"></path>
|
||||
|
@ -31,7 +31,7 @@
|
|||
</span>
|
||||
|
||||
<!-- Cash -->
|
||||
<span class="px-2 py-1 m-1 text-center text-white border rounded bg-zinc-900 border-zinc-700">
|
||||
<span aria-label="CASH" data-balloon-pos="up" class="px-2 py-1 m-1 text-center text-white rounded border bg-zinc-900 border-zinc-700">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 {{if .Cash}} text-yellow-300/70 {{else}} text-white/20 {{end}}" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M9 14c0 1.657 2.686 3 6 3s6 -1.343 6 -3s-2.686 -3 -6 -3s-6 1.343 -6 3z"></path>
|
||||
|
@ -43,7 +43,7 @@
|
|||
</span>
|
||||
|
||||
<!-- Fiat -->
|
||||
<span class="px-2 py-1 m-1 text-center text-white border rounded bg-zinc-900 border-zinc-700">
|
||||
<span aria-label="FIAT" data-balloon-pos="up" class="px-2 py-1 m-1 text-center text-white rounded border bg-zinc-900 border-zinc-700">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 {{if .Fiat}}text-green-400/70{{else}} text-white/20 {{end}} building-bank" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M3 21l18 0"></path>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<span class="flex justify-center items-center capitalize">
|
||||
<span class="text-xl font-bold md:text-2xl">{{.Service.Name}}</span>
|
||||
{{if .Service.Verified}}
|
||||
<a href="/about#verified">
|
||||
<a aria-label="Verified" data-balloon-pos="up" href="/about#verification">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 ml-1 {{if .Service.Verified}}text-blue-400/80{{else}} text-white/20 {{end}} discount-check-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path
|
||||
|
@ -61,8 +61,8 @@
|
|||
</a>
|
||||
|
||||
{{if ne .Service.Referral ""}}
|
||||
<a href="{{randomElem .Service.Urls}}" class="flex justify-center items-center px-2 py-1 text-center text-gray-300 rounded-r border border-gray-600 transition duration-300 bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-5 link-off" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<a aria-label="No Referral" data-balloon-pos="up" href="{{randomElem .Service.Urls}}" class="flex justify-center items-center px-1 py-1 text-center text-gray-300 rounded-r border border-gray-600 transition duration-300 md:px-2 bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-4 link-off" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M9 15l3 -3m2 -2l1 -1" />
|
||||
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
||||
|
@ -94,8 +94,8 @@
|
|||
{{end}}
|
||||
|
||||
{{if ne .Service.Referral ""}}
|
||||
<a href="{{randomElem .Service.OnionUrls}}" class="flex justify-center items-center px-2 py-1 text-center text-purple-600 rounded-r border border-purple-900 transition duration-300 bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-5 link-off" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<a aria-label="No Referral" data-balloon-pos="up" href="{{randomElem .Service.OnionUrls}}" class="flex justify-center items-center px-1 py-1 text-center text-purple-600 rounded-r border border-purple-900 transition duration-300 md:px-2 bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="size-4 link-off" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M9 15l3 -3m2 -2l1 -1" />
|
||||
<path d="M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464" />
|
||||
|
@ -124,7 +124,7 @@
|
|||
</a>
|
||||
{{end}}
|
||||
|
||||
<a href="#discuss" class="hidden justify-center items-center px-2 py-1 m-1 space-x-2 text-center text-sky-400 rounded border border-sky-700 transition duration-300 md:flex bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<a aria-label="Discuss service" data-balloon-pos="up" href="#discuss" class="hidden justify-center items-center px-2 py-1 m-1 space-x-2 text-center text-sky-400 rounded border border-sky-700 transition duration-300 md:flex bg-zinc-900 hover:border-lime-600 hover:text-lime-600">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 messages" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M21 14l-3 -3h-7a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1h9a1 1 0 0 1 1 1v10"></path>
|
||||
|
|
Loading…
Reference in New Issue