summaryrefslogtreecommitdiff
path: root/systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py
diff options
context:
space:
mode:
Diffstat (limited to 'systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py')
-rw-r--r--systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py b/systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py
index fce58e9..e4c0c27 100644
--- a/systrace/catapult/telemetry/third_party/tsproxy/tsproxy.py
+++ b/systrace/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: