Fix some markdown in README.md.
Markdown breakage 1: The internet led me to believe this is how you did a <dl> in markdown. Apparently it wasn't. Markdown breakage 2: I forgot how lists work! Also, add a paragraph about stuff you can try.
This commit is contained in:
parent
1491870db6
commit
18ceb69453
74
README.md
74
README.md
|
@ -10,36 +10,49 @@ also short for "artifact". It has nothing to do with the
|
||||||
## What's here and what isn't.
|
## What's here and what isn't.
|
||||||
|
|
||||||
So far the code has untested or under-tested implementations of:
|
So far the code has untested or under-tested implementations of:
|
||||||
* the ntor protocol
|
|
||||||
* the relay crypto algorithm
|
* the ntor protocol
|
||||||
* parsing and encoding all the cell types (except for hs-related
|
* the relay crypto algorithm
|
||||||
|
* parsing and encoding all the cell types (except for hs-related
|
||||||
ones)
|
ones)
|
||||||
* parsing and validating ed25519 certificates
|
* parsing and validating ed25519 certificates
|
||||||
* parsing and validating router descriptors
|
* parsing and validating router descriptors
|
||||||
|
|
||||||
Before I share it, I think it needs more work on:
|
Before I share it, I think it needs more work on:
|
||||||
* parsing the other kinds of network documents
|
|
||||||
* link authentication
|
* parsing the other kinds of network documents
|
||||||
* a sensible api for cell types
|
* link authentication
|
||||||
* a toy client that builds a circuit through the network
|
* a sensible api for cell types
|
||||||
|
* a toy client that builds a circuit through the network
|
||||||
and uses it to exit.
|
and uses it to exit.
|
||||||
|
|
||||||
There is no support yet for:
|
There is no support yet for:
|
||||||
* Actually connecting to the network in a reasonable way
|
|
||||||
* choosing paths through the network in a reasonable way
|
* Actually connecting to the network in a reasonable way
|
||||||
* doing anything with the network in a reasonable way
|
* choosing paths through the network in a reasonable way
|
||||||
* actually building circuits
|
* doing anything with the network in a reasonable way
|
||||||
* creating network documents
|
* actually building circuits
|
||||||
* v2 onion service anything
|
* creating network documents
|
||||||
* v3 onion service anything
|
* v2 onion service anything
|
||||||
* the directory protocol
|
* v3 onion service anything
|
||||||
* lots of optimizations that Tor does
|
* the directory protocol
|
||||||
* working with no_std
|
* lots of optimizations that Tor does
|
||||||
|
* working with no_std
|
||||||
|
|
||||||
I do not plan to implement full versions of any of those before I
|
I do not plan to implement full versions of any of those before I
|
||||||
share this code for more comment, though I might do a little. Who
|
share this code for more comment, though I might do a little. Who
|
||||||
knows?
|
knows?
|
||||||
|
|
||||||
|
## What can I do?
|
||||||
|
|
||||||
|
You can build this all with `cargo build`.
|
||||||
|
|
||||||
|
You can run the tests, such as they are, with `cargo test`.
|
||||||
|
|
||||||
|
You can make documentation with `cargo doc`. I prefer
|
||||||
|
`cargo doc --no-deps --document-private-items`, to include documentation for
|
||||||
|
private members but not for dependencies.
|
||||||
|
|
||||||
## Caveat haxxor: what to watch out for
|
## Caveat haxxor: what to watch out for
|
||||||
|
|
||||||
This is a work in progress. It doesn't "do Tor" yet, and what parts
|
This is a work in progress. It doesn't "do Tor" yet, and what parts
|
||||||
|
@ -72,33 +85,26 @@ lot by the time we're done.
|
||||||
|
|
||||||
The current crates are:
|
The current crates are:
|
||||||
|
|
||||||
caret
|
`caret`: A utility for generating enumerations with helpful trait
|
||||||
: A utility for generating enumerations with helpful trait
|
|
||||||
implementations
|
implementations
|
||||||
|
|
||||||
tor-llcrypto
|
`tor-llcrypto`: Wrappers and re-imports of cryptographic code that Tor needs in
|
||||||
: Wrappers and re-imports of cryptographic code that Tor needs in
|
|
||||||
various ways. Other crates should use this crate, and not actually
|
various ways. Other crates should use this crate, and not actually
|
||||||
use any crypto crates directly
|
use any crypto crates directly
|
||||||
|
|
||||||
tor-bytes
|
`tor-bytes`: Byte-by-byte encoder and decoder functions and traits. We use
|
||||||
: Byte-by-byte encoder and decoder functions and traits. We use
|
|
||||||
this to safely parse cells, certs, and other byte-oriented things.
|
this to safely parse cells, certs, and other byte-oriented things.
|
||||||
|
|
||||||
tor-cert
|
`tor-cert`: Decoding and checking signatures on Tor's ed25519 certificates.
|
||||||
: Decoding and checking signatures on Tor's ed25519 certificates.
|
|
||||||
|
|
||||||
tor-protover
|
`tor-protover`: Minimal implementation of the Tor subprotocol verisoning
|
||||||
: Minimal implementation of the Tor subprotocol verisoning system.
|
system. Less complete than the one in Tor's current src/rust, but more
|
||||||
Less complete than the one in Tor's current src/rust, but more
|
|
||||||
simple.
|
simple.
|
||||||
|
|
||||||
tor-netdoc
|
`tor-netdoc`: Parsing for Tor's network documents. Currently only handles
|
||||||
: Parsing for Tor's network documents. Currently only handles
|
|
||||||
routerdescs. Underdocumented and too big. needs splitting.
|
routerdescs. Underdocumented and too big. needs splitting.
|
||||||
|
|
||||||
tor-proto
|
`tor-proto`: Functions to work with cell types, handshakes, and other aspects
|
||||||
: Functions to work with cell types, handshakes, and other aspects
|
|
||||||
of the Tor protocol. Underdocumented, too big, needs
|
of the Tor protocol. Underdocumented, too big, needs
|
||||||
refactoring.
|
refactoring.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue