kachayev / Nasus
Licence: mit
Zero-configuration command-line async HTTP files server in Clojure. Like Python's SimpleHTTPServer but scalable.
Stars: ✭ 158
Programming Languages
clojure
4091 projects
Projects that are alternatives of or similar to Nasus
Nettygameserver
使用netty4.X实现的手机游戏分布式服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。 使用ExcelToCode工程,将excel数据生成java类和json数据字典,DictService直接读取json,减少数据字典部分代码。使用game-executor工程,增加游戏内的异步事件全局服务, 支持事件sharding,均衡的异步执行事件逻辑
Stars: ✭ 1,203 (+661.39%)
Mutual labels: http-server, netty
Async Http Client
Asynchronous Http and WebSocket Client library for Java
Stars: ✭ 5,876 (+3618.99%)
Mutual labels: async, netty
Dapeng Soa
A lightweight, high performance micro-service framework
Stars: ✭ 101 (-36.08%)
Mutual labels: async, netty
Vertx Sql Client
High performance reactive SQL Client written in Java
Stars: ✭ 690 (+336.71%)
Mutual labels: async, netty
Suave
Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.
Stars: ✭ 1,196 (+656.96%)
Mutual labels: async, http-server
smartacus-mqtt-broker
smartacus-mqtt-broker is a Java-based open source MQTT broker that fully supports MQTT 3.x .Using Netty 4.1.37
Stars: ✭ 25 (-84.18%)
Mutual labels: netty, http-server
Meinheld
Meinheld is a high performance asynchronous WSGI Web Server (based on picoev)
Stars: ✭ 1,339 (+747.47%)
Mutual labels: async, 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 (+234.18%)
Mutual labels: async, http-server
Advanced Vertx Guide
A gentle guide for advanced Vert.x users
Stars: ✭ 118 (-25.32%)
Mutual labels: async, netty
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 (+405.7%)
Mutual labels: async, http-server
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+2046.84%)
Mutual labels: http-server, netty
Http Server
A non-blocking HTTP application server for PHP based on Amp.
Stars: ✭ 1,122 (+610.13%)
Mutual labels: async, http-server
Http Kit
http-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support
Stars: ✭ 2,234 (+1313.92%)
Mutual labels: async, http-server
Igropyr
a async http server base on libuv for Chez Scheme
Stars: ✭ 85 (-46.2%)
Mutual labels: async, http-server
Netty Rest
Yet another high performance REST server based on Netty
Stars: ✭ 107 (-32.28%)
Mutual labels: http-server, netty
Nasus HTTP Server
A simple zero-configuration command-line HTTP files server. Like Python's SimpleHTTPServer
but scalable. Сan easily handle thousands of simultaneous connections.
Implemented in Clojure
with Aleph
and Netty
. Mostly as an example. It's still skillful and handy tho'. There's even nothing wrong with putting it to production.
Usage
Run in the directory you want to serve:
clj -Sdeps '{:deps {nasus {:mvn/version "0.1.7"}}}' -m http.server
Or specify custom port:
clj -Sdeps '{:deps {nasus {:mvn/version "0.1.7"}}}' -m http.server 8001
Features
- Plain text & HTML directory listings based on "Accept" header
- Automatic mime-type detection
- Streaming and chunked encoding for large files
- Keep-alive and slow requests handling
- Transparent content compression (gzip, deflate)
- Cache control and "Last-Modified"
- CORS headers
In development:
- Range queries support
- SSL/TLS
- List of files & directories to exclude from serving
Flags
-p, --port <PORT> 8000 Port number
-b, --bind <IP> 0.0.0.0 Address to bind to
--dir <PATH> ./ Directory to serve files
--auth <USER[:PASSWORD]> Basic auth
--no-index Disable directory listings
--no-cache Disable cache headers
--no-compression Disable deflate and gzip compression
--follow-symlink Enable symbolic links support
--include-hidden Process hidden files as normal
--cors Support Acccess-Control-* headers, see --cors-* options for more fine-grained control
--cors-origin Acccess-Control-Allow-Origin response header value
--cors-methods Acccess-Control-Allow-Methods response header value
--cors-allow-headers Acccess-Control-Allow-Headers response header value
--index-document-path <PATH> When requesting "dir/", respond with "dir/<PATH>" instead of a listing
-h, --help
License
Copyright © 2020 Nasus
Nasus is licensed under the MIT license, available at MIT and also in the LICENSE file.
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].