All Projects → Guichaguri → Minimalftp

Guichaguri / Minimalftp

Licence: apache-2.0
A lightweight, simple FTP server. Pure Java, no dependencies.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Minimalftp

EOSFTPServer
A project to create a complete, standard compliant, multi-user, Objective-C (Mac OS X / iOS) FTP server.
Stars: ✭ 35 (-62.77%)
Mutual labels:  ftp, file-transfer, ftp-server
php-ftp-client
📦 Provides helper classes and methods to manage FTP files in an OOP way.
Stars: ✭ 81 (-13.83%)
Mutual labels:  ftp, ftp-server
Sftpgo
Fully featured and highly configurable SFTP server with optional HTTP, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
Stars: ✭ 3,534 (+3659.57%)
Mutual labels:  ftp, ftp-server
ftp-server
A FTP Server base on Spring Boot and Apache Ftp Server.😝
Stars: ✭ 17 (-81.91%)
Mutual labels:  ftp, ftp-server
Aioftp
ftp client/server for asyncio (http://aioftp.readthedocs.org)
Stars: ✭ 116 (+23.4%)
Mutual labels:  ftp, ftp-server
Proftpd
ProFTPD source code
Stars: ✭ 318 (+238.3%)
Mutual labels:  ftp, ftp-server
FTP
FTP客户端,服务端
Stars: ✭ 34 (-63.83%)
Mutual labels:  ftp, ftp-server
Fluentftp
An FTP and FTPS client for .NET & .NET Standard, optimized for speed. Provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP support, UTF-8 support, Async/await support, Powershell support and more. Written entirely in C#,…
Stars: ✭ 1,943 (+1967.02%)
Mutual labels:  ftp, tls
Google Drive Ftp Adapter
Google Drive FTP Adapter to connect to google drive through the FTP protocol
Stars: ✭ 292 (+210.64%)
Mutual labels:  ftp, ftp-server
firetrap
This project is no longer maintained. Check out the fork (lib)unFTP instead.
Stars: ✭ 15 (-84.04%)
Mutual labels:  ftp, ftp-server
simple http server
simple http server for upload and download
Stars: ✭ 101 (+7.45%)
Mutual labels:  ftp, ftp-server
Fake ftp
A fake FTP server for use with ruby tests
Stars: ✭ 77 (-18.09%)
Mutual labels:  ftp, ftp-server
Basic Ftp
FTP client for Node.js, supports FTPS over TLS, passive mode over IPv6, async/await, and Typescript.
Stars: ✭ 441 (+369.15%)
Mutual labels:  ftp, tls
Pyftpdlib
Extremely fast and scalable Python FTP server library
Stars: ✭ 1,209 (+1186.17%)
Mutual labels:  ftp, ftp-server
Pyfilesystem2
Python's Filesystem abstraction layer
Stars: ✭ 1,256 (+1236.17%)
Mutual labels:  ftp
Davos
Web-based FTP automation for Linux servers.
Stars: ✭ 90 (-4.26%)
Mutual labels:  ftp
Get noaa ghcn data
A tool to interface with and download Global Historical Climatology Network (GHCN) data into easily readable CSVs.
Stars: ✭ 83 (-11.7%)
Mutual labels:  ftp
Packer Ubuntu 1404
DEPRECATED - Packer Example - Ubuntu 14.04 Vagrant Box using Ansible provisioner
Stars: ✭ 81 (-13.83%)
Mutual labels:  minimal
Yui
Minimal vim color scheme
Stars: ✭ 93 (-1.06%)
Mutual labels:  minimal
Ghostunnel
A simple SSL/TLS proxy with mutual authentication for securing non-TLS services
Stars: ✭ 1,296 (+1278.72%)
Mutual labels:  tls

MinimalFTP Build Status

A lightweight, simple FTP server. Pure Java, no libraries.

Features

Although it's named "minimal", it supports a bunch of features:

  • 100% Java, no libraries
  • Lightweight
  • Supports 57 FTP commands
  • TLS/SSL support
  • Custom File System support
  • Custom User Authentication support
  • Custom Commands support
  • Support to obsolete commands (some FTP clients might still use them)

Specification Support

The required minimum implementation is already done, however, there are still commands that can be implemented.

  • RFC 959 - File Transfer Protocol (33/33)
  • RFC 697 - CWD Command of FTP (1/1) (Obsolete)
  • RFC 737 - FTP Extension: XSEN (0/3) (Obsolete)
  • RFC 743 - FTP extension: XRSQ/XRCP (0/4) (Obsolete)
  • RFC 775 - Directory oriented FTP commands (5/5) (Obsolete)
  • RFC 1123 - Requirements for Internet Hosts
  • RFC 1639 - FTP Operation Over Big Address Records (2/2) (Obsolete)
  • RFC 2228 - FTP Security Extensions (3/8)
  • RFC 2389 - Feature negotiation mechanism for the File Transfer Protocol (2/2)
  • RFC 2428 - FTP Extensions for IPv6 and NATs (2/2)
  • RFC 2640 - Internationalization of the File Transfer Protocol (0/1)
  • RFC 2773 - Encryption using KEA and SKIPJACK (0/1)
  • RFC 3659 - Extensions to FTP (4/4)
  • RFC 4217 - Securing FTP with TLS
  • RFC 5797 - FTP Command and Extension Registry
  • RFC 7151 - File Transfer Protocol HOST Command for Virtual Hosts (1/1)
  • draft-twine-ftpmd5-00 - The "MD5" and "MMD5" FTP Command Extensions (2/2) (Obsolete)
  • draft-somers-ftp-mfxx-04 - The "MFMT", "MFCT", and "MFF" Command Extensions for FTP (1/3)
  • draft-bryan-ftpext-hash-02 - File Transfer Protocol HASH Command for Cryptographic Hashes (1/1)
  • draft-bryan-ftp-range-08 - File Transfer Protocol RANG Command for Octet Ranges (0/1)

Usage

Dependency

MinimalFTP is published on JCenter and Maven Central

Maven

<dependency>
  <groupId>com.guichaguri</groupId>
  <artifactId>minimalftp</artifactId>
  <version>1.0.6</version>
  <type>pom</type>
</dependency>

Gradle

compile 'com.guichaguri:minimalftp:1.0.6'

Ivy

<dependency org='com.guichaguri' name='minimalftp' rev='1.0.6'>
  <artifact name='minimalftp' ext='pom' />
</dependency>

API

Check out more examples here :)

// Uses the current working directory as the root
File root = new File(System.getProperty("user.dir"));

// Creates a native file system
NativeFileSystem fs = new NativeFileSystem(root);

// Creates a noop authenticator, which allows anonymous authentication
NoOpAuthenticator auth = new NoOpAuthenticator(fs);

// Creates the server with the authenticator
FTPServer server = new FTPServer(auth);

// Start listening synchronously
server.listenSync(21);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].