本文整理汇总了Python中txtorcon.TorConfig.SocksPort方法的典型用法代码示例。如果您正苦于以下问题:Python TorConfig.SocksPort方法的具体用法?Python TorConfig.SocksPort怎么用?Python TorConfig.SocksPort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类txtorcon.TorConfig
的用法示例。
在下文中一共展示了TorConfig.SocksPort方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_basic_launch
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_basic_launch(self):
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
def connector(proto, trans):
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
class OnProgress:
def __init__(self, test, expected):
self.test = test
self.expected = expected
def __call__(self, percent, tag, summary):
self.test.assertEqual(self.expected[0], (percent, tag, summary))
self.expected = self.expected[1:]
self.test.assertTrue('"' not in summary)
self.test.assertTrue(percent >= 0 and percent <= 100)
def on_protocol(proto):
proto.outReceived('Bootstrapped 100%\n')
proto.progress = OnProgress(self, [(90, 'circuit_create', 'Establishing a Tor circuit'),
(100, 'done', 'Done')])
trans = FakeProcessTransport()
trans.protocol = self.protocol
self.othertrans = trans
creator = functools.partial(connector, self.protocol, self.transport)
d = launch_tor(config, FakeReactor(self, trans, on_protocol), connection_creator=creator)
d.addCallback(self.setup_complete_no_errors, config)
return d
示例2: startTor
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def startTor():
def updates(prog, tag, summary):
print("%d%%: %s" % (prog, summary))
tempfile.tempdir = os.path.join(_repo_dir, 'tmp')
if not os.path.isdir(tempfile.gettempdir()):
os.makedirs(tempfile.gettempdir())
_temp_dir = tempfile.mkdtemp()
torconfig = TorConfig()
torconfig.SocksPort = config.main.socks_port
if config.main.tor2webmode:
torconfig.Tor2webMode = 1
torconfig.CircuitBuildTimeout = 60
if config.main.tor_datadir is None:
log.warn("Option 'tor_datadir' in oonib.conf is unspecified!")
log.msg("Creating tmp directory in current directory for datadir.")
log.debug("Using %s" % _temp_dir)
datadir = _temp_dir
else:
datadir = config.main.tor_datadir
torconfig.DataDirectory = datadir
torconfig.save()
if config.main.tor_binary is not None:
d = launch_tor(torconfig, reactor,
tor_binary=config.main.tor_binary,
progress_updates=updates)
else:
d = launch_tor(torconfig, reactor, progress_updates=updates)
d.addCallback(setupCollector, datadir)
if ooniBouncer:
d.addCallback(setupBouncer, datadir)
d.addErrback(txSetupFailed)
示例3: test_tor_connection_fails
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_tor_connection_fails(self):
"""
We fail to connect once, and then successfully connect --
testing whether we're retrying properly on each Bootstrapped
line from stdout.
"""
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
class Connector:
count = 0
def __call__(self, proto, trans):
self.count += 1
if self.count < 2:
return defer.fail(error.CannotListenError(None, None, None))
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
def on_protocol(proto):
proto.outReceived('Bootstrapped 90%\n')
proto.outReceived('Bootstrapped 100%\n')
trans = FakeProcessTransport()
trans.protocol = self.protocol
self.othertrans = trans
creator = functools.partial(Connector(), self.protocol, self.transport)
d = launch_tor(config, FakeReactor(self, trans, on_protocol), connection_creator=creator, tor_binary='/bin/echo')
d.addCallback(self.setup_complete_fails)
return self.assertFailure(d, Exception)
示例4: test_tor_produces_stderr_output
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_tor_produces_stderr_output(self):
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
def connector(proto, trans):
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
def on_protocol(proto):
proto.errReceived('Something went horribly wrong!\n')
trans = FakeProcessTransport()
trans.protocol = self.protocol
self.othertrans = trans
fakeout = StringIO()
fakeerr = StringIO()
creator = functools.partial(connector, self.protocol, self.transport)
d = launch_tor(config, FakeReactor(self, trans, on_protocol),
connection_creator=creator, tor_binary='/bin/echo',
stdout=fakeout, stderr=fakeerr)
d.addCallback(self.fail) # should't get callback
d.addErrback(self.setup_fails_stderr, fakeout, fakeerr)
self.assertFalse(self.protocol.on_disconnect)
return d
示例5: _do_launch_tor
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def _do_launch_tor(self):
tconfig = TorConfig()
#tconfig.ControlPort = allocate_tcp_port() # defaults to 9052
tconfig.SocksPort = allocate_tcp_port()
socks_desc = "tcp:127.0.0.1:%d" % tconfig.SocksPort
# this could take tor_binary=
tproto = yield launch_tor(tconfig, self._reactor)
returnValue((tproto, tconfig, socks_desc))
示例6: startTor
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def startTor(self):
""" Starts Tor
Launches a Tor with :param: socks_port :param: control_port
:param: tor_binary set in ooniprobe.conf
"""
log.msg("Starting Tor...")
from txtorcon import TorConfig
tor_config = TorConfig()
if config.tor.control_port is None:
config.tor.control_port = int(randomFreePort())
if config.tor.socks_port is None:
config.tor.socks_port = int(randomFreePort())
tor_config.ControlPort = config.tor.control_port
tor_config.SocksPort = config.tor.socks_port
if config.tor.data_dir:
data_dir = os.path.expanduser(config.tor.data_dir)
if not os.path.exists(data_dir):
log.msg("%s does not exist. Creating it." % data_dir)
os.makedirs(data_dir)
tor_config.DataDirectory = data_dir
if config.tor.bridges:
tor_config.UseBridges = 1
if config.advanced.obfsproxy_binary:
tor_config.ClientTransportPlugin = (
'obfs2,obfs3 exec %s managed' %
config.advanced.obfsproxy_binary
)
bridges = []
with open(config.tor.bridges) as f:
for bridge in f:
if 'obfs' in bridge:
if config.advanced.obfsproxy_binary:
bridges.append(bridge.strip())
else:
bridges.append(bridge.strip())
tor_config.Bridge = bridges
if config.tor.torrc:
for i in config.tor.torrc.keys():
setattr(tor_config, i, config.tor.torrc[i])
if os.geteuid() == 0:
tor_config.User = pwd.getpwuid(os.geteuid()).pw_name
tor_config.save()
log.debug("Setting control port as %s" % tor_config.ControlPort)
log.debug("Setting SOCKS port as %s" % tor_config.SocksPort)
return start_tor(tor_config)
示例7: get_tor_config
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def get_tor_config():
tor_config = TorConfig()
if config.tor.control_port is None:
config.tor.control_port = int(randomFreePort())
if config.tor.socks_port is None:
config.tor.socks_port = int(randomFreePort())
tor_config.ControlPort = config.tor.control_port
tor_config.SocksPort = config.tor.socks_port
if config.tor.data_dir:
data_dir = os.path.expanduser(config.tor.data_dir)
# We only use the Tor data dir specified in the config file if
# 1. It is not locked (i.e. another process is using it)
# 2. We have write permissions to it
data_dir_usable = is_tor_data_dir_usable(data_dir)
try:
mkdir_p(data_dir)
except OSError as ose:
if ose.errno == errno.EACCESS:
data_dir_usable = False
else:
raise
if data_dir_usable:
tor_config.DataDirectory = data_dir
if config.tor.bridges:
tor_config.UseBridges = 1
if config.advanced.obfsproxy_binary:
tor_config.ClientTransportPlugin = (
'obfs2,obfs3 exec %s managed' %
config.advanced.obfsproxy_binary
)
bridges = []
with open(config.tor.bridges) as f:
for bridge in f:
if 'obfs' in bridge:
if config.advanced.obfsproxy_binary:
bridges.append(bridge.strip())
else:
bridges.append(bridge.strip())
tor_config.Bridge = bridges
if config.tor.torrc:
for i in config.tor.torrc.keys():
setattr(tor_config, i, config.tor.torrc[i])
if os.geteuid() == 0:
tor_config.User = pwd.getpwuid(os.geteuid()).pw_name
tor_config.save()
log.debug("Setting control port as %s" % tor_config.ControlPort)
log.debug("Setting SOCKS port as %s" % tor_config.SocksPort)
return tor_config
示例8: test_create_torrc
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_create_torrc(self):
config = TorConfig()
config.SocksPort = 1234
config.hiddenservices = [HiddenService(config, '/some/dir', '80 127.0.0.1:1234',
'auth', 2)]
config.Log = ['80 127.0.0.1:80', '90 127.0.0.1:90']
torrc = config.create_torrc()
self.assertTrue(torrc == '''HiddenServiceDir /some/dir
HiddenServicePort 80 127.0.0.1:1234
HiddenServiceVersion 2
HiddenServiceAuthorizeClient auth
Log 80 127.0.0.1:80
Log 90 127.0.0.1:90
SocksPort 1234
''')
示例9: test_create_torrc
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_create_torrc(self):
config = TorConfig()
config.SocksPort = 1234
config.hiddenservices = [HiddenService(config, '/some/dir', '80 127.0.0.1:1234',
'auth', 2)]
config.Log = ['80 127.0.0.1:80', '90 127.0.0.1:90']
config.save()
torrc = config.create_torrc()
lines = torrc.split('\n')
lines.sort()
torrc = '\n'.join(lines).strip()
self.assertEqual(torrc, '''HiddenServiceAuthorizeClient auth
HiddenServiceDir /some/dir
HiddenServicePort 80 127.0.0.1:1234
HiddenServiceVersion 2
Log 80 127.0.0.1:80
Log 90 127.0.0.1:90
SocksPort 1234''')
示例10: startTor
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def startTor():
def updates(prog, tag, summary):
print("%d%%: %s" % (prog, summary))
torconfig = TorConfig()
torconfig.SocksPort = config.main.socks_port
if config.main.tor2webmode:
torconfig.Tor2webMode = 1
torconfig.CircuitBuildTimeout = 60
torconfig.save()
if config.main.tor_binary is not None:
d = launch_tor(torconfig, reactor,
tor_binary=config.main.tor_binary,
progress_updates=updates)
else:
d = launch_tor(torconfig, reactor, progress_updates=updates)
d.addCallback(setupCollector)
d.addErrback(txSetupFailed)
示例11: _configTor
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def _configTor():
torconfig = TorConfig()
if config.main.socks_port is None:
config.main.socks_port = int(randomFreePort())
torconfig.SocksPort = config.main.socks_port
if config.main.control_port is None:
config.main.control_port = int(randomFreePort())
torconfig.ControlPort = config.main.control_port
if config.main.tor2webmode is True:
torconfig.Tor2webMode = 1
torconfig.CircuitBuildTimeout = 60
if config.main.tor_datadir is None:
temporary_data_dir = tempfile.mkdtemp()
log.warn("Option 'tor_datadir' in oonib.conf is unspecified!")
log.warn("Using %s" % temporary_data_dir)
torconfig.DataDirectory = temporary_data_dir
uid = -1
gid = -1
if config.main.uid is not None:
uid = config.main.uid
if config.main.gid is not None:
gid = config.main.gid
os.chown(temporary_data_dir, uid, gid)
else:
if os.path.exists(config.main.tor_datadir):
torconfig.DataDirectory = os.path.abspath(config.main.tor_datadir)
else:
raise Exception("Could not find tor datadir")
if config.main.uid is not None:
try:
user = pwd.getpwuid(config.main.uid)[0]
except KeyError:
raise Exception("Invalid user ID")
torconfig.User = user
tor_log_file = os.path.join(torconfig.DataDirectory, "tor.log")
torconfig.Log = ["notice stdout", "notice file %s" % tor_log_file]
torconfig.save()
return torconfig
示例12: test_launch_tor_fails
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_launch_tor_fails(self):
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
def connector(proto, trans):
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
def on_protocol(proto):
proto.outReceived('Bootstrapped 100%\n')
trans = FakeProcessTransport()
trans.protocol = self.protocol
self.othertrans = trans
creator = functools.partial(connector, self.protocol, self.transport)
d = launch_tor(config, FakeReactor(self, trans, on_protocol), connection_creator=creator, tor_binary='/bin/echo')
d.addCallback(self.setup_complete_fails)
return self.assertFailure(d, Exception)
示例13: test_launch_with_timeout
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_launch_with_timeout(self):
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
timeout = 5
def connector(proto, trans):
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
class OnProgress:
def __init__(self, test, expected):
self.test = test
self.expected = expected
def __call__(self, percent, tag, summary):
self.test.assertEqual(self.expected[0], (percent, tag, summary))
self.expected = self.expected[1:]
self.test.assertTrue('"' not in summary)
self.test.assertTrue(percent >= 0 and percent <= 100)
def on_protocol(proto):
proto.outReceived('Bootstrapped 100%\n')
trans = FakeProcessTransportNeverBootstraps()
trans.protocol = self.protocol
self.othertrans = trans
creator = functools.partial(connector, self.protocol, self.transport)
react = FakeReactor(self, trans, on_protocol)
d = launch_tor(config, react, connection_creator=creator,
timeout=timeout, tor_binary='/bin/echo')
# FakeReactor is a task.Clock subclass and +1 just to be sure
react.advance(timeout + 1)
self.assertTrue(d.called)
self.assertTrue(d.result.getErrorMessage().strip().endswith('Tor was killed (TERM).'))
self.flushLoggedErrors(RuntimeError)
return self.assertFailure(d, RuntimeError)
示例14: test_launch_tor_fails
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
def test_launch_tor_fails(self):
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
def connector(proto, trans):
proto._set_valid_events('STATUS_CLIENT')
proto.makeConnection(trans)
proto.post_bootstrap.callback(proto)
return proto.post_bootstrap
def on_protocol(proto):
proto.outReceived('Bootstrapped 90%\n')
trans = FakeProcessTransport()
trans.protocol = self.protocol
self.othertrans = trans
fakeout = StringIO()
fakeerr = StringIO()
creator = functools.partial(connector, self.protocol, self.transport)
d = launch_tor(config, FakeReactor(self, trans, on_protocol), connection_creator=creator, tor_binary='/bin/echo', stdout=fakeout, stderr=fakeerr)
d.addCallback(self.setup_complete_fails, fakeout, fakeerr)
self.flushLoggedErrors(RuntimeError)
return d
示例15: TorState
# 需要导入模块: from txtorcon import TorConfig [as 别名]
# 或者: from txtorcon.TorConfig import SocksPort [as 别名]
print "setup complete:",proto
print "Building a TorState"
state = TorState(proto.tor_protocol)
state.post_bootstrap.addCallback(state_complete)
state.post_bootstrap.addErrback(setup_failed)
def setup_failed(arg):
print "SETUP FAILED",arg
reactor.stop()
def bootstrap(c):
conf = TorConfig(c)
conf.post_bootstrap.addCallback(setup_complete).addErrback(setup_failed)
print "Connection is live, bootstrapping state..."
## FIXME need some way to make TorConfig slutty about accepting any
## unknown attribute into its config if it has no attached
## protocol...so we can set the config options we want
config = TorConfig()
config.OrPort = 1234
config.SocksPort = 9999
def updates(prog, tag, summary):
print "%d%%: %s" % (prog, summary)
d = launch_tor(config, reactor, progress_updates=updates)
d.addCallback(setup_complete)
d.addErrback(setup_failed)
reactor.run()