GithubHelp home page GithubHelp logo

davidmr001 / tinyftp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vbirds/tinyftp

0.0 1.0 0.0 524 KB

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

License: Other

Shell 0.13% C 99.12% Makefile 0.31% C++ 0.43%

tinyftp's Introduction

Tinyftpd


概述

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的源码,从中学到了许多知识,特此声明,表示感谢

tinyftp's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.