All Projects → koenw → firetrap

koenw / firetrap

Licence: other
This project is no longer maintained. Check out the fork (lib)unFTP instead.

Programming Languages

rust
11053 projects
Makefile
30231 projects

Projects that are alternatives of or similar to firetrap

Pyftpdlib
Extremely fast and scalable Python FTP server library
Stars: ✭ 1,209 (+7960%)
Mutual labels:  asynchronous, ftp, ftp-server
Proftpd
ProFTPD source code
Stars: ✭ 318 (+2020%)
Mutual labels:  ftp, ftp-server
Fake ftp
A fake FTP server for use with ruby tests
Stars: ✭ 77 (+413.33%)
Mutual labels:  ftp, ftp-server
Aioftp
ftp client/server for asyncio (http://aioftp.readthedocs.org)
Stars: ✭ 116 (+673.33%)
Mutual labels:  ftp, ftp-server
Google Drive Ftp Adapter
Google Drive FTP Adapter to connect to google drive through the FTP protocol
Stars: ✭ 292 (+1846.67%)
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 (+23460%)
Mutual labels:  ftp, ftp-server
Minimalftp
A lightweight, simple FTP server. Pure Java, no dependencies.
Stars: ✭ 94 (+526.67%)
Mutual labels:  ftp, ftp-server
ftp-server
A FTP Server base on Spring Boot and Apache Ftp Server.😝
Stars: ✭ 17 (+13.33%)
Mutual labels:  ftp, ftp-server
php-ftp-client
📦 Provides helper classes and methods to manage FTP files in an OOP way.
Stars: ✭ 81 (+440%)
Mutual labels:  ftp, ftp-server
EOSFTPServer
A project to create a complete, standard compliant, multi-user, Objective-C (Mac OS X / iOS) FTP server.
Stars: ✭ 35 (+133.33%)
Mutual labels:  ftp, ftp-server
FTP
FTP客户端,服务端
Stars: ✭ 34 (+126.67%)
Mutual labels:  ftp, ftp-server
simple http server
simple http server for upload and download
Stars: ✭ 101 (+573.33%)
Mutual labels:  ftp, ftp-server
stateless-future
Asynchronous programming in fully featured Scala syntax.
Stars: ✭ 14 (-6.67%)
Mutual labels:  asynchronous
futures-async-stream
Async stream for Rust and the futures crate.
Stars: ✭ 141 (+840%)
Mutual labels:  asynchronous
asio-grpc
Asynchronous gRPC with Asio/unified executors
Stars: ✭ 100 (+566.67%)
Mutual labels:  asynchronous
MTJailed-Native
A terminal emulator with remote shell for non-jailbroken iOS devices
Stars: ✭ 24 (+60%)
Mutual labels:  ftp-server
yona
Yona is a modern take on a dynamic general-purpose programming language with advanced functional programming, minimalistic ML-like syntax, strict evaluation, for GraalVM polyglot virtual machine (VM).
Stars: ✭ 113 (+653.33%)
Mutual labels:  asynchronous
asyncpg
Asynchronous PostgreSQL driver for Nim language
Stars: ✭ 61 (+306.67%)
Mutual labels:  asynchronous
MR.AspNetCore.Jobs
A background processing library for Asp.Net Core.
Stars: ✭ 59 (+293.33%)
Mutual labels:  asynchronous
Rx.Book
High level asynchronous programming with Reactive Extensions
Stars: ✭ 67 (+346.67%)
Mutual labels:  asynchronous

firetrap

Crate Version Crate License Build Status API Docs

Firetrap helps you create modern, safe and extensible FTP servers in Rust.

Because of its plugable authentication and storage backends (e.g. local filesystem, Google Buckets) it's more flexible than traditional FTP servers and a perfect match for the cloud.

Due to personal reasons, I'm no longer working on this project. Firetrap has since been forked by my previous employer who is continuing development on unFTP. This repository now serves only as an archive.

API Documentation

Prerequisites

You'll need Rust 1.31 or higher to build firetrap. There are no runtime dependencies besides the OS and libc.

Getting started

If you've got Rust and cargo installed, create your project with

cargo new my_project

Then add firetrap to your project's dependencies in Cargo.toml:

[dependencies]
firetrap = "0.1"

Now you're ready to write your server! Add the following to src/main.rs:

extern crate firetrap;

fn main() {
  let server = firetrap::Server::with_root(std::env::temp_dir());
  server.listen("127.0.0.1:2121");
}

You can now run your server with cargo run and connect to localhost:2121 with your favourite FTP client :)

For more examples checkout out the examples directory.

For more information checkout the API Documentation.

Contributing

First of all, thank you for your interest in contributing to firetrap! Please feel free to create a github issue if you encounter any problems, want to submit a feature request, or just feel like it :)

Run make help in the root of this repository to see the available make commands.

License

You're free to use, modify and distribute this software under the terms of the MIT or Apache-2.0 license, whichever has your preference.

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].