summaryrefslogtreecommitdiff
path: root/src/lib/components/Services.svelte
blob: 8a1f1b8ee97255a31c1eaba38aa358a74a9a1387 (plain) (blame)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<script lang="ts">
  import ServiceCard from "./ServiceCard.svelte";
  import SectionTitle from "./SectionTitle.svelte";

  const services: App.ServiceItem[] = [
    {
      icon: "iconify-[carbon--server-dns]",
      name: "DNS",
      description:
        "recursive DNS resolver (Knot Resolver + DNS-over-HTTPS). you can use `152.53.86.159` or `2a0a:4cc0:c0:2991::10` for plain DNS and DNS over TLS, and `https://dns.toufy.me` for DNS over HTTPS.",
      source: "https://git.toufy.me/servers/tree/aphrodite/dns/default.nix",
      url: "https://dns.toufy.me",
      references: [
        { name: "Knot Resolver", url: "https://www.knot-resolver.cz" },
        {
          name: "DNS-over-HTTPS",
          url: "https://github.com/m13253/dns-over-https",
        },
      ],
    },
    {
      icon: "iconify-[fa7-brands--tor-browser]",
      name: "TOR",
      description:
        "a TOR relay node and an embedded Snowflake. open this page and keep the tab running in the background to spin up your own Snowflake instance",
      source: "https://git.toufy.me/servers/tree/adonis/tor",
      url: "https://tor.toufy.me",
      references: [
        { name: "TOR project", url: "https://torproject.org" },
        { name: "Snowflake", url: "https://snowflake.torproject.org" },
      ],
    },
    {
      icon: "iconify-[fa7-brands--arch-linux]",
      name: "AUR",
      description:
        "weekly builds of AUR packages (mostly for development) that i use, but if someone requests a package i might add it",
      source: "https://git.toufy.me/taur",
      url: "https://aur.toufy.me",
      references: [{ name: "AUR", url: "https://aur.archlinux.org" }],
    },
    {
      icon: "iconify-[fa7-solid--wifi]",
      name: "captive portal",
      description:
        "a telemetry-free captive portal check as an alternative to android's default 'connectivitycheck.gstatic.com' by google",
      source:
        "https://git.toufy.me/servers/tree/adonis/captiveportal/default.nix",
      url: "https://cpc.toufy.me",
      references: [
        {
          name: "captive portal detection",
          url: "https://developer.android.com/about/versions/11/features/captive-portal#detection",
        },
      ],
    },
    {
      icon: "iconify-[fa7-solid--bell]",
      name: "push notifications",
      description:
        "ntfy server, you can use this for push notifications using UnifiedPush",
      source: "https://git.toufy.me/servers/tree/adonis/push/default.nix",
      url: "https://push.toufy.me",
      references: [
        {
          name: "ntfy",
          url: "https://ntfy.sh",
        },
        {
          name: "UnifiedPush",
          url: "https://unifiedpush.org",
        },
      ],
    },
    {
      icon: "iconify-[arcticons--molly]",
      name: "MollySocket",
      description: "get Signal notifications via UnifiedPush with Molly",
      source: "https://git.toufy.me/servers/tree/adonis/push/default.nix",
      url: "https://mollysocket.push.toufy.me",
      references: [
        {
          name: "Signal",
          url: "https://signal.org",
        },
        {
          name: "Molly",
          url: "https://molly.im",
        },
        {
          name: "MollySocket",
          url: "https://github.com/mollyim/mollysocket",
        },
      ],
    },
  ];
</script>

<SectionTitle title="public service">
  a list of my public services;<br />
  everything you can access/use is free (as in free speech and free beer)
</SectionTitle>
<div class="flex place-content-center place-items-center w-full">
  <div class="grid grid-cols-1 md:grid-cols-3 w-fit">
    {#each services as service}
      <ServiceCard {service} />
    {/each}
  </div>
</div>