[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [flashproxy/master] Make flashproxy-reg-http take a URL, not a (host, port) pair.
commit a13a96297ca07e7c49d5a79e9173ce1e887f4fb9
Author: David Fifield <david@xxxxxxxxxxxxxxx>
Date: Sun Sep 23 00:58:26 2012 -0700
Make flashproxy-reg-http take a URL, not a (host, port) pair.
---
flashproxy-client | 23 +++++++++++------------
flashproxy-reg-http | 32 +++++++++++++++++---------------
2 files changed, 28 insertions(+), 27 deletions(-)
diff --git a/flashproxy-client b/flashproxy-client
index 6f7477e..226be6d 100755
--- a/flashproxy-client
+++ b/flashproxy-client
@@ -39,7 +39,7 @@ LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
class options(object):
local_addr = None
remote_addr = None
- facilitator_addr = None
+ facilitator_url = None
log_filename = None
log_file = sys.stdout
@@ -67,14 +67,13 @@ If the --register option is used, then your IP address will be sent to the
facilitator so that proxies can connect to you. You need to register in some way
in order to get any service. The --facilitator option allows controlling which
facilitator is used; if omitted, it uses a public default.
- --daemon daemonize (Unix only).
- -f, --facilitator=HOST[:PORT] advertise willingness to receive connections to
- HOST:PORT.
- -h, --help show this help.
- -l, --log FILENAME write log to FILENAME (default stdout).
- --pidfile FILENAME write PID to FILENAME after daemonizing.
- -r, --register register with the facilitator.
- --unsafe-logging don't scrub IP addresses from logs.\
+ --daemon daemonize (Unix only).
+ -f, --facilitator=URL advertise willingness to receive connections to URL.
+ -h, --help show this help.
+ -l, --log FILENAME write log to FILENAME (default stdout).
+ --pidfile FILENAME write PID to FILENAME after daemonizing.
+ -r, --register register with the facilitator.
+ --unsafe-logging don't scrub IP addresses from logs.\
""" % {
"progname": sys.argv[0],
"local": format_addr((DEFAULT_LOCAL_ADDRESS, DEFAULT_LOCAL_PORT)),
@@ -633,10 +632,10 @@ def register():
return
command = [os.path.join(script_dir, "flashproxy-reg-http")]
spec = format_addr(options.remote_addr)
- if options.facilitator_addr is None:
+ if options.facilitator_url is None:
log(u"Registering \"%s\"." % spec)
else:
- command += ["-f", format_addr(options.facilitator_addr)]
+ command += ["-f", options.facilitator_url]
command += [spec]
try:
p = subprocess.Popen(command)
@@ -861,7 +860,7 @@ if __name__ == "__main__":
if o == "--daemon":
options.daemonize = True
elif o == "-f" or o == "--facilitator":
- options.facilitator_addr = parse_addr_spec(a)
+ options.facilitator_url = a
elif o == "-h" or o == "--help":
usage()
sys.exit()
diff --git a/flashproxy-reg-http b/flashproxy-reg-http
index 4372c1f..d137827 100755
--- a/flashproxy-reg-http
+++ b/flashproxy-reg-http
@@ -6,15 +6,15 @@ import re
import socket
import sys
import urllib
+import urllib2
DEFAULT_REMOTE_ADDRESS = ""
DEFAULT_REMOTE_PORT = 9000
-DEFAULT_FACILITATOR_HOST = "tor-facilitator.bamsoftware.com"
-DEFAULT_FACILITATOR_PORT = 443
+DEFAULT_FACILITATOR_URL = "https://tor-facilitator.bamsoftware.com/"
class options(object):
remote_addr = None
- facilitator_addr = None
+ facilitator_url = None
def usage(f = sys.stdout):
print >> f, """\
@@ -22,12 +22,12 @@ Usage: %(progname)s [REMOTE][:PORT]
Register with a flash proxy facilitator using an HTTP POST. By default the
remote address registered is "%(remote_addr)s".
- -f, --facilitator=HOST[:PORT] register with the given facilitator (by
- default "%(fac_addr)s".)
- -h, --help show this help. \
+ -f, --facilitator=URL register with the given facilitator
+ (by default "%(fac_url)s").
+ -h, --help show this help. \
""" % {
"progname": sys.argv[0],
- "fac_addr": format_addr((DEFAULT_FACILITATOR_HOST, DEFAULT_FACILITATOR_PORT)),
+ "fac_url": DEFAULT_FACILITATOR_URL,
"remote_addr": format_addr((DEFAULT_REMOTE_ADDRESS, DEFAULT_REMOTE_PORT)),
}
@@ -81,13 +81,13 @@ def format_addr(addr):
result += u":%d" % port
return result
-options.facilitator_addr = (DEFAULT_FACILITATOR_HOST, DEFAULT_FACILITATOR_PORT)
+options.facilitator_url = DEFAULT_FACILITATOR_URL
options.remote_addr = (DEFAULT_REMOTE_ADDRESS, DEFAULT_REMOTE_PORT)
opts, args = getopt.gnu_getopt(sys.argv[1:], "f:h", ["facilitator=", "help"])
for o, a in opts:
if o == "-f" or o == "--facilitator":
- options.facilitator_addr = parse_addr_spec(a, DEFAULT_FACILITATOR_HOST, DEFAULT_FACILITATOR_PORT)
+ options.facilitator_url = a
elif o == "-h" or o == "--help":
usage()
sys.exit()
@@ -101,15 +101,17 @@ else:
sys.exit(1)
spec = format_addr(options.remote_addr)
-http = httplib.HTTPSConnection(*options.facilitator_addr)
try:
- http.request("POST", "/", urllib.urlencode({"client": spec}))
- resp = http.getresponse()
- if resp.status != 200:
- raise ValueError("Status code was %d, not 200" % resp.status)
+ http = urllib2.urlopen(options.facilitator_url, urllib.urlencode({"client": spec}), 10)
+except urllib2.HTTPError, e:
+ print >> sys.stderr, "Status code was %d, not 200" % e.code
+ sys.exit(1)
+except urllib2.URLError, e:
+ print >> sys.stderr, "Failed to register: %s" % str(e.reason)
+ sys.exit(1)
except Exception, e:
print >> sys.stderr, "Failed to register: %s" % str(e)
sys.exit(1)
http.close()
-print "Registered \"%s\" with %s." % (spec, format_addr(options.facilitator_addr))
+print "Registered \"%s\" with %s." % (spec, options.facilitator_url)
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits