Examples#

Here are some practical examples of using thinFTP.

Basic FTP Server#

from thinftp.server import start_server
from thinftp.logger import get_logger
from argparse import Namespace

# Simple FTP server configuration
config = Namespace(
    bind='localhost',
    port=2121,
    user='anonymous',
    pswd='',
    directory='.',
    lgr=get_logger()
)

# Start the server
start_server(config)

Custom Root Directory#

import os
from thinftp.server import start_server
from thinftp.logger import get_logger
from argparse import Namespace

# Create FTP root directory if it doesn't exist
ftp_root = os.path.expanduser("~/ftp_files")
os.makedirs(ftp_root, exist_ok=True)

config = Namespace(
    bind='localhost',
    port=2121,
    user='testuser',
    pswd='testpass',
    directory=ftp_root,
    lgr=get_logger()
)
start_server(config)

With Custom Logging#

from thinftp.server import start_server
from thinftp.logger import get_logger
from argparse import Namespace

# Setup detailed logging
logger = get_logger(debug=True)

config = Namespace(
    bind='0.0.0.0',
    port=8021,
    user='ftpuser',
    pswd='ftppass',
    directory='.',
    lgr=logger
)

print("Starting FTP server with debug logging...")
start_server(config)

Command Line Examples#

# Basic server
thinftp --bind localhost --port 2121 --user anonymous

# Custom directory and debug logging
thinftp --bind 0.0.0.0 --port 8021 --directory /home/ftp --user ftpuser --debug

# Different port
thinftp --port 2525 --user testuser