• Stars
    star
    147
  • Rank 251,347 (Top 5 %)
  • Language
    C
  • License
    Other
  • Created over 8 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tinyftpd是用c语言实现的简单、快速、高效的Linux FTP服务器,只需简单的配置,就可快速的将主机变成高效的FTP服务器。

Tinyftpd


CMake

概述

Tinyftpd是用c语言实现的简单、快速、高效的Linux FTP服务器,只需简单的配置,就可快速的将主机变成高效的FTP服务器。

模块简介

TinyFTP分为 字符串工具模块、参数配置模块、socket模块、内部进程间通讯模块、系统调用工具模块。

  1. 字符串工具模块:字符串模块主要用来处理开发过程中,各种对字符串的处理。模块在string.hstring.c
  2. 参数配置模块:参数配置模块提供参数配置的功能。具体在parseconf.hparseconf.c
  3. socket模块:用于socket通讯建立与数据传输。可见 commonsock.h commonsock.c
  4. 内部进程间通讯模块:用于子进程 与 父进程间的通讯 与数据传输。privsock.hprivsock.c
  5. 系统调用工具模块:主要是一些用到的系统调用的函数封装。可见sckutil.h sckutil.c

安装

编译

cd build/
chmod +x bulid.sh
sudo ./build.sh

运行

cd /bin
sudo ./tinyftpd

配置

配置文件在当前目录的tinyftpd.conf

配置参数 说明
tunable_pasv_enable 是否开启被动模式
tunable_port_enable 是否开启主动模式
tunable_max_clients 最大连接数
tunable_max_per_ip 每IP最大连接数
tunable_listen_port FTP服务器端口
tunable_accept_timeout accept超时间
tunable_connect_timeout connect超时间
tunable_idle_session_timeout 控制时间连接超时
tunable_data_connection_timeout 数据连接时间超时
tunable_local_umask 掩码
tunable_upload_max_rate 最大上传速度(byte/s)
tunable_download_max_rate 最大下载速度(byte/s)
tunable_listen_address FTP服务器IP地址

LICENSE

软件遵循MIT开源协议

致谢

在开发过程中参考了vsftpd的源码,从中学到了许多知识,特此声明,表示感谢