[tor-commits] [spec/master] Add draft of lantern test specification

art at torproject.org art at torproject.org
Mon May 9 17:57:25 UTC 2016


commit 3d0a1117d9a6f8a4d02ad05310f8004449b72d4f
Author: aagbsn <aagbsn at extc.org>
Date:   Mon Apr 6 14:31:30 2015 +0000

    Add draft of lantern test specification
---
 test-specs/ts-012-lantern.md | 111 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

diff --git a/test-specs/ts-012-lantern.md b/test-specs/ts-012-lantern.md
new file mode 100644
index 0000000..51d41e8
--- /dev/null
+++ b/test-specs/ts-012-lantern.md
@@ -0,0 +1,111 @@
+# Specification version number
+
+2015-04-03-000
+
+# Specification name
+
+Lantern Test
+
+# Test preconditions
+
+Downloaded or compiled the "lantern_linux" binary and made executable and in
+the users PATH environment variable.
+
+# Expected impact
+
+Ability to measure whether Lantern is working from the given network vantage point.
+
+# Expected inputs
+
+A single URL to fetch, supplied by command line argument "--url (-u)". To test
+Lantern, it must be a URL from the whitelisted set.
+See: https://github.com/getlantern/flashlight/blob/master/genconfig/proxiedsites/
+
+# Test description
+
+This test launches Lantern in --headless mode, and parses output to determine
+if it has bootstrapped.  After bootstrap, it fetches the URL supplied by the
+--url option using Lanterns http proxy interface listening on 127.0.0.1.8787.
+
+The specific string used to determine bootstrap from Lantern output in version
+"0.0.1" is "client (http) proxy at" from standard output.
+
+# Expected output
+
+## Parent data format
+
+None.
+
+## Required output data
+
+bootstrapped:
+**boolean** The bootstrap status of Lantern (success or failure).
+
+lantern_linux --headless:
+**dictionary** the parent key of Lanterns output that contains the keys stdout and stderr
+
+stdout:
+**string** Output produced by Lanterns standard output.
+
+stderr:
+**string** Error produced by Lanterns standard error.
+
+body:
+**string** The page body of a successful HTTP request.
+
+failure:
+**string** If failure, then the corresponding failure message.
+
+
+## Data specification version number
+
+## Semantics
+
+'bootstrapped' - True or False - whether Lantern has bootstrapped.
+'body' - http page body if successfully requested.
+'failure' - optional, present if there is a failure.
+'lantern_linux --headless': 
+  'stdout' - Contents of standard output produced by Lantern.
+  'stderr' - Contents of standard error produced by Lantern.
+
+
+## Possible conclusions
+
+We can determine whether or not Lantern is able to bootstrap, according to its output.
+We can determine whether or not a given URL is reachable via Lantern.
+
+## Example output sample
+```
+---
+input_hashes: []
+options: [-u, google.com]
+probe_asn: AS1234
+probe_cc: US
+probe_city: null
+probe_ip: 127.0.0.1
+software_name: ooniprobe
+software_version: 1.2.3-rc1
+start_time: 1428344311.0
+test_name: lantern_circumvention_tool_test
+test_version: 0.0.1
+...
+---
+body: "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\"\
+  >\n<TITLE>301 Moved</TITLE></HEAD><BODY>\n<H1>301 Moved</H1>\nThe document has moved\n\
+  <A HREF=\"http://www.google.com/\">here</A>.\r\n</BODY></HTML>\r\n"
+bootstrapped: true
+input: null
+lantern_linux --headless: {exit_reason: process_done, stderr: '', stdout: ''}
+```
+
+## Expected Post-processing efforts
+
+# Privacy considerations
+
+Lantern does not seek to provide anonymity. Lantern contains tracking analytics
+software and may connect directly to Lantern-provided proxy endpoints, or use
+fronted domains via Content Delivery Networks (CDNs) as a data channel.
+
+# Packet capture considerations
+
+This test does not capture packets by default.





More information about the tor-commits mailing list