def serve_files(): authorizer = fs.DummyAuthorizer() perm = "elr" authorizer.add_anonymous(share_dir, perm=perm) handler = fs.FTPHandler handler.authorizer = authorizer ftpd = fs.FTPServer(('0.0.0.0', 0), handler) print ftpd.kport ftpd.serve_forever()
def run(self): autho = authorizer.authorizer() ftpserver.FTPHandler.authorizer = autho ftpserver.max_cons = 300 ftpserver.max_cons_per_ip = 50 ftpserver.FTPHandler.abstracted_fs = abstracted_fs.abstracted_fs if PASSIVE_PORTS: ftpserver.FTPHandler.passive_ports = PASSIVE_PORTS ftpserver.log = lambda msg: _logger.info(msg) ftpserver.logline = lambda msg: None ftpserver.logerror = lambda msg: _logger.error(msg) ftpd = ftpserver.FTPServer((HOST, PORT), ftpserver.FTPHandler) ftpd.serve_forever()
def ftp_server_deamon(self): try: if self.ftpd_running == False: self.ftp_authorizer = ftpserver.DummyAuthorizer() self.ftp_authorizer.add_user(self.default["user"], self.default["pass"], self.default["dir"], perm='elradfmw') self.ftp_handler = ftpserver.FTPHandler self.ftp_handler.authorizer = self.ftp_authorizer self.ftp_handler.banner = self.__NAME__ self.ftpd = ftpserver.FTPServer( (self.getIP(), self.default["port"]), self.ftp_handler) self.ftpd.max_cons = 256 self.ftpd.max_cons_per_ip = 5 self.ftpd.timeout = 0 self.ftpd_running = True self.uiMenu( ["restart", "stop", "options", "update", "about", "exit"]) self.ftpd.serve_forever() self.ftpd_running = False self.log("FTP server stopped.") self.uiMenu( ["connect", "start", "options", "update", "about", "exit"]) except Exception, e: if self.ftpd_auto: self.log("Couldn't auto start FTP server. Do it manually.") else: self.log("FTP server error: %s" % e) self.ftpd_auto = False self.ftpd_running = False self.uiMenu( ["connect", "start", "options", "update", "about", "exit"])
import android, socket, struct import ftpserver droid = android.Android() authorizer = ftpserver.DummyAuthorizer() authorizer.add_anonymous('/sdcard/downloads') authorizer.add_user('user', 'password', '/sdcard/sl4a/scripts', perm='elradfmw') handler = ftpserver.FTPHandler handler.authorizer = authorizer ipdec = droid.wifiGetConnectionInfo().result['ip_address'] ipstr = socket.inet_ntoa(struct.pack('L', ipdec)) droid.makeToast(ipstr) server = ftpserver.FTPServer((ipstr, 8080), handler) server.serve_forever()