Skip to content

Commit be3bf33

Browse files
committed
Fix proxy and argparse
1 parent 8f9129d commit be3bf33

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

src/main.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
logging.getLogger("docker").setLevel(logging.INFO)
1818

1919
def getDockerHostFromContext():
20-
current_context_name_cmd = subprocess.run(["docker", "context", "show"], capture_output=True)
21-
current_context_name = current_context_name_cmd.stdout.decode().replace("\n", "")
22-
current_context_cmd = subprocess.run(["docker", "context", "inspect", current_context_name], capture_output=True)
20+
current_context_cmd = subprocess.run(["docker", "context", "inspect"], capture_output=True)
2321
current_context_json = json.loads(current_context_cmd.stdout.decode())
2422
return current_context_json[0]["Endpoints"]["docker"]["Host"]
2523

@@ -70,7 +68,7 @@ def mainLoop(docker_host, listen_system_ports):
7068
if __name__ == "__main__":
7169
logging.info('Starting docker remote proxy!')
7270
parser = argparse.ArgumentParser(description='Remote docker context proxy')
73-
parser.add_argument('--listen-system-ports', action=argparse.BooleanOptionalAction, default=False, help='Listen and Proxy system ports example: 22, 80, 443 etc.!')
71+
parser.add_argument('--listen-system-ports', action='store_true', help='Listen and Proxy system ports example: 22, 80, 443 etc.!')
7472
parser.add_argument('--host', type=str, default=None, help='Docker host uri')
7573
args = parser.parse_args()
7674
if DOCKER_HOST_ENV != None:

src/proxy.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import threading
44
import logging
55
from enum import Enum, auto
6-
import fcntl, os
76
import errno
87
import time
98

@@ -41,7 +40,7 @@ def handle(self):
4140
def transferData(self, sock1 : socket, sock2 : socket, max_read_try = 10, receive_message_length = 2048):
4241
read_try = 0
4342
last_try = False
44-
fcntl.fcntl(sock1, fcntl.F_SETFL, os.O_NONBLOCK)
43+
sock1.setblocking(0)
4544
while True:
4645
try:
4746
msg = sock1.recv(receive_message_length)
@@ -58,14 +57,13 @@ def transferData(self, sock1 : socket, sock2 : socket, max_read_try = 10, receiv
5857
else:
5958
last_try = True
6059
except error as e:
61-
err = e.args[0]
62-
if err == errno.EAGAIN or err == errno.EWOULDBLOCK:
63-
if read_try > max_read_try:
64-
return
65-
read_try += 1
66-
time.sleep(0.1)
67-
continue
68-
raise e
60+
if e.errno != errno.EAGAIN and e.errno != errno.EWOULDBLOCK:
61+
raise e
62+
if read_try > max_read_try:
63+
return
64+
read_try += 1
65+
time.sleep(0.1)
66+
continue
6967

7068
class ThreadedTCPServer(ThreadingMixIn, TCPServer):
7169
pass

0 commit comments

Comments
 (0)