Skip to content

Commit

Permalink
Add host specification on the CLI for #763
Browse files Browse the repository at this point in the history
  • Loading branch information
machawk1 committed May 8, 2022
1 parent 045dfaf commit e03dc1a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
12 changes: 11 additions & 1 deletion ipwb/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,19 @@ def check_args_replay(args):
print(f'Proxying to {args.proxy}')
proxy = args.proxy

host = replay.IPWBREPLAY_HOST
if hasattr(args, 'host') and args.host is not None:
print(f'Using custom host {args.host} for replay.')
host = args.host

port = replay.IPWBREPLAY_PORT
if hasattr(args, 'port') and args.port is not None:
print(f'Using custom port {args.port} for replay.')
port = args.port

# TODO: add any other sub-arguments for replay here
if supplied_index_parameter:
replay.start(cdxj_file_path=args.index, proxy=proxy, port=port)
replay.start(cdxj_file_path=args.index, proxy=proxy, host=host, port=port)
else:
print('ERROR: An index file must be specified if not piping, e.g.,')
print(("> ipwb replay "
Expand Down Expand Up @@ -144,6 +149,11 @@ def check_args(args_in):
type=int,
default=util.IPWBREPLAY_PORT
)
replay_parser.add_argument(
'-H', '--host',
help='Custom Host',
default=util.IPWBREPLAY_HOST
)
replay_parser.set_defaults(func=check_args_replay,
onError=replay_parser.print_help)

Expand Down
8 changes: 4 additions & 4 deletions ipwb/replay.py
Original file line number Diff line number Diff line change
Expand Up @@ -1047,15 +1047,15 @@ def get_cdxj_line_binary_search(
return line_found


def start(cdxj_file_path, proxy=None, port=IPWBREPLAY_PORT):
def start(cdxj_file_path, proxy=None, host=IPWBREPLAY_HOST, port=IPWBREPLAY_PORT):
host_port = ipwb_utils.get_ipwb_replay_config()
app.proxy = proxy

# Retain port for subsequent runs
ipwb_utils.set_ipwb_replay_config(IPWBREPLAY_HOST, port)
ipwb_utils.set_ipwb_replay_config(host, port)

if not host_port:
host_port = (IPWBREPLAY_HOST, port)
host_port = (host, port)

# This will throw an exception if daemon is not available.
ipwb_utils.check_daemon_is_alive()
Expand All @@ -1067,7 +1067,7 @@ def start(cdxj_file_path, proxy=None, port=IPWBREPLAY_PORT):
print((f'IPWB replay started on '
f'http://{host_port[0]}:{host_port[1]}'))

app.run(host='0.0.0.0', port=host_port[1])
app.run(host=host_and_port[0], port=host_port[1])
except gaierror:
print('Detected no active Internet connection.')
print('Overriding to use default IP and port configuration.')
Expand Down
2 changes: 1 addition & 1 deletion ipwb/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# or '/ip4/{ipaddress}/tcp/{port}/http'
# or '/ip6/{ipaddress}/tcp/{port}/http

IPWBREPLAY_ADDRESS = 'localhost:2016'
IPWBREPLAY_ADDRESS = '0.0.0.0:2016'

(IPWBREPLAY_HOST, IPWBREPLAY_PORT) = IPWBREPLAY_ADDRESS.split(':')
IPWBREPLAY_PORT = int(IPWBREPLAY_PORT)
Expand Down

0 comments on commit e03dc1a

Please sign in to comment.