All Projects → biluohc → Fht2p

biluohc / Fht2p

Licence: mit
A cross-platform HTTP static file server developed using Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Fht2p

Jetty.project
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Stars: ✭ 3,260 (+11542.86%)
Mutual labels:  https, http-server
Go Bootstrap
Easy way to bootstrap a web server in Go (Routing|Middleware|Https)
Stars: ✭ 27 (-3.57%)
Mutual labels:  https, http-server
Libhttpserver
C++ library for creating an embedded Rest HTTP server (and more)
Stars: ✭ 464 (+1557.14%)
Mutual labels:  https, http-server
Kvpbase
Scalable, simple RESTful object storage platform, written in C#
Stars: ✭ 43 (+53.57%)
Mutual labels:  https, http-server
Caddy
Matthew Holt began developing Caddy in 2014 while studying computer science at Brigham Young University. (The name "Caddy" was chosen because this software helps with the tedious, mundane tasks of serving the Web, and is also a single place for multiple things to be organized together.) It soon became the first web server to use HTTPS automatically and by default, and now has hundreds of contributors and has served trillions of HTTPS requests.
Stars: ✭ 35,966 (+128350%)
Mutual labels:  https, http-server
httoop
HTTOOP - a fully object oriented HTTP protocol library written in python
Stars: ✭ 15 (-46.43%)
Mutual labels:  http-proxy, http-server
Http
Event-driven, streaming HTTP client and server implementation for ReactPHP.
Stars: ✭ 507 (+1710.71%)
Mutual labels:  https, http-server
HttpProxy
JAVA实现的IP代理池,支持HTTP与HTTPS两种方式
Stars: ✭ 37 (+32.14%)
Mutual labels:  https, http-proxy
Cowboy
Small, fast, modern HTTP server for Erlang/OTP.
Stars: ✭ 6,533 (+23232.14%)
Mutual labels:  https, http-server
Restinio
Cross-platform, efficient, customizable, and robust asynchronous HTTP/WebSocket server C++14 library with the right balance between performance and ease of use
Stars: ✭ 694 (+2378.57%)
Mutual labels:  https, http-server
node-jsonrpc2
JSON-RPC 2.0 server and client library, with HTTP (with Websocket support) and TCP endpoints
Stars: ✭ 103 (+267.86%)
Mutual labels:  https, http-server
Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (+2764.29%)
Mutual labels:  https, http-server
foxy
Session-based Beast/Asio wrapper requiring C++14
Stars: ✭ 61 (+117.86%)
Mutual labels:  http-proxy, http-server
Http
Host These Things Please - a basic http server for hosting a folder fast and simply
Stars: ✭ 275 (+882.14%)
Mutual labels:  https, http-server
PuppyProxy
A simple HTTP proxy in C# including support for HTTP CONNECT tunneling
Stars: ✭ 37 (+32.14%)
Mutual labels:  https, http-server
Proxy admin free
Proxy是高性能全功能的http代理、https代理、socks5代理、内网穿透、内网穿透p2p、内网穿透代理、内网穿透反向代理、内网穿透服务器、Websocket代理、TCP代理、UDP代理、DNS代理、DNS加密代理,代理API认证,全能跨平台代理服务器。
Stars: ✭ 487 (+1639.29%)
Mutual labels:  http-proxy, http-server
tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+664.29%)
Mutual labels:  https, http-server
libmicrohttpd-http2
HTTP/2 support for libmicrohttpd
Stars: ✭ 21 (-25%)
Mutual labels:  https, http-server
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (+1785.71%)
Mutual labels:  https, http-server
Netcoreserver
Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 799 (+2753.57%)
Mutual labels:  https, http-server

Actions Status

中文

fht2p is a cross-platform HTTP static file server developed using Rust. The CI test covers Linux, MacOS and Windows.

Features

  • Reliable: Implemented in Rust, integrated testing, safe and reliable
  • Universal: Fully cross-platform, available for both Unix-like and Windows systems
  • Convenient: static linking, does not depend on external dynamic libraries such as openssl, download and use
  • Fast: Asynchronous multi-threaded, built on tokio and hyper, fast response, massive concurrency
  • Functions: file download and upload, directory browsing, resume from breakpoint, proxy function, configuration options, everything

Functions

  1. Multi-path sharing
  2. File breakpoint resume
  3. Closeable directory browsing (and sorting and other functions)
  4. HTTP Cache
  5. File upload, make directory
  6. HTTPS (tokio-rustls, does not depend on external dynamic libraries)
  7. HTTP proxy (tunnel proxy, general proxy)
  8. Basic Authentication
  9. Cross-Origin Resource Sharing (CORS)
  10. Directory page compression (GZIP)
  11. Command line arguments
  12. Configuration file (format is json5, similar to json but supports comments, etc.)
  13. Terminal log optional level
  14. Output service's URL at startup, output QR code optionally

Snapshot

snapshot.png

Install

1. Download from Releases

2. Compile from Source Code

    cargo install --locked --git https://github.com/biluohc/fht2p fht2p -f
    # cargo install --locked --git https://github.com/biluohc/fht2p --branch dev fht2p -f
    
    fht2p -h
Or
    git clone https://github.com/biluohc/fht2p
    # cargo install --locked --path fht2p/ fht2p -f

    cd fht2p
    cargo build --release

    ./target/release/fht2p --help

Tips

  1. View help information by using the --help option

  2. View the default configuration content by using the --config-print option.

  3. See a complete configuration example from the config directory under this project.

  4. About the priority of options and profiles

    The default configuration file is located in $HOME/.config/fht2p/fht2p.json, you can create if it doesn't exist.

    There are four types of options:

  • The first is --help, --version and --config-print. Programs will exit very quickly, regardless of priority.
  • The second is --verbose and --qr-code They ignore priority and have no conflict with other options
  • The third is --config specifies the configuration file, the fourth option is ignored
  • The fourth is other options and parameters, once you have it, the default configuration file will be ignored (this is to prevent the priority from being too complicated)
  1. About security and HTTPS
  • HTTP is a plain text protocol based on TCP. There is no security at all. If security is required, HTTPS must be used.
  • The program listens to the local loopback address (127.0.0.1) by default for security. If you want to access outside the machine, you can monitor0.0.0.0 or a specific address and configure your firewall
  • The program listens to the current directory by default. Please do not share the home directory or the root directory on the network unless you understand what you are doing
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].