[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [stem/master] Test real CollecTor index



commit e0b4e2d8bf6c0c31e64a167c2e96e845185ddff5
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date:   Sat Jul 6 15:38:04 2019 -0700

    Test real CollecTor index
    
    Adding a CollecTor index, truncated to three files per directory. Even with
    this truncation this is *way* too big for this unit test assertion, but
    starting with the whole shebang as I make sense of how I'm gonna work with it.
---
 test/unit/descriptor/collector.py              | 539 +++++++++++++++++++++++++
 test/unit/descriptor/data/collector_index.json |   1 +
 2 files changed, 540 insertions(+)

diff --git a/test/unit/descriptor/collector.py b/test/unit/descriptor/collector.py
index 260e246b..e1ff4bdb 100644
--- a/test/unit/descriptor/collector.py
+++ b/test/unit/descriptor/collector.py
@@ -9,6 +9,7 @@ import stem.prereq
 
 from stem.descriptor import Compression
 from stem.descriptor.collector import CollecTor
+from test.unit.descriptor import get_resource
 
 try:
   # added in python 3.3
@@ -26,6 +27,535 @@ MINIMAL_INDEX = {
 
 MINIMAL_INDEX_JSON = b'{"index_created":"2017-12-25 21:06","build_revision":"56a303e","path":"https://collector.torproject.org"}'
 
+EXAMPLE_INDEX = {
+  'index_created': '2019-07-06 01:54',
+  'build_revision': 'df98ac79',
+  'path': 'https://collector.torproject.org',
+  'directories': [
+    {
+      'path': 'archive',
+      'directories': [
+        {
+          'path': 'bridge-descriptors',
+          'directories': [
+            {
+              'path': 'extra-infos',
+              'files': [
+                {
+                  'path': 'bridge-extra-infos-2008-05.tar.xz',
+                  'size': 377644,
+                  'last_modified': '2016-09-04 09:21'
+                }, {
+                  'path': 'bridge-extra-infos-2008-06.tar.xz',
+                  'size': 600484,
+                  'last_modified': '2016-09-04 09:21'
+                }, {
+                  'path': 'bridge-extra-infos-2008-07.tar.xz',
+                  'size': 716320,
+                  'last_modified': '2016-09-04 09:21'
+                }
+              ]
+            }, {
+              'path': 'server-descriptors',
+              'files': [
+                {
+                  'path': 'bridge-server-descriptors-2008-05.tar.xz',
+                  'size': 205348,
+                  'last_modified': '2016-09-09 14:13'
+                }, {
+                  'path': 'bridge-server-descriptors-2008-06.tar.xz',
+                  'size': 342828,
+                  'last_modified': '2016-09-09 14:13'
+                }, {
+                  'path': 'bridge-server-descriptors-2008-07.tar.xz',
+                  'size': 374848,
+                  'last_modified': '2016-09-09 14:13'
+                }
+              ]
+            }, {
+              'path': 'statuses',
+              'files': [
+                {
+                  'path': 'bridge-statuses-2008-05.tar.xz',
+                  'size': 74792,
+                  'last_modified': '2016-09-14 21:11'
+                }, {
+                  'path': 'bridge-statuses-2008-06.tar.xz',
+                  'size': 123488,
+                  'last_modified': '2016-09-14 21:11'
+                }, {
+                  'path': 'bridge-statuses-2008-07.tar.xz',
+                  'size': 143836,
+                  'last_modified': '2016-09-14 21:11'
+                }
+              ]
+            }
+          ]
+        }, {
+          'path': 'bridge-pool-assignments',
+          'files': [
+            {
+              'path': 'bridge-pool-assignments-2010-09.tar.xz',
+              'size': 32804,
+              'last_modified': '2012-05-31 10:21'
+            }, {
+              'path': 'bridge-pool-assignments-2010-10.tar.xz',
+              'size': 304684,
+              'last_modified': '2012-05-31 10:21'
+            }, {
+              'path': 'bridge-pool-assignments-2010-11.tar.xz',
+              'size': 292228,
+              'last_modified': '2012-05-31 10:21'
+            }
+          ]
+        }, {
+          'path': 'exit-lists',
+          'files': [
+            {
+              'path': 'exit-list-2010-02.tar.xz',
+              'size': 272008,
+              'last_modified': '2012-05-31 18:57'
+            }, {
+              'path': 'exit-list-2010-03.tar.xz',
+              'size': 1247484,
+              'last_modified': '2012-05-31 18:57'
+            }, {
+              'path': 'exit-list-2010-04.tar.xz',
+              'size': 1139896,
+              'last_modified': '2012-05-31 18:57'
+            }
+          ]
+        }, {
+          'path': 'relay-descriptors',
+          'files': [
+            {
+              'path': 'certs.tar.xz',
+              'size': 144696,
+              'last_modified': '2019-07-03 03:29'
+            }
+          ],
+          'directories': [
+            {
+              'path': 'bandwidths',
+              'files': [
+                {
+                  'path': 'bandwidths-2019-05.tar.xz',
+                  'size': 50385816,
+                  'last_modified': '2019-06-07 08:05'
+                }, {
+                  'path': 'bandwidths-2019-06.tar.xz',
+                  'size': 105881156,
+                  'last_modified': '2019-07-03 07:30'
+                }, {
+                  'path': 'bandwidths-2019-07.tar.xz',
+                  'size': 11374436,
+                  'last_modified': '2019-07-03 07:12'
+                }
+              ]
+            }, {
+              'path': 'consensuses',
+              'files': [
+                {
+                  'path': 'consensuses-2007-10.tar.xz',
+                  'size': 1061648,
+                  'last_modified': '2012-05-15 14:35'
+                }, {
+                  'path': 'consensuses-2007-11.tar.xz',
+                  'size': 6810308,
+                  'last_modified': '2012-05-15 14:35'
+                }, {
+                  'path': 'consensuses-2007-12.tar.xz',
+                  'size': 8106968,
+                  'last_modified': '2012-05-15 14:35'
+                }
+              ]
+            }, {
+              'path': 'extra-infos',
+              'files': [
+                {
+                  'path': 'extra-infos-2007-08.tar.xz',
+                  'size': 3016916,
+                  'last_modified': '2016-06-23 09:53'
+                }, {
+                  'path': 'extra-infos-2007-09.tar.xz',
+                  'size': 6459884,
+                  'last_modified': '2016-06-23 09:54'
+                }, {
+                  'path': 'extra-infos-2007-10.tar.xz',
+                  'size': 7326564,
+                  'last_modified': '2016-06-23 09:54'
+                }
+              ]
+            }, {
+              'path': 'microdescs',
+              'files': [
+                {
+                  'path': 'microdescs-2014-01.tar.xz',
+                  'size': 7515396,
+                  'last_modified': '2014-02-07 03:59'
+                }, {
+                  'path': 'microdescs-2014-02.tar.xz',
+                  'size': 21822944,
+                  'last_modified': '2014-03-07 04:54'
+                }, {
+                  'path': 'microdescs-2014-03.tar.xz',
+                  'size': 24201436,
+                  'last_modified': '2014-04-07 03:54'
+                }
+              ]
+            }, {
+              'path': 'server-descriptors',
+              'files': [
+                {
+                  'path': 'server-descriptors-2005-12.tar.xz',
+                  'size': 1348620,
+                  'last_modified': '2016-06-24 08:12'
+                }, {
+                  'path': 'server-descriptors-2006-02.tar.xz',
+                  'size': 28625408,
+                  'last_modified': '2016-06-24 08:14'
+                }, {
+                  'path': 'server-descriptors-2006-03.tar.xz',
+                  'size': 49548736,
+                  'last_modified': '2016-06-24 08:17'
+                }
+              ]
+            }, {
+              'path': 'statuses',
+              'files': [
+                {
+                  'path': 'statuses-2005-12.tar.xz',
+                  'size': 1468844,
+                  'last_modified': '2016-06-25 11:50'
+                }, {
+                  'path': 'statuses-2006-01.tar.xz',
+                  'size': 3344280,
+                  'last_modified': '2016-06-25 11:52'
+                }, {
+                  'path': 'statuses-2006-02.tar.xz',
+                  'size': 4006336,
+                  'last_modified': '2016-06-25 11:54'
+                }
+              ]
+            }, {
+              'path': 'tor',
+              'files': [
+                {
+                  'path': 'tor-2004-05.tar.xz',
+                  'size': 386672,
+                  'last_modified': '2012-05-18 14:26'
+                }, {
+                  'path': 'tor-2004-06.tar.xz',
+                  'size': 1087980,
+                  'last_modified': '2012-05-18 14:26'
+                }, {
+                  'path': 'tor-2004-07.tar.xz',
+                  'size': 1366568,
+                  'last_modified': '2012-05-18 14:26'
+                }
+              ]
+            }, {
+              'path': 'votes',
+              'files': [
+                {
+                  'path': 'votes-2007-10.tar.xz',
+                  'size': 1356504,
+                  'last_modified': '2012-05-15 14:51'
+                }, {
+                  'path': 'votes-2007-11.tar.xz',
+                  'size': 10641492,
+                  'last_modified': '2012-05-15 14:51'
+                }, {
+                  'path': 'votes-2007-12.tar.xz',
+                  'size': 14712136,
+                  'last_modified': '2012-05-15 14:52'
+                }
+              ]
+            }
+          ]
+        }, {
+          'path': 'torperf',
+          'files': [
+            {
+              'path': 'torperf-2009-07.tar.xz',
+              'size': 182712,
+              'last_modified': '2012-05-30 07:23'
+            }, {
+              'path': 'torperf-2009-08.tar.xz',
+              'size': 203236,
+              'last_modified': '2012-05-30 07:23'
+            }, {
+              'path': 'torperf-2009-09.tar.xz',
+              'size': 193832,
+              'last_modified': '2012-05-30 07:23'
+            }
+          ]
+        }, {
+          'path': 'webstats',
+          'files': [
+            {
+              'path': 'webstats-2015-01.tar',
+              'size': 30720,
+              'last_modified': '2018-03-19 16:07'
+            }, {
+              'path': 'webstats-2015-02.tar',
+              'size': 20480,
+              'last_modified': '2018-03-19 16:07'
+            }, {
+              'path': 'webstats-2015-03.tar',
+              'size': 20480,
+              'last_modified': '2018-03-19 16:07'
+            }
+          ]
+        }
+      ]
+    }, {
+      'path': 'contrib'
+    }, {
+      'path': 'recent',
+      'directories': [
+        {
+          'path': 'bridge-descriptors',
+          'directories': [
+            {
+              'path': 'extra-infos',
+              'files': [
+                {
+                  'path': '2019-07-03-02-09-00-extra-infos',
+                  'size': 507816,
+                  'last_modified': '2019-07-03 02:09'
+                }, {
+                  'path': '2019-07-03-03-09-00-extra-infos',
+                  'size': 558790,
+                  'last_modified': '2019-07-03 03:09'
+                }, {
+                  'path': '2019-07-03-04-09-05-extra-infos',
+                  'size': 592279,
+                  'last_modified': '2019-07-03 04:09'
+                }
+              ]
+            }, {
+              'path': 'server-descriptors',
+              'files': [
+                {
+                  'path': '2019-07-03-02-09-00-server-descriptors',
+                  'size': 274355,
+                  'last_modified': '2019-07-03 02:09'
+                }, {
+                  'path': '2019-07-03-03-09-00-server-descriptors',
+                  'size': 295671,
+                  'last_modified': '2019-07-03 03:09'
+                }, {
+                  'path': '2019-07-03-04-09-05-server-descriptors',
+                  'size': 312822,
+                  'last_modified': '2019-07-03 04:09'
+                }
+              ]
+            }, {
+              'path': 'statuses',
+              'files': [
+                {
+                  'path': '20190703-011231-BA44A889E64B93FAA2B114E02C2A279A8555C533',
+                  'size': 238340,
+                  'last_modified': '2019-07-03 02:09'
+                }, {
+                  'path': '20190703-014231-BA44A889E64B93FAA2B114E02C2A279A8555C533',
+                  'size': 238147,
+                  'last_modified': '2019-07-03 02:09'
+                }, {
+                  'path': '20190703-021231-BA44A889E64B93FAA2B114E02C2A279A8555C533',
+                  'size': 238231,
+                  'last_modified': '2019-07-03 03:09'
+                }
+              ]
+            }
+          ]
+        }, {
+          'path': 'exit-lists',
+          'files': [
+            {
+              'path': '2019-07-03-02-02-00',
+              'size': 158516,
+              'last_modified': '2019-07-03 02:02'
+            }, {
+              'path': '2019-07-03-03-02-00',
+              'size': 158830,
+              'last_modified': '2019-07-03 03:02'
+            }, {
+              'path': '2019-07-03-04-02-00',
+              'size': 158831,
+              'last_modified': '2019-07-03 04:02'
+            }
+          ]
+        }, {
+          'path': 'relay-descriptors',
+          'directories': [
+            {
+              'path': 'bandwidths',
+              'files': [
+                {
+                  'path': '2019-07-03-00-30-57-bandwidth-616DF2278EE2C90F475E4EA2562E2C00EB9F10E517FB901229F331AEB70B8AD7',
+                  'size': 2580044,
+                  'last_modified': '2019-07-03 02:35'
+                }, {
+                  'path': '2019-07-03-01-35-02-bandwidth-2A5B679E9AA2D5C903CD16C00E16FEFA3E21E38AB3DE338941AE4AC13FD505DE',
+                  'size': 4210146,
+                  'last_modified': '2019-07-03 02:35'
+                }, {
+                  'path': '2019-07-03-01-35-03-bandwidth-3B06DAD9EDE8E1D08CC494E856AFD9D49256ECC2D68456799DD1EC7ED3436875',
+                  'size': 4249699,
+                  'last_modified': '2019-07-03 02:35'
+                }
+              ]
+            }, {
+              'path': 'consensuses',
+              'files': [
+                {
+                  'path': '2019-07-03-02-00-00-consensus',
+                  'size': 2211265,
+                  'last_modified': '2019-07-03 02:05'
+                }, {
+                  'path': '2019-07-03-03-00-00-consensus',
+                  'size': 2204478,
+                  'last_modified': '2019-07-03 03:05'
+                }, {
+                  'path': '2019-07-03-04-00-00-consensus',
+                  'size': 2202554,
+                  'last_modified': '2019-07-03 04:05'
+                }
+              ]
+            }, {
+              'path': 'extra-infos',
+              'files': [
+                {
+                  'path': '2019-07-03-02-05-00-extra-infos',
+                  'size': 1162899,
+                  'last_modified': '2019-07-03 02:05'
+                }, {
+                  'path': '2019-07-03-03-05-00-extra-infos',
+                  'size': 1133425,
+                  'last_modified': '2019-07-03 03:05'
+                }, {
+                  'path': '2019-07-03-04-05-00-extra-infos',
+                  'size': 1153793,
+                  'last_modified': '2019-07-03 04:05'
+                }
+              ]
+            }, {
+              'path': 'microdescs',
+              'directories': [
+                {
+                  'path': 'consensus-microdesc',
+                  'files': [
+                    {
+                      'path': '2019-07-03-02-00-00-consensus-microdesc',
+                      'size': 2028994,
+                      'last_modified': '2019-07-03 02:05'
+                    }, {
+                      'path': '2019-07-03-03-00-00-consensus-microdesc',
+                      'size': 2022808,
+                      'last_modified': '2019-07-03 03:05'
+                    }, {
+                      'path': '2019-07-03-04-00-00-consensus-microdesc',
+                      'size': 2020751,
+                      'last_modified': '2019-07-03 04:05'
+                    }
+                  ]
+                }, {
+                  'path': 'micro',
+                  'files': [
+                    {
+                      'path': '2019-07-02-23-05-00-micro',
+                      'size': 19934,
+                      'last_modified': '2019-07-02 23:05'
+                    }, {
+                      'path': '2019-07-03-00-05-00-micro',
+                      'size': 12030,
+                      'last_modified': '2019-07-03 00:05'
+                    }, {
+                      'path': '2019-07-03-01-05-00-micro',
+                      'size': 14850,
+                      'last_modified': '2019-07-03 01:05'
+                    }
+                  ]
+                }
+              ]
+            }, {
+              'path': 'server-descriptors',
+              'files': [
+                {
+                  'path': '2019-07-03-02-05-00-server-descriptors',
+                  'size': 1374587,
+                  'last_modified': '2019-07-03 02:05'
+                }, {
+                  'path': '2019-07-03-03-05-00-server-descriptors',
+                  'size': 1353286,
+                  'last_modified': '2019-07-03 03:05'
+                }, {
+                  'path': '2019-07-03-04-05-00-server-descriptors',
+                  'size': 1336125,
+                  'last_modified': '2019-07-03 04:05'
+                }
+              ]
+            }, {
+              'path': 'votes',
+              'files': [
+                {
+                  'path': '2019-07-03-02-00-00-vote-0232AF901C31A04EE9848595AF9BB7620D4C5B2E-D9B6923A3AF9FB5DB3CD30191BCBD29A7A936D86',
+                  'size': 3449707,
+                  'last_modified': '2019-07-03 02:05'
+                }, {
+                  'path': '2019-07-03-02-00-00-vote-14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4-39429F0789A9EC07A2A8754C4C449CCABAB787CC',
+                  'size': 3435482,
+                  'last_modified': '2019-07-03 02:05'
+                }, {
+                  'path': '2019-07-03-02-00-00-vote-23D15D965BC35114467363C165C4F724B64B4F66-4337842B697467123B5351E1E8EB64ED497C0EDA',
+                  'size': 3571106,
+                  'last_modified': '2019-07-03 02:05'
+                }
+              ]
+            }
+          ]
+        }, {
+          'path': 'torperf',
+          'files': [
+            {
+              'path': 'op-ab-1048576-2019-07-03.tpf',
+              'size': 39152,
+              'last_modified': '2019-07-04 00:01'
+            }, {
+              'path': 'op-ab-51200-2019-07-03.tpf',
+              'size': 248173,
+              'last_modified': '2019-07-04 00:01'
+            }, {
+              'path': 'op-ab-5242880-2019-07-03.tpf',
+              'size': 15900,
+              'last_modified': '2019-07-04 00:01'
+            }
+          ]
+        }, {
+          'path': 'webstats',
+          'files': [
+            {
+              'path': '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190620.xz',
+              'size': 8872,
+              'last_modified': '2019-07-03 04:21'
+            }, {
+              'path': '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190621.xz',
+              'size': 9312,
+              'last_modified': '2019-07-04 04:21'
+            }, {
+              'path': '2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190622.xz',
+              'size': 9836,
+              'last_modified': '2019-07-05 04:21'
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
+
 
 class TestCollector(unittest.TestCase):
   @patch(URL_OPEN)
@@ -111,3 +641,12 @@ class TestCollector(unittest.TestCase):
       with patch(URL_OPEN, Mock(return_value = io.BytesIO(b'not compressed'))):
         collector = CollecTor(compression = compression)
         self.assertRaisesRegexp(IOError, 'Unable to decompress %s response' % compression, collector.index)
+
+  @patch(URL_OPEN)
+  def test_real_index(self, urlopen_mock):
+    with open(get_resource('collector_index.json'), 'rb') as index_file:
+      urlopen_mock.return_value = io.BytesIO(index_file.read())
+
+    self.maxDiff = None
+    collector = CollecTor(compression = Compression.PLAINTEXT)
+    self.assertEqual(EXAMPLE_INDEX, collector.index())
diff --git a/test/unit/descriptor/data/collector_index.json b/test/unit/descriptor/data/collector_index.json
new file mode 100644
index 00000000..c6528f23
--- /dev/null
+++ b/test/unit/descriptor/data/collector_index.json
@@ -0,0 +1 @@
+{"index_created":"2019-07-06 01:54","build_revision":"df98ac79","path":"https://collector.torproject.org","directories":[{"path":"archive","directories":[{"path":"bridge-descriptors","directories":[{"path":"extra-infos","files":[{"path":"bridge-extra-infos-2008-05.tar.xz","size":377644,"last_modified":"2016-09-04 09:21"},{"path":"bridge-extra-infos-2008-06.tar.xz","size":600484,"last_modified":"2016-09-04 09:21"},{"path":"bridge-extra-infos-2008-07.tar.xz","size":716320,"last_modified":"2016-09-04 09:21"}]},{"path":"server-descriptors","files":[{"path":"bridge-server-descriptors-2008-05.tar.xz","size":205348,"last_modified":"2016-09-09 14:13"},{"path":"bridge-server-descriptors-2008-06.tar.xz","size":342828,"last_modified":"2016-09-09 14:13"},{"path":"bridge-server-descriptors-2008-07.tar.xz","size":374848,"last_modified":"2016-09-09 14:13"}]},{"path":"statuses","files":[{"path":"bridge-statuses-2008-05.tar.xz","size":74792,"last_modified":"2016-09-14 21:11"},{"path":"bridge-statuse
 s-2008-06.tar.xz","size":123488,"last_modified":"2016-09-14 21:11"},{"path":"bridge-statuses-2008-07.tar.xz","size":143836,"last_modified":"2016-09-14 21:11"}]}]},{"path":"bridge-pool-assignments","files":[{"path":"bridge-pool-assignments-2010-09.tar.xz","size":32804,"last_modified":"2012-05-31 10:21"},{"path":"bridge-pool-assignments-2010-10.tar.xz","size":304684,"last_modified":"2012-05-31 10:21"},{"path":"bridge-pool-assignments-2010-11.tar.xz","size":292228,"last_modified":"2012-05-31 10:21"}]},{"path":"exit-lists","files":[{"path":"exit-list-2010-02.tar.xz","size":272008,"last_modified":"2012-05-31 18:57"},{"path":"exit-list-2010-03.tar.xz","size":1247484,"last_modified":"2012-05-31 18:57"},{"path":"exit-list-2010-04.tar.xz","size":1139896,"last_modified":"2012-05-31 18:57"}]},{"path":"relay-descriptors","files":[{"path":"certs.tar.xz","size":144696,"last_modified":"2019-07-03 03:29"}],"directories":[{"path":"bandwidths","files":[{"path":"bandwidths-2019-05.tar.xz","size":50385
 816,"last_modified":"2019-06-07 08:05"},{"path":"bandwidths-2019-06.tar.xz","size":105881156,"last_modified":"2019-07-03 07:30"},{"path":"bandwidths-2019-07.tar.xz","size":11374436,"last_modified":"2019-07-03 07:12"}]},{"path":"consensuses","files":[{"path":"consensuses-2007-10.tar.xz","size":1061648,"last_modified":"2012-05-15 14:35"},{"path":"consensuses-2007-11.tar.xz","size":6810308,"last_modified":"2012-05-15 14:35"},{"path":"consensuses-2007-12.tar.xz","size":8106968,"last_modified":"2012-05-15 14:35"}]},{"path":"extra-infos","files":[{"path":"extra-infos-2007-08.tar.xz","size":3016916,"last_modified":"2016-06-23 09:53"},{"path":"extra-infos-2007-09.tar.xz","size":6459884,"last_modified":"2016-06-23 09:54"},{"path":"extra-infos-2007-10.tar.xz","size":7326564,"last_modified":"2016-06-23 09:54"}]},{"path":"microdescs","files":[{"path":"microdescs-2014-01.tar.xz","size":7515396,"last_modified":"2014-02-07 03:59"},{"path":"microdescs-2014-02.tar.xz","size":21822944,"last_modified"
 :"2014-03-07 04:54"},{"path":"microdescs-2014-03.tar.xz","size":24201436,"last_modified":"2014-04-07 03:54"}]},{"path":"server-descriptors","files":[{"path":"server-descriptors-2005-12.tar.xz","size":1348620,"last_modified":"2016-06-24 08:12"},{"path":"server-descriptors-2006-02.tar.xz","size":28625408,"last_modified":"2016-06-24 08:14"},{"path":"server-descriptors-2006-03.tar.xz","size":49548736,"last_modified":"2016-06-24 08:17"}]},{"path":"statuses","files":[{"path":"statuses-2005-12.tar.xz","size":1468844,"last_modified":"2016-06-25 11:50"},{"path":"statuses-2006-01.tar.xz","size":3344280,"last_modified":"2016-06-25 11:52"},{"path":"statuses-2006-02.tar.xz","size":4006336,"last_modified":"2016-06-25 11:54"}]},{"path":"tor","files":[{"path":"tor-2004-05.tar.xz","size":386672,"last_modified":"2012-05-18 14:26"},{"path":"tor-2004-06.tar.xz","size":1087980,"last_modified":"2012-05-18 14:26"},{"path":"tor-2004-07.tar.xz","size":1366568,"last_modified":"2012-05-18 14:26"}]},{"path":"v
 otes","files":[{"path":"votes-2007-10.tar.xz","size":1356504,"last_modified":"2012-05-15 14:51"},{"path":"votes-2007-11.tar.xz","size":10641492,"last_modified":"2012-05-15 14:51"},{"path":"votes-2007-12.tar.xz","size":14712136,"last_modified":"2012-05-15 14:52"}]}]},{"path":"torperf","files":[{"path":"torperf-2009-07.tar.xz","size":182712,"last_modified":"2012-05-30 07:23"},{"path":"torperf-2009-08.tar.xz","size":203236,"last_modified":"2012-05-30 07:23"},{"path":"torperf-2009-09.tar.xz","size":193832,"last_modified":"2012-05-30 07:23"}]},{"path":"webstats","files":[{"path":"webstats-2015-01.tar","size":30720,"last_modified":"2018-03-19 16:07"},{"path":"webstats-2015-02.tar","size":20480,"last_modified":"2018-03-19 16:07"},{"path":"webstats-2015-03.tar","size":20480,"last_modified":"2018-03-19 16:07"}]}]},{"path":"contrib"},{"path":"recent","directories":[{"path":"bridge-descriptors","directories":[{"path":"extra-infos","files":[{"path":"2019-07-03-02-09-00-extra-infos","size":50781
 6,"last_modified":"2019-07-03 02:09"},{"path":"2019-07-03-03-09-00-extra-infos","size":558790,"last_modified":"2019-07-03 03:09"},{"path":"2019-07-03-04-09-05-extra-infos","size":592279,"last_modified":"2019-07-03 04:09"}]},{"path":"server-descriptors","files":[{"path":"2019-07-03-02-09-00-server-descriptors","size":274355,"last_modified":"2019-07-03 02:09"},{"path":"2019-07-03-03-09-00-server-descriptors","size":295671,"last_modified":"2019-07-03 03:09"},{"path":"2019-07-03-04-09-05-server-descriptors","size":312822,"last_modified":"2019-07-03 04:09"}]},{"path":"statuses","files":[{"path":"20190703-011231-BA44A889E64B93FAA2B114E02C2A279A8555C533","size":238340,"last_modified":"2019-07-03 02:09"},{"path":"20190703-014231-BA44A889E64B93FAA2B114E02C2A279A8555C533","size":238147,"last_modified":"2019-07-03 02:09"},{"path":"20190703-021231-BA44A889E64B93FAA2B114E02C2A279A8555C533","size":238231,"last_modified":"2019-07-03 03:09"}]}]},{"path":"exit-lists","files":[{"path":"2019-07-03-02-
 02-00","size":158516,"last_modified":"2019-07-03 02:02"},{"path":"2019-07-03-03-02-00","size":158830,"last_modified":"2019-07-03 03:02"},{"path":"2019-07-03-04-02-00","size":158831,"last_modified":"2019-07-03 04:02"}]},{"path":"relay-descriptors","directories":[{"path":"bandwidths","files":[{"path":"2019-07-03-00-30-57-bandwidth-616DF2278EE2C90F475E4EA2562E2C00EB9F10E517FB901229F331AEB70B8AD7","size":2580044,"last_modified":"2019-07-03 02:35"},{"path":"2019-07-03-01-35-02-bandwidth-2A5B679E9AA2D5C903CD16C00E16FEFA3E21E38AB3DE338941AE4AC13FD505DE","size":4210146,"last_modified":"2019-07-03 02:35"},{"path":"2019-07-03-01-35-03-bandwidth-3B06DAD9EDE8E1D08CC494E856AFD9D49256ECC2D68456799DD1EC7ED3436875","size":4249699,"last_modified":"2019-07-03 02:35"}]},{"path":"consensuses","files":[{"path":"2019-07-03-02-00-00-consensus","size":2211265,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-03-00-00-consensus","size":2204478,"last_modified":"2019-07-03 03:05"},{"path":"2019-07-03-04
 -00-00-consensus","size":2202554,"last_modified":"2019-07-03 04:05"}]},{"path":"extra-infos","files":[{"path":"2019-07-03-02-05-00-extra-infos","size":1162899,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-03-05-00-extra-infos","size":1133425,"last_modified":"2019-07-03 03:05"},{"path":"2019-07-03-04-05-00-extra-infos","size":1153793,"last_modified":"2019-07-03 04:05"}]},{"path":"microdescs","directories":[{"path":"consensus-microdesc","files":[{"path":"2019-07-03-02-00-00-consensus-microdesc","size":2028994,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-03-00-00-consensus-microdesc","size":2022808,"last_modified":"2019-07-03 03:05"},{"path":"2019-07-03-04-00-00-consensus-microdesc","size":2020751,"last_modified":"2019-07-03 04:05"}]},{"path":"micro","files":[{"path":"2019-07-02-23-05-00-micro","size":19934,"last_modified":"2019-07-02 23:05"},{"path":"2019-07-03-00-05-00-micro","size":12030,"last_modified":"2019-07-03 00:05"},{"path":"2019-07-03-01-05-00-micro","si
 ze":14850,"last_modified":"2019-07-03 01:05"}]}]},{"path":"server-descriptors","files":[{"path":"2019-07-03-02-05-00-server-descriptors","size":1374587,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-03-05-00-server-descriptors","size":1353286,"last_modified":"2019-07-03 03:05"},{"path":"2019-07-03-04-05-00-server-descriptors","size":1336125,"last_modified":"2019-07-03 04:05"}]},{"path":"votes","files":[{"path":"2019-07-03-02-00-00-vote-0232AF901C31A04EE9848595AF9BB7620D4C5B2E-D9B6923A3AF9FB5DB3CD30191BCBD29A7A936D86","size":3449707,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-02-00-00-vote-14C131DFC5C6F93646BE72FA1401C02A8DF2E8B4-39429F0789A9EC07A2A8754C4C449CCABAB787CC","size":3435482,"last_modified":"2019-07-03 02:05"},{"path":"2019-07-03-02-00-00-vote-23D15D965BC35114467363C165C4F724B64B4F66-4337842B697467123B5351E1E8EB64ED497C0EDA","size":3571106,"last_modified":"2019-07-03 02:05"}]}]},{"path":"torperf","files":[{"path":"op-ab-1048576-2019-07-03.tpf","size":3
 9152,"last_modified":"2019-07-04 00:01"},{"path":"op-ab-51200-2019-07-03.tpf","size":248173,"last_modified":"2019-07-04 00:01"},{"path":"op-ab-5242880-2019-07-03.tpf","size":15900,"last_modified":"2019-07-04 00:01"}]},{"path":"webstats","files":[{"path":"2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190620.xz","size":8872,"last_modified":"2019-07-03 04:21"},{"path":"2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190621.xz","size":9312,"last_modified":"2019-07-04 04:21"},{"path":"2019.www.torproject.org_hetzner-hel1-03.torproject.org_access.log_20190622.xz","size":9836,"last_modified":"2019-07-05 04:21"}]}]}]}



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits