[tor-commits] [bridgedb/master] Add documentation on current bridge descriptor formats.

isis at torproject.org isis at torproject.org
Sun Jan 12 06:06:30 UTC 2014


commit d880b0aa5d3a9fd6598dcd482736af6f834562f6
Author: Isis Lovecruft <isis at torproject.org>
Date:   Sat Oct 26 08:57:01 2013 +0000

    Add documentation on current bridge descriptor formats.
    
    These aren't sanitised -- they are completely faked. There has been so much
    confusion over what these things look like...I really just want something that
    I can point to. I (or anyone else) should update the metrics dataformat pages,
    as well as perhaps provide better clarification in tor-spec.git for the lines
    whose format is unclear.
    
     * ADD docs/DESCRIPTORS.md.
---
 doc/DESCRIPTORS.md |  190 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 190 insertions(+)

diff --git a/doc/DESCRIPTORS.md b/doc/DESCRIPTORS.md
new file mode 100644
index 0000000..087d4e0
--- /dev/null
+++ b/doc/DESCRIPTORS.md
@@ -0,0 +1,190 @@
+-*- mode: markdown ; coding: utf-8 -*-
+
+# DESCRIPTORS
+
+## Bridge router descriptors
+
+As of tor-0.2.3.35, bridge router descriptors (found in the
+`bridge-descriptors` file), contain the 'opt ' prefix before certain
+fields. They look like this:
+
+    @purpose bridge
+    router Unnamed 10.0.1.113 9001 0 0
+    platform Tor 0.2.3.25 on Linux
+    opt protocols Link 1 2 Circuit 1
+    published 2013-10-22 02:34:48
+    opt fingerprint D4BB C339 2560 1B7F 226E 133B A85F 72AF E734 0B29
+    uptime 938148
+    bandwidth 25200 49200 44033
+    opt extra-info-digest 3ABD120FCA67B18D48C8C8725B75EC7387A82C17
+    onion-key
+    -----BEGIN RSA PUBLIC KEY-----
+    MIGJAoGBAL1bKPn8DUH5+EcnbSrdaIp2XU1gwJxCPTLdw4wDGNHT91a3liT/u8en
+    FJYWIjc0g62hhZqJdkJkzxZypBoPUhMdF+wSKDVvNFBHRPPdJftrKTBuXEDg9ho1
+    Ku5hGXpeWA9/ZVlZylI1EC0wMU/VYVF98v51TkURUiCoAX69IumZAgM8AAE=
+    -----END RSA PUBLIC KEY-----
+    signing-key
+    -----BEGIN RSA PUBLIC KEY-----
+    MIGJAoGBAOUKKy1AqC5GyVNOUFDsBjQ6bYS+8yVIqgDo0g0yzN+arrEkPRs1xqUk
+    xWuk1IhwUIpZN3F6rwuzWbCFMkRW4TA4Zih55SRdAY1z9sLq5Fog+1dJtMiXlP5+
+    JCqIA44vfMUwpXG9DzgdTG4//UoJ0gKL62whVizcM9y/o4vyY0EFAgMBAAE=
+    -----END RSA PUBLIC KEY-----
+    opt hidden-service-dir
+    reject *:*
+    router-signature
+    -----BEGIN SIGNATURE-----
+    rd981ZHtDmF1wiw37lpOh2PrBRunD5wb+WaYpZsKSwDv3hQFOTUwROQvUJY26wYH
+    QT+02oM24yEfGXrs0uwWg4ycnmmskurrJKpNDPSJynYHKy82mxTNNE66Jr3FqytC
+    VXAN4HoclQiNWdgZF3kAdCXW+8YR/rqyYtSOaLFOxgs=
+    -----END SIGNATURE-----
+
+As of tor-0.2.4.15, bridge router descriptors may be missig the 'opt ' prefix,
+and thus appear like this:
+
+    @purpose bridge
+    router Unnamed 10.0.1.171 9001 0 0
+    platform Tor 0.2.4.17-rc on Linux
+    protocols Link 1 2 Circuit 1
+    published 2013-10-22 02:34:55
+    fingerprint 6CE8 83D8 75E0 7996 7732 29E8 CA67 7A62 2B7F 05EF
+    uptime 386679
+    bandwidth 1073741824 1073741824 55832
+    extra-info-digest FDAB376C3D6F1AA727C31EC6006745FB48663652
+    onion-key
+    -----BEGIN RSA PUBLIC KEY-----
+    MIGJAoGBAL9L3mAtj8PtPSWFJ1s9gRm76b5OWL+46X2nL4dWl0eW6z+b88tlAFN5
+    EZXEJ4OB8OnLzF4Q0vbSvWm2StqK+68M7FFCTp8c2ldrejJRK6PvTcBy/B0cejCF
+    16+GUBw402j8znpxJFolT7A1zD5FvuPxU+2paN/hUqPTiNQDKkghAgMBAAE=
+    -----END RSA PUBLIC KEY-----
+    signing-key
+    -----BEGIN RSA PUBLIC KEY-----
+    MIGJAoGBAMepPKfnpG/EnoFC3xlRfckgmAS2DASLcAy9MWmVmHy9pvwNZauO2gtd
+    WTbuQRI56xT25aIZhX0k0HkAPe4S3LOz+Llg2x7S/zpyDMtLkSDXvBdc+uBWea3u
+    9O1w+SLxa4YujADMuhuiBDR3BYGQcibmMhwhLAgxZ0b/62m/VIb7AgMBAAE=
+    -----END RSA PUBLIC KEY-----
+    hidden-service-dir
+    ntor-onion-key E2YxIe8jZvZ28DkTeU0PonF9D9Qr6/5QsP29AWrUAno=
+    contact Somebody <somebody AT nowhere DOT net>
+    reject *:*
+    router-signature
+    -----BEGIN SIGNATURE-----
+    q5Wk1Sg6K84WZjXcbu8n7owGERVdAKMGQ/YBX7fv9jQo0OnTijFAF7SNUTmy7ZlI
+    wtiwqhquDB3BTZ4FL9yZeoBnVhzlWGpzwef8zAQ5ivlPckYfUWHKRO4eux9tebkT
+    B3RnIjfPs6q+m8gGz0ZDk7x7f3oDwyz/TKCgpZubp/w=
+    -----END SIGNATURE-----
+
+# Extra-info descriptors
+
+Bridge extra-info descriptors (from the `cached-extrainfo` and
+`cached-extrainfo.new` files) contain extra data pertaining to a bridge. A
+minimal bridge extra-info descriptor looks like this:
+
+    extra-info Unnamed BFB9D952B9965847C42A0E214077C7DACA69275F
+    published 2013-10-22 02:30:12
+    write-history 2013-10-22 02:16:37 (900 s)
+    92160,15360,9216,4096,173056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,558080,552960,9216,6144,97280,5120,4096,3072,99328,9216,6144,4096,102400,11264,0,0,114688,6144,0,0,0,711680,31744,660480,23552,7168,5120,57344,8192,6144,4096,195584,24576,8192,8192,186368,6144,8192,8192,152576,16384,11264,10240,119808,33792,11264,6144
+    read-history 2013-10-22 02:16:37 (900 s)
+    1079296,33792,10240,7168,1199104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3818496,586752,14336,11264,1107968,10240,8192,6144,1134592,12288,9216,7168,1186816,22528,4096,0,1222656,11264,0,0,0,1857536,73728,1215488,23552,10240,5120,504832,13312,10240,8192,1510400,44032,13312,11264,1271808,9216,11264,11264,1173504,48128,15360,13312,1154048,70656,15360,9216
+    router-signature
+    -----BEGIN SIGNATURE-----
+    u4qIZVeW67OPH7JTLsdHUVgUbqnjRjaIZwiQeUeBjTVO/NDJqZq5xeBDQGT3lNXN
+    0/wm+X+2XuEDbQY2WryKC4pZ80/ArKlXUPRlblaw8soz22Q+6WtOJ/XOgFG1AzHz
+    L6IYwgtDs3BXEx3p7bTtfFTg2resiyU+T3XT6FBDHvU=
+    -----END SIGNATURE-----
+
+Whereas a more dense bridge extra-info descriptor looks like this:
+
+    extra-info Unnamed 48C9D4F2440997ACB32C88479A97B3ABF9820AF3
+    published 2013-10-22 03:19:50
+    write-history 2013-10-22 02:57:54 (900 s)
+    87040,8192,6144,86016,23552,2048,16384,8192,79872,8192,72704,10240,19456,78848,9216,6144,4096,2048,97280,18432,70656,30720,9216,9216,628736,77824,4096,4096,10240,144384,9216,48128,38912,92160,27648,6144,2048,16384,6144,92160,18432,51200,12288,16384,69632,7168,8192,1024,76800,14336,1024,82944,13312,79872,7168,22528,95232,60416,17408,4096,5120,17408,89088,1024,5120,132096,8192,19456,5120,6144,8192,103424,7168,91136,3072,8192,44032,10240,5120,19456,68608,100352,19456,3072,82944,20480,6144,8192,63488,13312,5120,14336,76800,8192,59392,8192
+    read-history 2013-10-22 03:12:54 (900 s)
+    11264,9216,1069056,40960,6144,16384,11264,1053696,11264,1031168,22528,22528,668672,29696,9216,6144,2048,1068032,31744,486400,60416,13312,8192,1206272,674816,3072,8192,14336,1183744,26624,464896,409600,135168,205824,8192,5120,17408,9216,1125376,33792,481280,24576,16384,683008,8192,11264,1024,1080320,13312,1024,1108992,26624,739328,17408,31744,995328,227328,51200,3072,8192,21504,1173504,4096,6144,1225728,30720,22528,5120,9216,11264,1195008,15360,745472,5120,11264,483328,17408,8192,24576,715776,1115136,49152,2048,927744,28672,10240,11264,688128,20480,8192,17408,1048576,11264,630784,11264,7168
+    geoip-db-digest 207A8167FC83230884A7B463B8EE12385CF1874F
+    geoip6-db-digest 7F82A502C248B0CFBCCF6FE370919E34E04A21FA
+    dirreq-write-history 2013-10-21 18:36:36 (900 s)
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1329152,2048
+    dirreq-read-history 2013-10-21 18:36:36 (900 s)
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199680,2048
+
+If a bridge extra-info descriptor has the `dirreq-read-history` or the
+`dirreq-write-history` lines shown above, then either of the following lines
+will come after it (but not both):
+
+    dirreq-stats-end 2013-10-21 17:27:06 (86400 s)
+    bridge-stats-end 2013-10-21 17:27:06 (86400 s)
+
+Optionally followed by:
+
+    dirreq-v3-ips
+    dirreq-v2-ips
+    dirreq-v3-reqs
+    dirreq-v2-reqs
+    dirreq-v3-resp
+    ok=0,not-enough-sigs=0,unavailable=0,not-found=0,not-modified=0,busy=0
+    dirreq-v2-resp ok=0,unavailable=0,not-found=0,not-modified=0,busy=0
+    dirreq-v3-direct-dl complete=0,timeout=0,running=0
+    dirreq-v2-direct-dl complete=0,timeout=0,running=0
+    dirreq-v3-tunneled-dl complete=0,timeout=0,running=0
+    dirreq-v2-tunneled-dl complete=0,timeout=0,running=0
+    bridge-stats-end 2013-10-21 17:28:15 (86400 s)
+    bridge-ips de=8,nl=8,us=8
+
+And, if it include the `bridge-ips` line, it MAY include the following right
+afterwards:
+
+    bridge-ip-versions v4=16,v6=8
+
+An extra-info descriptor will always end with a signature, like this:
+
+    router-signature
+    -----BEGIN SIGNATURE-----
+    f4ed3BwfcbH36E9ODxDSideWhld5IhlsBi9alOh10UFCuqdvXcCkgzjB0s3EC5sf
+    hOjQkH96MdF8mtqGtJdEyA00lCqDkCulIrlgDlJRsj9AI29KeMjLPNb+7erNzPPL
+    40f0vr+zuKQfUiI0piSR4txrEdAY58dDY0Hl1yEcsfo=
+    -----END SIGNATURE-----
+
+## An bridge extra-info descriptor for a bridge with pluggable transports
+
+The following is an example of a bridge which supports the `obfs2` and `obfs3`
+obproxy pluggable transport types:
+
+    extra-info Unnamed DD91800E06C195B0AF804E30DB07830AC991AFD4
+    published 2013-10-22 02:14:04
+    write-history 2013-10-22 01:59:38 (900 s)
+    3188736,2226176,2866176,2256896,2229248,2721792
+    read-history 2013-10-22 01:59:38 (900 s)
+    3891200,2483200,2698240,1789952,1921024,2811904
+    dirreq-write-history 2013-10-22 01:59:38 (900 s)
+    1024,0,2048,0,1024,0
+    dirreq-read-history 2013-10-22 01:59:38 (900 s)
+    0,0,0,0,0,0
+    geoip-db-digest 67D32F60547F141E16FB0705D1F1710471697228
+    geoip6-db-digest 9082A502C248B0CFBCCF6F9370919E34E04B21F2
+    dirreq-stats-end 2013-10-21 13:04:22 (86400 s)
+    dirreq-v3-ips
+    dirreq-v3-reqs
+    dirreq-v3-resp
+    ok=16,not-enough-sigs=0,unavailable=0,not-found=0,not-modified=0,busy=0
+    dirreq-v3-direct-dl complete=0,timeout=0,running=0
+    dirreq-v3-tunneled-dl complete=12,timeout=0,running=0
+    transport obfs3 10.0.1.111:3333
+    transport obfs2 10.0.1.111:2222
+    bridge-stats-end 2013-10-21 13:04:24 (86400 s)
+    bridge-ips ca=8
+    bridge-ip-versions v4=8,v6=0
+    bridge-ip-transports <OR>=8
+    router-signature
+    -----BEGIN SIGNATURE-----
+    Bo/HHLbGEj90z+JWlHQgbahrAh83prAUicv3fgdldrIjbHrPRpJ2ep9r/WgJY4KO
+    TANz3XcqqfhUI5rg2AzjUif8xHUZv152xqgErZEXxn+m4JmEU03qAShT0e8eMj2S
+    D9FLbPlXw4NWy9B32IT/luOHsENaAJNvOv7ociMPnsM=
+    -----END SIGNATURE-----
+
+## Bridge router microdescriptors
+
+    r Unnamed /wywABJee98ZPOiCGYM1dpgQc70 NpK1tsi97A+SH8s0evowXkRcyr8 2013-10-22 01:49:45 88.200.197.4 9001 0
+    a [6212:b13d:252e:479d:32b8:d713:3718:2fac]:9001
+    s Fast Guard Running Stable Valid
+    w Bandwidth=53
+    p reject 1-65535





More information about the tor-commits mailing list