diff --git a/modules/block_requests.py b/modules/block_requests.py index 4358a820..775a9b14 100644 --- a/modules/block_requests.py +++ b/modules/block_requests.py @@ -1,19 +1,47 @@ +import builtins +import io + import requests from modules.logging_colors import logger +original_open = open +original_get = requests.get + class RequestBlocker: def __enter__(self): - self.original_get = requests.get requests.get = my_get def __exit__(self, exc_type, exc_value, traceback): - requests.get = self.original_get + requests.get = original_get + + +class OpenMonkeyPatch: + + def __enter__(self): + builtins.open = my_open + + def __exit__(self, exc_type, exc_value, traceback): + builtins.open = original_open def my_get(url, **kwargs): logger.info('Unwanted HTTP request redirected to localhost :)') kwargs.setdefault('allow_redirects', True) return requests.api.request('get', 'http://127.0.0.1/', **kwargs) + + +# Kindly provided by our friend WizardLM-30B +def my_open(*args, **kwargs): + filename = str(args[0]) + if filename.endswith('index.html'): + with original_open(*args, **kwargs) as f: + file_contents = f.read() + + file_contents = file_contents.replace(b'', b'') + file_contents = file_contents.replace(b'cdnjs.cloudflare.com', b'127.0.0.1') + return io.BytesIO(file_contents) + else: + return original_open(*args, **kwargs) diff --git a/server.py b/server.py index 5c224e36..18474d3b 100644 --- a/server.py +++ b/server.py @@ -2,7 +2,7 @@ import os import warnings from modules.logging_colors import logger -from modules.block_requests import RequestBlocker +from modules.block_requests import OpenMonkeyPatch, RequestBlocker os.environ['GRADIO_ANALYTICS_ENABLED'] = 'False' os.environ['BITSANDBYTES_NOWELCOME'] = '1' @@ -1068,10 +1068,11 @@ def create_interface(): # Launch the interface shared.gradio['interface'].queue() - if shared.args.listen: - shared.gradio['interface'].launch(prevent_thread_lock=True, share=shared.args.share, server_name=shared.args.listen_host or '0.0.0.0', server_port=shared.args.listen_port, inbrowser=shared.args.auto_launch, auth=auth) - else: - shared.gradio['interface'].launch(prevent_thread_lock=True, share=shared.args.share, server_port=shared.args.listen_port, inbrowser=shared.args.auto_launch, auth=auth) + with OpenMonkeyPatch(): + if shared.args.listen: + shared.gradio['interface'].launch(prevent_thread_lock=True, share=shared.args.share, server_name=shared.args.listen_host or '0.0.0.0', server_port=shared.args.listen_port, inbrowser=shared.args.auto_launch, auth=auth) + else: + shared.gradio['interface'].launch(prevent_thread_lock=True, share=shared.args.share, server_port=shared.args.listen_port, inbrowser=shared.args.auto_launch, auth=auth) if __name__ == "__main__":