@@ -826,6 +826,7 @@ def add_network_options(parser):
|
|||||||
parser.add_argument("-1", "--oneserver", action="store_true", dest="oneserver", default=None, help="connect to one server only")
|
parser.add_argument("-1", "--oneserver", action="store_true", dest="oneserver", default=None, help="connect to one server only")
|
||||||
parser.add_argument("-s", "--server", dest="server", default=None, help="set server host:port:protocol, where protocol is either t (tcp) or s (ssl)")
|
parser.add_argument("-s", "--server", dest="server", default=None, help="set server host:port:protocol, where protocol is either t (tcp) or s (ssl)")
|
||||||
parser.add_argument("-p", "--proxy", dest="proxy", default=None, help="set proxy [type:]host[:port], where type is socks4,socks5 or http")
|
parser.add_argument("-p", "--proxy", dest="proxy", default=None, help="set proxy [type:]host[:port], where type is socks4,socks5 or http")
|
||||||
|
parser.add_argument("--noonion", action="store_true", dest="noonion", default=None, help="do not try to connect to onion servers")
|
||||||
|
|
||||||
def add_global_options(parser):
|
def add_global_options(parser):
|
||||||
group = parser.add_argument_group('global options')
|
group = parser.add_argument_group('global options')
|
||||||
|
|||||||
@@ -89,6 +89,10 @@ def filter_version(servers):
|
|||||||
return {k: v for k, v in servers.items() if is_recent(v.get('version'))}
|
return {k: v for k, v in servers.items() if is_recent(v.get('version'))}
|
||||||
|
|
||||||
|
|
||||||
|
def filter_noonion(servers):
|
||||||
|
return {k: v for k, v in servers.items() if not k.endswith('.onion')}
|
||||||
|
|
||||||
|
|
||||||
def filter_protocol(hostmap, protocol='s'):
|
def filter_protocol(hostmap, protocol='s'):
|
||||||
'''Filters the hostmap for those implementing protocol.
|
'''Filters the hostmap for those implementing protocol.
|
||||||
The result is a list in serialized form.'''
|
The result is a list in serialized form.'''
|
||||||
@@ -409,6 +413,8 @@ class Network(util.DaemonThread):
|
|||||||
continue
|
continue
|
||||||
if host not in out:
|
if host not in out:
|
||||||
out[host] = {protocol: port}
|
out[host] = {protocol: port}
|
||||||
|
if self.config.get('noonion'):
|
||||||
|
out = filter_noonion(out)
|
||||||
return out
|
return out
|
||||||
|
|
||||||
@with_interface_lock
|
@with_interface_lock
|
||||||
|
|||||||
Reference in New Issue
Block a user