def run(self): """ Starts listening server""" logging.info(" [+] Starting Macro_Pack WebDAV server...") logging.info( " [-] Files in \"" + self.WRoot + r"\" folder are accessible using url http://{ip}:{port} or \\{ip}@{port}\DavWWWRoot" .format(ip=getHostIp(), port=self.listenPort)) logging.info(" [-] Listening on port %s (ctrl-c to exit)...", self.listenPort) # Prepare WsgiDAV config config = { 'middleware_stack': { WsgiDavDirBrowser, #Enabling dir_browser middleware }, 'verbose': 3, 'add_header_MS_Author_Via': True, 'unquote_path_info': False, 're_encode_path_info': None, 'host': '0.0.0.0', 'dir_browser': { 'davmount': False, 'enable': True, #Enabling directory browsing on dir_browser 'ms_mount': False, 'show_user': True, 'ms_sharepoint_plugin': True, 'ms_sharepoint_urls': False, 'response_trailer': False }, 'port': self.listenPort, # Specifying listening port 'provider_mapping': { '/': self.WRoot } #Specifying root folder } app = WsgiDAVApp(config) server_args = { "bind_addr": (config["host"], config["port"]), "wsgi_app": app, } server = wsgi.Server(**server_args) try: log = logging.getLogger('wsgidav') log.raiseExceptions = False # hack to avoid false exceptions log.propagate = True log.setLevel(logging.INFO) server.start() except KeyboardInterrupt: logging.info(" [!] Ctrl + C detected, closing WebDAV sever") server.stop()
def run(self): """ Starts listening server""" logging.info(" [+] Starting Macro_Pack web server...") logging.info(" [-] Files in \"" + self.listenRoot + "\" folder are accessible via http://{ip}:{port}/".format( ip=getHostIp(), port=self.listenPort)) logging.info(" [-] Listening on port %s (ctrl-c to exit)..." % self.listenPort) handler_class = partial(WebServer, directory=self.listenRoot) httpdServer = HTTPServer(("0.0.0.0", self.listenPort), handler_class) httpdServer.serve_forever()
def run(self): """ Starts listening server""" logging.info(" [+] Starting Macro_Pack web server...") log = logging.getLogger('werkzeug') log.setLevel(logging.ERROR) # Disable flask log if easier to debug logging.info(" [-] Files in \"" + self.listenRoot + "\" folder are accessible using http://{ip}:{port}/u/". format(ip=getHostIp(), port=self.listenPort)) logging.info(" [-] Listening on port %s (ctrl-c to exit)..." % self.listenPort) # Run web server in another thread webapp.run( host="0.0.0.0", port=int(self.listenPort), #ssl_context=context )
def run(self): """ Starts listening server""" logging.info(" [+] Starting Macro_Pack WebDAV server...") logging.info( " [-] Files in \"" + self.WRoot + r"\" folder are accessible using url http://{ip}:{port} or \\{ip}@{port}\DavWWWRoot" .format(ip=getHostIp(), port=self.listenPort)) logging.info(" [-] Listening on port %s (ctrl-c to exit)...", self.listenPort) # Prepare WsgiDAV config config = { 'middleware_stack': { WsgiDavDirBrowser, #Enabling dir_browser middleware }, 'host': '0.0.0.0', 'dir_browser': { 'davmount': False, 'enable': True, #Enabling directory browsing on dir_browser 'ms_mount': False, 'ms_sharepoint_plugin': True, 'ms_sharepoint_urls': False, 'response_trailer': '' }, 'port': self.listenPort, # Specifying listening port 'provider_mapping': { '/': self.WRoot } #Specifying root folder } app = WsgiDAVApp(config) server_args = { "bind_addr": (config["host"], config["port"]), "wsgi_app": app, } server = wsgi.Server(**server_args) try: server.start() except: logging.info(" [!] Ctrl + C detected, closing WebDAV sever") server.stop()
def run(self): """ Starts listening server""" logging.info(" [+] Starting Macro_Pack WebDAV server...") logging.info( " [-] Files in \"" + self.WRoot + r"\" folder are accessible using url http://{ip}:{port} or \\{ip}@{port}\DavWWWRoot" .format(ip=getHostIp(), port=self.listenPort)) logging.info(" [-] Listening on port %s (ctrl-c to exit)...", self.listenPort) # Prepare WsgiDAV config config = { 'verbose': 3, 'add_header_MS_Author_Via': True, "hotfixes": { "emulate_win32_lastmod": False, # True: support Win32LastModifiedTime "re_encode_path_info": True, # (See issue #73) "unquote_path_info": False, # (See issue #8, #228) "win_accept_anonymous_options": True, }, 'host': '0.0.0.0', 'port': self.listenPort, # Specifying listening port 'provider_mapping': { '/': self.WRoot }, #Specifying root folder "middleware_stack": [ # WsgiDavDebugFilter, ErrorPrinter, #HTTPAuthenticator, WsgiDavDirBrowser, # configured under dir_browser option (see below) RequestResolver, # this must be the last middleware item ], # HTTP Authentication Options "http_authenticator": { # None: dc.simple_dc.SimpleDomainController(user_mapping) "domain_controller": None, "accept_anonymous": True, # Allow basic authentication, True or False #"accept_digest": True, # Allow digest authentication, True or False #"default_to_digest": True, # True (default digest) or False (default basic) # Name of a header field that will be accepted as authorized user "trusted_auth_header": None, }, 'dir_browser': { 'davmount': False, 'enable': True, # Enabling directory browsing on dir_browser # List of fnmatch patterns: "ignore": [ ".DS_Store", # macOS folder meta data "._*", # macOS hidden data files "Thumbs.db", # Windows image previews ], 'ms_mount': False, 'show_user': True, 'ms_sharepoint_support': True, 'ms_sharepoint_urls': False, 'response_trailer': True, }, } app = WsgiDAVApp(config) server_args = { "bind_addr": (config["host"], config["port"]), "wsgi_app": app, } server = wsgi.Server(**server_args) try: log = logging.getLogger('wsgidav') log.raiseExceptions = False # hack to avoid false exceptions log.propagate = True log.setLevel(logging.INFO) server.start() except KeyboardInterrupt: logging.info(" [!] Ctrl + C detected, closing WebDAV sever") server.stop()