Skip to content

Commit 73b5033

Browse files
committed
Improved documentation
1 parent 629b683 commit 73b5033

2 files changed

Lines changed: 34 additions & 8 deletions

File tree

P2P-TOOLKIT.MD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The p2p Toolkit consists of the following tools:
3131
The work modifies the message flow of TLS such that it can negotiate the
3232
desired independency; it also works together with classic implementations
3333
of TLS that insist on either the client or server role. Symmetric TLS is
34-
implemented in GnuTLS.
34+
[implemented in GnuTLS](https://github.com/arpa2/gnutls-symmetry).
3535

3636

3737
## Acknowledgements

README renamed to README.MD

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,35 @@
1-
README for synergy()
2-
====================
1+
# README for SocketSynergy
2+
3+
> *SocketSynergy helps to connect peers behind firewalls. It is a generic
4+
> solution to a problem that most peer-to-peer applications run into.*
35
46
From: Rick van Rein <rick@openfortress.nl>
57

68

7-
Quickstart demo
8-
---------------
9+
## Purpose
10+
11+
The intention of SocketSynergy is to allow peers to connect in spite of
12+
*both* being behind a firewall. This is traditionally considered
13+
impossible, because always one of the firewalls blocks. That is a problem
14+
for peer-to-peer applications, but SocketSynergy makes it possible. And
15+
easy, all it takes is another call `synergy()` on top of the general
16+
Socket API.
17+
18+
The assumptions made by SocketSynergy are
19+
20+
* transparent addressing
21+
* firewalls following the general
22+
[BEHAVE WG](https://datatracker.ietf.org/wg/behave/charter/)
23+
specifications
24+
25+
Specifically note: There is no support for Network Address Translation.
26+
If we want the network to function, we should rely on IPv6. Do have a look
27+
at the other elements in the
28+
[P2P Toolkit](P2P-TOOLKIT.MD)
29+
to learn how reasonable this assumption is.
30+
31+
32+
## Quickstart demo
933

1034
Following is a quick intro showing how to use the synergy() library
1135
call and, perhaps one day, syscall.
@@ -34,7 +58,9 @@ standard tool like netcat6::
3458

3559
It is also possible to do the same things based on UDP. Just give a
3660
first argument ``udp`` to ``listendemo`` and add a ``-u`` option
37-
to the ``nc6`` commandline. Of course, with UDP there are no sharp
61+
to the ``nc6`` commandline. Likewise, SCTP is possible.
62+
63+
Of course, with UDP there are no sharp
3864
boundaries to the start and end of a session. The trick used to
3965
open the port is sending out a UDP packet that, once again, drops
4066
as soon as it has crossed the last firewall protecting this domain.
@@ -46,8 +72,8 @@ remote firewalls might receive it and respond with RST, causing
4672
the incoming firewalls to close the just-punched hole).
4773

4874

49-
Code reference
50-
--------------
75+
## Code reference
5176

5277
This code was written based on RFC 2292, "Advanced Sockets API for
5378
IPv6", by W. Stevens and M. Thomas.
79+

0 commit comments

Comments
 (0)