Skip to content

Instantly share code, notes, and snippets.

View vqiu's full-sized avatar
🌴
On vacation

shuhui.qiu vqiu

🌴
On vacation
View GitHub Profile
@vqiu
vqiu / waf.lua
Created June 24, 2018 18:01 — forked from zahna/waf.lua
-- https://github.com/openresty/lua-nginx-module#nginx-api-for-lua
-- https://www.nginx.com/resources/wiki/modules/lua/
-- http://www.staticshin.com/programming/definitely-an-open-resty-guide/
-- access_by_lua_file /path/to/waf.lua;
-- examine request
ngx.req.read_body()
local request_method = ngx.req.get_method()
local get_args = ngx.req.get_uri_args()
local post_args, err = ngx.req.get_post_args()
@vqiu
vqiu / default.ctmpl
Created June 29, 2018 10:17 — forked from mdmsua/default.ctmpl
/etc/nginx/conf.d
server {
listen 80;
{{range services}}
{{if and (ne .Name "consul") (ne .Name "nginx")}}
{{range service .Name}}
location /{{.Name}}/v{{.ID}} {
rewrite /{{.Name}}/v(\d+)\.\d+\.\d+(.*) /{{.Name}}/v$1$2 break;
proxy_pass http://{{.Address}}:{{.Port}};
}
{{end}}
@vqiu
vqiu / bwlimit
Created July 30, 2018 10:42 — forked from neocogent/bwlimit
Traffic shaping for Bitcoin full nodes
#!/bin/bash
# Copyright (c) 2013 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
#network interface on which to limit traffic
IF="wlan0"
#limit of the network interface in question
LINKCEIL="5mbit"
#limit outbound Bitcoin protocol traffic to this rate
@vqiu
vqiu / Knocky.lua
Created October 28, 2018 13:04 — forked from agix/Knocky.lua
Nginx + redis + lua + authy script to allow access by IP with one touch
-- apt-get install nginx-extras # to get nginx with lua support
-- apt-get install luarocks
-- apt-get install lua-nginx-redis
-- luarocks install lua-requests
-- In your nginx config file add two lua dict outside server definition
--
-- lua_shared_dict ip_whitelist 1m;
-- lua_shared_dict ip_asklist 1m;
-- server {
--
@vqiu
vqiu / proxy.pac
Last active November 10, 2018 19:24 — forked from alphatr/proxy.pac
PAC
function FindProxyForURL(url, host) {
var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT";
var black = "PROXY 127.0.0.1:65535";
var direct = "DIRECT";
var PROXY_LIST = [
"instagram.com",
"google.com",
"facebook.com",
@vqiu
vqiu / named.conf
Created January 11, 2019 03:56 — forked from cpswan/named.conf
Unbound/BIND config for DNS over TLS to 1.1.1.1
options {
directory "/tmp";
listen-on-v6 { none; };
forwarders {
127.0.0.1 port 2053;
};
auth-nxdomain no; # conform to RFC1035
local redis_c = require "resty.redis"
local ok, new_tab = pcall(require, "table.new")
if not ok or type(new_tab) ~= "function" then
new_tab = function (narr, nrec) return {} end
end
local _M = new_tab(0, 155)
@vqiu
vqiu / nginx.conf
Created October 23, 2019 07:43 — forked from senderista/nginx.conf
Token bucket with upstream stats
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
lua_shared_dict token_bucket 10M;
lua_shared_dict stats 5M;
init_by_lua '
worker_processes 2;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
http {
init_by_lua '
function split(inputstr, sep)
@vqiu
vqiu / nginx.tmpl
Created June 24, 2018 18:14 — forked from tzumby/nginx.tmpl
{{ $cfg := .Cfg }}
{{ $IsIPV6Enabled := .IsIPV6Enabled }}
{{ $healthzURI := .HealthzURI }}
{{ $backends := .Backends }}
{{ $proxyHeaders := .ProxySetHeaders }}
daemon off;
worker_processes {{ $cfg.WorkerProcesses }};
pid /run/nginx.pid;
{{ if ne .MaxOpenFiles 0 }}