├── .gitignore ├── README ├── README.md ├── config ├── config_without_ssl ├── doc ├── README.html ├── README.txt └── README.wiki ├── modules ├── ngx_tcp_generic_proxy_module.c ├── ngx_tcp_ssl_module.c ├── ngx_tcp_ssl_module.h ├── ngx_tcp_upstream_busyness_module.c ├── ngx_tcp_upstream_ip_hash_module.c └── ngx_tcp_websocket_proxy_module.c ├── ngx_tcp.c ├── ngx_tcp.h ├── ngx_tcp_access.c ├── ngx_tcp_core_module.c ├── ngx_tcp_log.c ├── ngx_tcp_session.c ├── ngx_tcp_session.h ├── ngx_tcp_upstream.c ├── ngx_tcp_upstream.h ├── ngx_tcp_upstream_check.c ├── ngx_tcp_upstream_check.h ├── ngx_tcp_upstream_round_robin.c ├── ngx_tcp_upstream_round_robin.h ├── parsers ├── gen.shell ├── http_request_parser.c ├── http_request_parser.h ├── http_request_parser.rl ├── http_response_parser.c ├── http_response_parser.h ├── http_response_parser.rl ├── parser.h ├── smtp_response_parser.c ├── smtp_response_parser.h └── smtp_response_parser.rl ├── tcp.patch ├── tcp_1_8.patch ├── test ├── README ├── inc │ ├── Module │ │ ├── AutoInstall.pm │ │ ├── Install.pm │ │ └── Install │ │ │ ├── AutoInstall.pm │ │ │ ├── Base.pm │ │ │ ├── Can.pm │ │ │ ├── Fetch.pm │ │ │ ├── Include.pm │ │ │ ├── Makefile.pm │ │ │ ├── Metadata.pm │ │ │ ├── TestBase.pm │ │ │ ├── Win32.pm │ │ │ └── WriteAll.pm │ ├── Spiffy.pm │ └── Test │ │ ├── Base.pm │ │ ├── Base │ │ └── Filter.pm │ │ ├── Builder.pm │ │ ├── Builder │ │ └── Module.pm │ │ └── More.pm ├── lib │ └── Test │ │ ├── Nginx.pm │ │ └── Nginx │ │ ├── LWP.pm │ │ ├── Socket.pm │ │ └── Util.pm ├── ragel │ ├── Makefile │ ├── http11.c │ ├── http11_parser.c │ ├── http11_parser.h │ ├── http11_parser.rl │ ├── http11_parser_common.rl │ ├── http11_response.c │ ├── http11_response.h │ ├── http11_response.rl │ ├── http11_response_common.rl │ ├── ragel_http_client.c │ └── ragel_http_server.c ├── t │ ├── acl.t │ ├── http_check.t │ ├── imap_check.t │ ├── mysql_check.t │ ├── pop3_check.t │ ├── smtp_check.t │ ├── ssl.t │ ├── ssl_hello_check.t │ ├── tcp_check.t │ ├── upstream_busyness.t │ └── upstream_ip_hash.t └── websocket │ └── server.rb └── util ├── update-readme.sh └── wiki2pod.pl /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.sh 3 | *.[oa] 4 | Makefile 5 | cscope* 6 | objs 7 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/README -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/README.md -------------------------------------------------------------------------------- /config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/config -------------------------------------------------------------------------------- /config_without_ssl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/config_without_ssl -------------------------------------------------------------------------------- /doc/README.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/doc/README.html -------------------------------------------------------------------------------- /doc/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/doc/README.txt -------------------------------------------------------------------------------- /doc/README.wiki: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/doc/README.wiki -------------------------------------------------------------------------------- /modules/ngx_tcp_generic_proxy_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_generic_proxy_module.c -------------------------------------------------------------------------------- /modules/ngx_tcp_ssl_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_ssl_module.c -------------------------------------------------------------------------------- /modules/ngx_tcp_ssl_module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_ssl_module.h -------------------------------------------------------------------------------- /modules/ngx_tcp_upstream_busyness_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_upstream_busyness_module.c -------------------------------------------------------------------------------- /modules/ngx_tcp_upstream_ip_hash_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_upstream_ip_hash_module.c -------------------------------------------------------------------------------- /modules/ngx_tcp_websocket_proxy_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/modules/ngx_tcp_websocket_proxy_module.c -------------------------------------------------------------------------------- /ngx_tcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp.c -------------------------------------------------------------------------------- /ngx_tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp.h -------------------------------------------------------------------------------- /ngx_tcp_access.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_access.c -------------------------------------------------------------------------------- /ngx_tcp_core_module.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_core_module.c -------------------------------------------------------------------------------- /ngx_tcp_log.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_log.c -------------------------------------------------------------------------------- /ngx_tcp_session.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_session.c -------------------------------------------------------------------------------- /ngx_tcp_session.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_session.h -------------------------------------------------------------------------------- /ngx_tcp_upstream.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream.c -------------------------------------------------------------------------------- /ngx_tcp_upstream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream.h -------------------------------------------------------------------------------- /ngx_tcp_upstream_check.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream_check.c -------------------------------------------------------------------------------- /ngx_tcp_upstream_check.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream_check.h -------------------------------------------------------------------------------- /ngx_tcp_upstream_round_robin.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream_round_robin.c -------------------------------------------------------------------------------- /ngx_tcp_upstream_round_robin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/ngx_tcp_upstream_round_robin.h -------------------------------------------------------------------------------- /parsers/gen.shell: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/gen.shell -------------------------------------------------------------------------------- /parsers/http_request_parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_request_parser.c -------------------------------------------------------------------------------- /parsers/http_request_parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_request_parser.h -------------------------------------------------------------------------------- /parsers/http_request_parser.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_request_parser.rl -------------------------------------------------------------------------------- /parsers/http_response_parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_response_parser.c -------------------------------------------------------------------------------- /parsers/http_response_parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_response_parser.h -------------------------------------------------------------------------------- /parsers/http_response_parser.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/http_response_parser.rl -------------------------------------------------------------------------------- /parsers/parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/parser.h -------------------------------------------------------------------------------- /parsers/smtp_response_parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/smtp_response_parser.c -------------------------------------------------------------------------------- /parsers/smtp_response_parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/smtp_response_parser.h -------------------------------------------------------------------------------- /parsers/smtp_response_parser.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/parsers/smtp_response_parser.rl -------------------------------------------------------------------------------- /tcp.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/tcp.patch -------------------------------------------------------------------------------- /tcp_1_8.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/tcp_1_8.patch -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/README -------------------------------------------------------------------------------- /test/inc/Module/AutoInstall.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/AutoInstall.pm -------------------------------------------------------------------------------- /test/inc/Module/Install.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/AutoInstall.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/AutoInstall.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Base.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Base.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Can.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Can.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Fetch.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Fetch.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Include.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Include.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Makefile.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Makefile.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Metadata.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Metadata.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/TestBase.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/TestBase.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/Win32.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/Win32.pm -------------------------------------------------------------------------------- /test/inc/Module/Install/WriteAll.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Module/Install/WriteAll.pm -------------------------------------------------------------------------------- /test/inc/Spiffy.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Spiffy.pm -------------------------------------------------------------------------------- /test/inc/Test/Base.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Test/Base.pm -------------------------------------------------------------------------------- /test/inc/Test/Base/Filter.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Test/Base/Filter.pm -------------------------------------------------------------------------------- /test/inc/Test/Builder.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Test/Builder.pm -------------------------------------------------------------------------------- /test/inc/Test/Builder/Module.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Test/Builder/Module.pm -------------------------------------------------------------------------------- /test/inc/Test/More.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/inc/Test/More.pm -------------------------------------------------------------------------------- /test/lib/Test/Nginx.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/lib/Test/Nginx.pm -------------------------------------------------------------------------------- /test/lib/Test/Nginx/LWP.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/lib/Test/Nginx/LWP.pm -------------------------------------------------------------------------------- /test/lib/Test/Nginx/Socket.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/lib/Test/Nginx/Socket.pm -------------------------------------------------------------------------------- /test/lib/Test/Nginx/Util.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/lib/Test/Nginx/Util.pm -------------------------------------------------------------------------------- /test/ragel/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/Makefile -------------------------------------------------------------------------------- /test/ragel/http11.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11.c -------------------------------------------------------------------------------- /test/ragel/http11_parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_parser.c -------------------------------------------------------------------------------- /test/ragel/http11_parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_parser.h -------------------------------------------------------------------------------- /test/ragel/http11_parser.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_parser.rl -------------------------------------------------------------------------------- /test/ragel/http11_parser_common.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_parser_common.rl -------------------------------------------------------------------------------- /test/ragel/http11_response.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_response.c -------------------------------------------------------------------------------- /test/ragel/http11_response.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_response.h -------------------------------------------------------------------------------- /test/ragel/http11_response.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_response.rl -------------------------------------------------------------------------------- /test/ragel/http11_response_common.rl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/http11_response_common.rl -------------------------------------------------------------------------------- /test/ragel/ragel_http_client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/ragel_http_client.c -------------------------------------------------------------------------------- /test/ragel/ragel_http_server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/ragel/ragel_http_server.c -------------------------------------------------------------------------------- /test/t/acl.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/acl.t -------------------------------------------------------------------------------- /test/t/http_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/http_check.t -------------------------------------------------------------------------------- /test/t/imap_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/imap_check.t -------------------------------------------------------------------------------- /test/t/mysql_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/mysql_check.t -------------------------------------------------------------------------------- /test/t/pop3_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/pop3_check.t -------------------------------------------------------------------------------- /test/t/smtp_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/smtp_check.t -------------------------------------------------------------------------------- /test/t/ssl.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/ssl.t -------------------------------------------------------------------------------- /test/t/ssl_hello_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/ssl_hello_check.t -------------------------------------------------------------------------------- /test/t/tcp_check.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/tcp_check.t -------------------------------------------------------------------------------- /test/t/upstream_busyness.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/upstream_busyness.t -------------------------------------------------------------------------------- /test/t/upstream_ip_hash.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/t/upstream_ip_hash.t -------------------------------------------------------------------------------- /test/websocket/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/test/websocket/server.rb -------------------------------------------------------------------------------- /util/update-readme.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/util/update-readme.sh -------------------------------------------------------------------------------- /util/wiki2pod.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaoweibin/nginx_tcp_proxy_module/HEAD/util/wiki2pod.pl --------------------------------------------------------------------------------