Allow no remote to work.

Pull request #502 made -r/--remote required. However, the
documentation still indicates that using no remote is a valid way to
test sshuttle (see Examples section of man page). I think this mode
might be useful for testing performance local without ssh, local with
ssh, and remote with ssh.

This patch adds a warning when -r/--remote is missing but restores the
previous behavior.
This commit is contained in:
Scott Kuhl 2020-10-18 17:19:45 -04:00
parent c1cc3911df
commit 574ed8e564
2 changed files with 5 additions and 3 deletions

View File

@ -572,9 +572,9 @@ def main(listenip_v6, listenip_v4,
user, sudo_pythonpath):
if not remotename:
# XXX: We can't make it required at the argparse level,
# because sshuttle calls out to itself in FirewallClient.
raise Fatal("You must specify -r/--remote.")
print("WARNING: You must specify -r/--remote to securely route "
"traffic to a remote machine. Running without -r/--remote "
"is only recommended for testing.")
if daemon:
try:

View File

@ -43,6 +43,8 @@ def parse_hostport(rhostport):
"""
# leave use of default port to ssh command to prevent overwriting
# ports configured in ~/.ssh/config when no port is given
if rhostport is None or len(rhostport) == 0:
return None, None, None, None
port = None
username = None
password = None