Skip to content

Commit

Permalink
Port Tunneling with WebRTC and TURN Auth
Browse files Browse the repository at this point in the history
  • Loading branch information
miroberts committed Dec 8, 2023
1 parent aece058 commit d1e77f2
Show file tree
Hide file tree
Showing 12 changed files with 470 additions and 856 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ keeper.txt
*.csv
Makefile
*.db
dr-logs
2 changes: 2 additions & 0 deletions keepercommander/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,8 @@ def is_msp(params_local):
elif command_line == 'debug':
is_debug = logging.getLogger().level <= logging.DEBUG
logging.getLogger().setLevel((logging.WARNING if params.batch_mode else logging.INFO) if is_debug else logging.DEBUG)
logging.getLogger('aiortc').setLevel(logging.WARNING if is_debug or params.batch_mode else logging.DEBUG)
logging.getLogger('aioice').setLevel(logging.WARNING if is_debug or params.batch_mode else logging.DEBUG)
logging.info('Debug %s', 'OFF' if is_debug else 'ON')

else:
Expand Down
268 changes: 156 additions & 112 deletions keepercommander/commands/discoveryrotation.py

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions keepercommander/commands/pam/pam_dto.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,12 @@ def __init__(self, conversation_id=None):

def toJSON(self):
return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4)


class GatewayActionWebRTCSession(GatewayAction):

def __init__(self, inputs: dict,conversation_id=None):
super().__init__('webrtc-session', inputs=inputs, conversation_id=conversation_id, is_scheduled=False)

def toJSON(self):
return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4)
20 changes: 19 additions & 1 deletion keepercommander/commands/pam/router_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,25 @@ def router_get_rotation_schedules(params, proto_request):

return None

def router_get_relay_access_creds(params, expire_sec=None):
query_params = {
'expire-sec': expire_sec
}

def _post_request_to_router(params, path, rq_proto=None, method='post', raw_without_status_check_response=False):
rs = _post_request_to_router(params, 'relay_access_creds', query_params=query_params)

if type(rs) == bytes:
rac = pam_pb2.RelayAccessCreds()
rac.ParseFromString(rs)
if logging.getLogger().level <= logging.DEBUG:
js = google.protobuf.json_format.MessageToJson(rac)
logging.debug('>>> [GW RS] %s: %s', 'get_relay_access_creds', js)

return rac

return None

def _post_request_to_router(params, path, rq_proto=None, method='post', raw_without_status_check_response=False, query_params=None):
path = 'api/user/' + path
krouter_host = get_router_url(params)

Expand All @@ -113,6 +130,7 @@ def _post_request_to_router(params, path, rq_proto=None, method='post', raw_with
try:
rs = requests.request(method,
krouter_host + "/" + path,
params=query_params,
verify=VERIFY_SSL,
headers={
'TransmissionKey': bytes_to_base64(encrypted_transmission_key),
Expand Down
Loading

0 comments on commit d1e77f2

Please sign in to comment.