diff options
Diffstat (limited to 'catapult/telemetry/third_party/tsproxy/tsproxy.py')
-rw-r--r-- | catapult/telemetry/third_party/tsproxy/tsproxy.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/catapult/telemetry/third_party/tsproxy/tsproxy.py b/catapult/telemetry/third_party/tsproxy/tsproxy.py index fce58e91..e4c0c271 100644 --- a/catapult/telemetry/third_party/tsproxy/tsproxy.py +++ b/catapult/telemetry/third_party/tsproxy/tsproxy.py @@ -266,6 +266,8 @@ class TCPConnection(asyncore.dispatcher): if self.needs_config: self.needs_config = False self.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + self.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024) + self.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024) if len(self.buffer) > 0: sent = self.send(self.buffer) logging.debug('[{0:d}] TCP => {1:d} byte(s)'.format(self.client_id, sent)) @@ -385,7 +387,8 @@ class Socks5Connection(asyncore.dispatcher): self.requested_address = None self.buffer = '' self.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - self.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1460) + self.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024) + self.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024) self.needs_close = False def SendMessage(self, type, message): @@ -631,6 +634,7 @@ def main(): parser = argparse.ArgumentParser(description='Traffic-shaping socks5 proxy.', prog='tsproxy') parser.add_argument('-v', '--verbose', action='count', help="Increase verbosity (specify multiple times for more). -vvvv for full debug output.") + parser.add_argument('--logfile', help="Write log messages to given file instead of stdout.") parser.add_argument('-b', '--bind', default='localhost', help="Server interface address (defaults to localhost).") parser.add_argument('-p', '--port', type=int, default=1080, help="Server port (defaults to 1080, use 0 for randomly assigned).") parser.add_argument('-r', '--rtt', type=float, default=.0, help="Round Trip Time Latency (in ms).") @@ -653,7 +657,11 @@ def main(): log_level = logging.INFO elif options.verbose >= 4: log_level = logging.DEBUG - logging.basicConfig(level=log_level, format="%(asctime)s.%(msecs)03d - %(message)s", datefmt="%H:%M:%S") + if options.logfile is not None: + logging.basicConfig(filename=options.logfile, level=log_level, + format="%(asctime)s.%(msecs)03d - %(message)s", datefmt="%H:%M:%S") + else: + logging.basicConfig(level=log_level, format="%(asctime)s.%(msecs)03d - %(message)s", datefmt="%H:%M:%S") # Parse any port mappings if options.mapports: |