└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # favorite-nginx 2 | Selected favorite nginx modules and resources. 3 | 4 | Thanks for [awesome-resty](https://github.com/bungle/awesome-resty). 5 | 6 | ## Contents 7 | * [Documents](#documents) 8 | * [Nginx modules](#nginx-modules) 9 | * [Resty(C) modules](#restyc-modules) 10 | * [Resty(lua) modules](#restylua-modules) 11 | * [Test](#test) 12 | * [Tools](#tools) 13 | * [Books](#books) 14 | * [Known Projects](#known-projects) 15 | * [Conference](#conference) 16 | * [My Own Projects](#my-own-projects) 17 | 18 | 19 | ## Documents 20 | * [nginx docs](http://nginx.org/en/docs/) - nginx reference manual 21 | * [nginx unit](http://unit.nginx.org/) - nginx controller and router 22 | * [openresty on github](https://github.com/openresty) - All code of agentzh 23 | * [luajit ffi docs](http://luajit.org/ext_ffi.html) - luajit ffi docs 24 | * [luajit 2.1](https://repo.or.cz/w/luajit-2.0.git/blob_plain/v2.1:/doc/luajit.html) - luajit 2.1 docs 25 | * [ngx lua api docs](https://github.com/openresty/lua-nginx-module/#nginx-api-for-lua) - ngx lua api docs 26 | * [more nginx resources](https://github.com/fcambus/nginx-resources) - A collection of resources covering Nginx, Nginx + Lua, OpenResty and Tengine 27 | * [nginx.org.cn](https://www.nginx.org.cn/) - Community for China users 28 | * [C/C++ resources](https://github.com/fffaraz/awesome-cpp) - A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things 29 | 30 | ## Nginx modules 31 | * [echo-nginx-module](https://github.com/openresty/echo-nginx-module) - An Nginx module for bringing the power of "echo", "sleep", "time" and more to Nginx's config file 32 | * [libsregex](https://github.com/openresty/sregex) - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams 33 | * [ngx_replace_filter](https://github.com/openresty/replace-filter-nginx-module) - Streaming regular expression replacement in response bodies 34 | * [nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module) - NGINX-based Media Streaming Server 35 | * [nginx-sticky-module](https://github.com/bymaximus/nginx-sticky-module-ng) - add a sticky cookie to be always forwarded to the same upstream server 36 | * [nginx-module-vts](https://github.com/vozlt/nginx-module-vts) - Nginx virtual host traffic status module 37 | * [ngx_http_proxy_connect_module](https://github.com/chobits/ngx_http_proxy_connect_module) - provides support for the "CONNECT" HTTP method 38 | * [tengine modules](https://github.com/alibaba/tengine) - modules in tengines(slab_stat/footer/trim/...) 39 | 40 | ## Resty(C) modules 41 | * [luajit2](https://github.com/openresty/luajit2) - OpenResty's LuaJIT branch 42 | * [lua-nginx-module](https://github.com/openresty/lua-nginx-module) - Embed the power of Lua into Nginx 43 | * [stream-lua-nginx-module](https://github.com/openresty/stream-lua-nginx-module) - Embed the power of Lua into NGINX TCP servers 44 | * [lua-ssl-nginx-module](https://github.com/openresty/lua-ssl-nginx-module) - NGINX C module that extends ngx_http_lua_module for enhanced SSL/TLS capabilities 45 | * [ngx_http_lua_upstream](https://github.com/openresty/lua-upstream-nginx-module) - Nginx C module to expose Lua API to ngx_lua for Nginx upstreams 46 | 47 | ## Resty(lua) modules 48 | 49 | ### Core 50 | * [lua-resty-core](https://github.com/openresty/lua-resty-core) - New FFI-based Lua API for the ngx_lua module 51 | * [lua-resty-string](https://github.com/openresty/lua-resty-string) - String utilities and common hash functions for ngx_lua and LuaJIT 52 | * [lua-resty-lock](https://github.com/openresty/lua-resty-lock) - Shared dict lock 53 | * [lua-resty-lrucache](https://github.com/openresty/lua-resty-lrucache) - This library implements a simple LRU cache for OpenResty and the ngx_lua module. 54 | * [lua-resty-upstream-healthcheck](https://github.com/openresty/lua-resty-upstream-healthcheck) - Health-checker for Nginx upstream servers 55 | * [lua-resty-limit-traffic](https://github.com/openresty/lua-resty-limit-traffic) - Lua library for limiting and controlling traffic in OpenResty/ngx_lua 56 | * [lua-resty-upload](https://github.com/openresty/lua-resty-upload) - Streaming reader and parser for HTTP file uploading based on ngx_lua cosocket 57 | * [lua-resty-shdict-simple](https://github.com/openresty/lua-resty-shdict-simple) - Simple application-oriented interface to OpenResty's shared dictionary API 58 | * [lua-resty-dns](https://github.com/openresty/lua-resty-dns) - Lua DNS resolver for the ngx_lua based on the cosocket API 59 | * [lua-resty-balancer](https://github.com/openresty/lua-resty-balancer) - A generic consistent hash implementation for OpenResty/Lua 60 | 61 | ### Encode & Decode 62 | * [lua-cjson](https://github.com/openresty/lua-cjson) - Lua cJSON is a fast JSON encoding / parsing module for Lua 63 | * [lua-cmsgpack](https://github.com/chronolaw/lua-cmsgpack) - Lua cmsgpack is a fast msgpack encoding / parsing module for Lua 64 | * [lua-protobuf](https://github.com/starwing/lua-protobuf) - A Lua module to work with Google protobuf 65 | * [lua-resty-json](https://github.com/cloudflare/lua-resty-json) - Json lib for lua and C 66 | * [lua-resty-msgpack](https://github.com/chronolaw/lua-resty-msgpack) - Lua messagepack for ngx_lua/stream_lua/OpenResty 67 | * [lua-resty-snappy](https://github.com/bungle/lua-resty-snappy) - LuaJIT FFI bindings for Snappy, a fast compressor/decompressor 68 | 69 | ### Database 70 | * [lua-resty-redis](https://github.com/openresty/lua-resty-redis) - Lua Redis client driver for the ngx_lua based on the cosocket API 71 | * [lua-resty-lmdb](https://github.com/Kong/lua-resty-lmdb) - Use the LMDB (Lightning Memory-Mapped Database) inside the Nginx worker process 72 | * [lua-resty-ssdb](https://github.com/LazyZhu/lua-resty-ssdb) - Lua ssdb client driver for the ngx_lua based on the cosocket API 73 | * [lua-resty-mysql](https://github.com/openresty/lua-resty-mysql) - Lua MySQL client driver for ngx_lua based on the cosocket API 74 | 75 | ### Backend 76 | * [lua-resty-http(pintsized)](https://github.com/pintsized/lua-resty-http) - Lua HTTP client cosocket driver for OpenResty / ngx_lua 77 | * [lua-resty-requests](https://github.com/tokers/lua-resty-requests) - Yet Another HTTP library for OpenResty - For human beings 78 | * [lua-resty-http2](https://github.com/tokers/lua-resty-http2) - The HTTP/2 Protocol (Client Side) Implementation for OpenResty 79 | * [lua-resty-websocket](https://github.com/openresty/lua-resty-websocket) - WebSocket support for the ngx_lua module (and OpenResty) 80 | * [api-gateway-zmq-logger](https://github.com/adobe-apiplatform/api-gateway-zmq-logger) - Lua logger to send ZMQ messages using czmq lib 81 | 82 | ### Router 83 | * [radixtree](https://github.com/api7/lua-resty-radixtree) - Radix tree imeplement based on FFI rax 84 | 85 | ### Others 86 | * [lua-resty-logger-socket](https://github.com/cloudflare/lua-resty-logger-socket) - Nonblocking remote access logging for Nginx 87 | * [lua-resty-openssl](https://github.com/fffonion/lua-resty-openssl) - FFI-based OpenSSL binding for LuaJIT 88 | * [lua-resty-rsa](https://github.com/doujiang24/lua-resty-rsa) - RSA functions for LuaJIT 89 | * [lua-resty-sniproxy](https://github.com/fffonion/lua-resty-sniproxy/) - SNI Proxy based on the ngx_lua cosocket API 90 | * [lua-resty-iputils](https://github.com/hamishforbes/lua-resty-iputils) - Collection of utility functions for working with IP addresses 91 | * [lua-resty-mlcache](https://github.com/thibaultcha/lua-resty-mlcache) - Fast and automated multi-level cache for OpenResty 92 | * [lua-resty-jit-uuid](https://github.com/thibaultcha/lua-resty-jit-uuid) - A pure LuaJIT (no dependencies) UUID library tuned for performance 93 | * [lua-resty-worker-events](https://github.com/Kong/lua-resty-worker-events) - Inter process events for Nginx worker processes 94 | * [luafilesystem](https://github.com/spacewander/luafilesystem) - Reimplement luafilesystem via LuaJIT FFI. 95 | * [lua-resty-letsencrypt](https://github.com/torhve/lua-resty-letsencrypt) - Automatically fetch and renew TLS certificates on the fly using LetsEncrypt CA 96 | * [lua-resty-maxminddb](https://github.com/lilien1010/lua-resty-maxminddb) - a very simple lua module to get ip location with maxmind db, you need optimize it 97 | * [xml2lua](https://github.com/manoelcampos/xml2lua) - xml2lua 98 | * [sqlite-ffi](https://github.com/ColonelThirtyTwo/lsqlite3-ffi) - sqlite 99 | 100 | 101 | 102 | ## Test 103 | * [nginx-systemtap-toolkit](https://github.com/openresty/nginx-systemtap-toolkit) - Very useful tools for nginx 104 | * [stap++](https://github.com/openresty/stapxx) - Simple macro language extensions to systemtap 105 | * [test-nginx](https://github.com/openresty/test-nginx) - Data-driven test scaffold for Nginx C module and OpenResty Lua library development 106 | * [ngx_google_perftools_profiler](https://github.com/chronolaw/ngx_google_perftools_profiler_module) - A better tools for nginx with google_perftools 107 | * [lua-resty-busted](https://github.com/thibaultcha/lua-resty-busted) - A little hack to test OpenResty scripts with busted 108 | * [lua-resty-repl](https://github.com/saks/lua-resty-repl) - A debugger console for OpenResty 109 | * [wrk](https://github.com/wg/wrk) - Like ab 110 | * [travis-ci](https://travis-ci.org) - travis-ci 111 | 112 | ## Tools 113 | * [opm](https://github.com/openresty/opm) - Official package management system for OpenResty 114 | * [resty-cli](https://github.com/openresty/resty-cli) - Fancy command-line utilities for OpenResty 115 | 116 | 117 | ## Books 118 | * [OpenResty Best Practices(Chinese)](https://github.com/moonbingbing/openresty-best-practices) ([GitBook](https://www.gitbook.com/book/moonbingbing/openresty-best-practices/details)) 119 | * [agentzh's Nginx Tutorials(Chinese)](https://github.com/openresty/nginx-tutorials/tree/master/zh-cn) 120 | * [Programming OpenResty](https://github.com/openresty/programming-openresty) 121 | 122 | ## Known Projects 123 | * [upyun-resty](https://github.com/upyun/upyun-resty) - UPYUN's open source software for OpenResty development 124 | * [apisix](https://github.com/apache/apisix) - A cloud-native microservices API gateway 125 | * [iresty](https://github.com/iresty) - iresty and other useful tools 126 | * [Kong](https://github.com/kong/kong) - API Gateway & Microservice Management 127 | * [Lapis](http://leafo.net/lapis/) - A web framework for Lua or MoonScript powered by OpenResty 128 | * [lor](https://github.com/sumory/lor) - a fast, minimalist web framework for lua based on OpenResty(中文) 129 | * [Orange](https://github.com/sumory/orange) - A Gateway based on OpenResty(Nginx+lua) for API Monitoring and Management. 130 | * [verynginx](https://github.com/alexazhou/VeryNginx) - A very powerful and friendly nginx which provide WAF, Control Panel, and Dashboards 131 | 132 | ## Conference 133 | * [2016](http://con.openresty.org/cn/2016/) - OpenResty Con 2016 134 | * [2017](http://con.openresty.org/cn/2017/) - OpenResty Con 2017 135 | * [2018](http://con.openresty.org/cn/2018/) - OpenResty Con 2018 136 | 137 | ## My Own Projects 138 | * [openresty_dev](https://github.com/chronolaw/openresty_dev) - OpenResty/Lua Programming 139 | * [annotated_nginx](https://github.com/chronolaw/annotated_nginx) - 注释nginx,学习研究源码 140 | 141 | 142 | 143 | 144 | --------------------------------------------------------------------------------