diff --git a/public/img/user-logos/datum.svg b/public/img/user-logos/datum.svg new file mode 100644 index 00000000..e2ec5587 --- /dev/null +++ b/public/img/user-logos/datum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/user-logos/fedimint.png b/public/img/user-logos/fedimint.png new file mode 100644 index 00000000..53c7c75d Binary files /dev/null and b/public/img/user-logos/fedimint.png differ diff --git a/public/img/user-logos/rayfish.png b/public/img/user-logos/rayfish.png new file mode 100644 index 00000000..ddc0b02e Binary files /dev/null and b/public/img/user-logos/rayfish.png differ diff --git a/src/app/page.jsx b/src/app/page.jsx index 18c3e1d6..a8a14065 100644 --- a/src/app/page.jsx +++ b/src/app/page.jsx @@ -20,6 +20,7 @@ import logoSwift from '@/images/language-logos/swift.svg'; import logoJavascript from '@/images/language-logos/node.svg'; import logoKotlin from '@/images/language-logos/kotlin.svg'; import logoPython from '@/images/language-logos/python.svg'; +import logoGo from '@/images/language-logos/go.svg'; import { CodeBlockTabs } from '@/components/CodeBlockTabs'; export const metadata = { @@ -34,6 +35,7 @@ const languages = [ { name: 'JavaScript', logo: logoJavascript, href: 'https://docs.iroh.computer/languages/javascript' }, { name: 'Kotlin', logo: logoKotlin, href: 'https://docs.iroh.computer/languages/kotlin' }, { name: 'Python', logo: logoPython, href: 'https://docs.iroh.computer/languages/python' }, + { name: 'Go', logo: logoGo, href: 'https://docs.iroh.computer/languages/go' }, ]; const platforms = [ @@ -177,6 +179,12 @@ export default function Page() {
Remote Access
+Embed direct, encrypted connections right in your app and create tunnels for remote access instead of third-party VPNs.
+Distributed AI Training
@@ -275,6 +283,7 @@ export default function Page() { { logo: logoJavascript, name: 'JavaScript' }, { logo: logoKotlin, name: 'Kotlin' }, { logo: logoPython, name: 'Python' }, + { logo: logoGo, name: 'Go' }, ].map(({ logo, name }) => (Use Case: Networking
++ Teams are replacing Tailscale, WireGuard, and reverse SSH tunnels with iroh—dial + a device's public key and get a direct, encrypted connection. No coordination + server to run, no ports to open, no third-party app to install. +
+Why iroh
+| + | iroh | +Tailscale / WireGuard | +
|---|---|---|
| {row.feature} | ++ | + |
+ Iroh connects your app's own devices directly—it's not a general-purpose + replacement for joining a whole network of unrelated machines. +
++ Reaching a device that isn't sitting on the public internet usually means standing up + a VPN: a coordination server to run and secure, client software to distribute, and firewall + rules to get right. Or it means reverse SSH tunnels and all the operational shenanigans + that come with them. +
++ “It's Tailscale, but as a library. Instead of standing up VPN + infrastructure—coordination servers, client software, all the network + shenanigans—we dial a device's public key directly from inside our own app + and get a direct, encrypted connection.” +
++ But what if your app could just dial the other device directly—no separate network + to join, no client to install, no infrastructure to babysit? +
++ Every iroh node has a public key as its address. To reach a device, you dial that key + directly from inside your own application—there's no separate VPN client for + your users to install, and no central network your traffic has to join. +
++ Every node has a cryptographic identity. Connect to a device by its public key, wherever it is. +
++ Iroh punches through NATs and firewalls automatically to connect devices directly. +
++ Every connection is end-to-end encrypted, so your platform can't see or modify traffic between devices. +
++ Iroh ships inside your app, so the connection is just part of your product—not a separate piece of software your users manage. +
+Built With Iroh
+{project.description}
+ + ))} ++ Get started with iroh in minutes. No complex configuration required. +
+