Skip to content

Commit 663f7c1

Browse files
authored
Merge pull request #1 from n0-computer/flub/fixes
Various wording fixes
2 parents 6385b60 + ad9435e commit 663f7c1

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed

src/app/page.tsx

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -11,59 +11,59 @@ import { Button } from '@/components/Button'
1111

1212
export default function Home() {
1313
return (
14-
<Layout>
15-
<Article id="connect" date="">
16-
<h2>Connect A to B. Send Data.</h2>
17-
<p>In 2023 It&apos;s hard to connect two devices directly. Dumb pipe punches through NATs, using on-the-fly node identifiers, and keeps your machines connected even as network conditions change.</p>
18-
<p>What you actually <i className='italic'>do</i> with that connection is up to you. </p>
19-
</Article>
20-
<Article id="download" date="">
21-
<h2>A unix pipe between computers</h2>
22-
<Code language='bash'>$ curl https://dumbpipe.dev/install.sh | sh</Code>
23-
<p>get <span className='font-mono'>dumbpipe</span> with a single command on two computers, connect them & pipe data from one machine to the other. No accounts. No configuration.</p>
24-
<h2>Receiver</h2>
25-
<Code language='bash'>{`
14+
<Layout>
15+
<Article id="connect" date="">
16+
<h2>Connect A to B. Send Data.</h2>
17+
<p>In 2023 it&apos;s hard to connect two devices directly. Dumb pipe punches through NATs, using on-the-fly node identifiers. It even keeps your machines connected as network conditions change.</p>
18+
<p>What you actually <i className='italic'>do</i> with that connection is up to you. </p>
19+
</Article>
20+
<Article id="download" date="">
21+
<h2>A unix pipe between computers</h2>
22+
<Code language='bash'>$ curl https://dumbpipe.dev/install.sh | sh</Code>
23+
<p>get <span className='font-mono'>dumbpipe</span> with a single command on two computers, connect them & pipe data from one machine to the other. No accounts. No configuration.</p>
24+
<h2>Receiver</h2>
25+
<Code language='bash'>{`
2626
$ dumbpipe listen
2727
using secret key 23ryys7pgvjrr57pcrvyivdrhvqyykg2tv3leou5grm66xfd7zzq
2828
Listening. To connect, use:
2929
dumbpipe connect nodeecsxraxjtqtneathgplh6d5nb2rsnxpfulmkec2rvhwv3hh6m4rdgaibamaeqwjaegplgayaycueiom6wmbqcjqaibavg5hiaaaaaaaaaaabaau7wmbq
30-
`}
31-
</Code>
32-
<h2>Sender</h2>
33-
<Code language='bash'>{`
30+
`}
31+
</Code>
32+
<h2>Sender</h2>
33+
<Code language='bash'>{`
3434
echo "hello" | dumbpipe connect nodeecsxraxjtqtneathgplh6d5nb2rsnxpfulmkec2rvhwv3hh6m4rdgaibamaeqwjaegplgayaycueiom6wmbqcjqaibavg5hiaaaaaaaaaaabaau7wmbq
35-
`}</Code>
36-
<p>This will work, regardless of where the two machines are. Dumb pipe finds a way.</p>
37-
</Article>
38-
<Article id="iroh" date="">
39-
<Img src="/images/node_connections.png" alt="hero" width={1600} height={900} />
40-
<h2>Put a dumb pipe in your app</h2>
41-
<p>Dumb pipes are Iroh Connections. The <span className='font-mono'>dumbpipe</span> tool is a <a href="https://github.com/n0-computer/dumbpipe/blob/main/src/main.rs">200-line wrapper</a> around the <a href="https://crates.io/crates/iroh-net" className='font-mono'>iroh-net</a> rust crate. You can use the iroh connection layer as a dumb pipe in your own app.</p>
42-
<Link className='block mt-6' href="https://iroh.computer/docs/connections">
43-
<Button>Iroh Connection Docs</Button>
44-
</Link>
45-
</Article>
46-
<Article id="" date="">
47-
<Img src="/images/connect_2_computers.png" width={1600} height={900} />
48-
<h2>QUIC &amp; Dumb</h2>
49-
<p>These dumb pipes use QUIC over a magic socket. It may be dumb, but it is still encrypted, and sent over UDP. You can register multiple different handlers with distinct QUIC ALPNs to separate concerns using substreams.</p>
50-
</Article>
51-
<Article id="relay" date="">
52-
<h2>Sometimes you gotta relay</h2>
53-
<p>For somewhere around 10-20% of connections, it&apos;s simply not possible to connect two devices directly. For those cases, we use a meshed network of relay nodes to pack up UDP traffic & send it over HTTP. Sounds silly, but it works.</p>
54-
<Link className='block mt-6' href="https://iroh.computer/docs/connections">
55-
<Button>relay docs</Button>
56-
</Link>
57-
</Article>
58-
<Article id="premium-relays" date="">
59-
<h2>Coming soon: Premium relays</h2>
60-
<p><Link href="https://iroh.network">iroh.network</Link> the team behind number zero runs the default relay network, which has a capped bandwidth. High-throughput, authenticated relays are coming to iroh.network in the future.</p>
61-
</Article>
62-
<Article id="need-more" date="">
63-
<h2>Need more?</h2>
64-
<p>Need pubsub? Data transfer? Sync? All of these are opt-in-able addons from <Link href="https://iroh.computer/docs/layers">iroh</Link>. But if you add these things, the pipe is no longer dumb. You decide how to feel about that.</p>
65-
</Article>
66-
</Layout>
35+
`}</Code>
36+
<p>This will work, regardless of where the two machines are. Dumb pipe finds a way.</p>
37+
</Article>
38+
<Article id="iroh" date="">
39+
<Img src="/images/node_connections.png" alt="hero" width={1600} height={900} />
40+
<h2>Put a dumb pipe in your app</h2>
41+
<p>Dumb pipes are Iroh Connections. The <span className='font-mono'>dumbpipe</span> tool is a <a href="https://github.com/n0-computer/dumbpipe/blob/main/src/main.rs">200-line wrapper</a> around the <a href="https://crates.io/crates/iroh-net" className='font-mono'>iroh-net</a> rust crate. You can use the iroh connection layer as a dumb pipe in your own app.</p>
42+
<Link className='block mt-6' href="https://iroh.computer/docs/connections">
43+
<Button>Iroh Connection Docs</Button>
44+
</Link>
45+
</Article>
46+
<Article id="" date="">
47+
<Img src="/images/connect_2_computers.png" width={1600} height={900} />
48+
<h2>QUIC &amp; Dumb</h2>
49+
<p>These dumb pipes use QUIC over a magic socket. It may be dumb, but it still has all the features of a full QUIC connection: UDP-based, stream-multiplexing and encrypted. Besides using the multiplexed streams you can also use multiple connections each with their own ALPN.</p>
50+
</Article>
51+
<Article id="relay" date="">
52+
<h2>Sometimes you gotta relay</h2>
53+
<p>For somewhere around 10-20% of connections, it&apos;s simply not possible to connect two devices directly. For those cases, we use a meshed network of relay nodes to pack up UDP traffic & send it over HTTP. Sounds silly, but it works. And the magic socket handles all this under the hood.</p>
54+
<Link className='block mt-6' href="https://iroh.computer/docs/connections">
55+
<Button>relay docs</Button>
56+
</Link>
57+
</Article>
58+
<Article id="premium-relays" date="">
59+
<h2>Coming soon: Premium relays</h2>
60+
<p>The team behind number0 runs the default relay network, which has a capped bandwidth. High-throughput, authenticated relays are coming to <Link href="https://iroh.network">iroh.network</Link> in the future.</p>
61+
</Article>
62+
<Article id="need-more" date="">
63+
<h2>Need more?</h2>
64+
<p>Need pubsub? Data transfer? Sync? All of these are opt-in addons from <Link href="https://iroh.computer/docs/layers">iroh</Link>. But if you add these things, the pipe is no longer dumb. You decide how to feel about that.</p>
65+
</Article>
66+
</Layout>
6767
)
6868
}
6969

@@ -299,4 +299,4 @@ fn parse_secret(secret: &str) -> anyhow::Result<SecretKey> {
299299
let bytes: [u8; 32] = base32::parse_array(secret)?;
300300
let key = SecretKey::from(bytes);
301301
Ok(key)
302-
}`
302+
}`

0 commit comments

Comments
 (0)