遇到的问题:
编译出现 dnsmasq 相关错误 直接在编译选项 base system里 去掉dnsmasq. 参考 upx 文件找不到 which upx; cp upx upx-cul; 参考 部署环境及依赖,可以参考lede的方式
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync git clone https://github.com/openwrt/openwrt; cd openwrt; .
饥荒终于存货了 500 day 了。
获取当前 commit 的 hash
git rev-parse --verify HEAD
local module = {}; module.xxx = xxx; functionn module.xxx () -- todo end return module; Lua 模块被 require 之后, 只会运行一次并进行缓存
安装 LuaRocks, 参考openresty 官方 wget http://luarocks.org/releases/luarocks-2.0.13.tar.gz tar -xzvf luarocks-2.0.13.tar.gz cd luarocks-2.0.13/ ./configure --prefix=/usr/local/openresty/luajit \ --with-lua=/usr/local/openresty/luajit/ \ --lua-suffix=jit \ --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 make sudo make install 安装 lua2go sudo /usr/local/openresty/luajit/luarocks install --server=https://luarocks.org/dev lua2go 通过 lua2go 调用 golang dll local lua2go = require('lua2go') local xxx = lua2go.Load('./xxx.so') lua2go.Externs([ extern char* captcha(xxx) ]) 试用这个ffi 模块,可能多次调用 lua2go.Externs 函数,导致内存泄漏;最好包装成lua module
安装 LuaRocks, 参考openresty 官方 wget http://luarocks.org/releases/luarocks-2.0.13.tar.gz tar -xzvf luarocks-2.0.13.tar.gz cd luarocks-2.0.13/ ./configure --prefix=/usr/local/openresty/luajit \ --with-lua=/usr/local/openresty/luajit/ \ --lua-suffix=jit \ --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.
本文主要介绍的是 openvpn 部署过程 以及在 openwrt 搞透明全局代理
vps 系统类型: Centos7
vps 主要执行:
安装 openvpn 并设置 打开ipv4数据包转发 防火墙允许包转发 添加用户 服务器 添加EPEL源, 并执行更新
yum install epel-release -y && yum update -y && yum upgrade -y 安装openvpn 以及 工具
yum -y install openvpn easy-rsa 生成密钥 复制配置文件 cd /usr/share/easy-rsa/3 cp /usr/share/doc/easy-rsa-${ easy-rsa 版本号 }/vars.example vars
修改 var 项目
#set_var EASYRSA_REQ_COUNTRY "US" #set_var EASYRSA_REQ_PROVINCE "California" #set_var EASYRSA_REQ_CITY "San Francisco" #set_var EASYRSA_REQ_ORG "Copyleft Certificate Co" #set_var EASYRSA_REQ_EMAIL "me@example.
安装过程:
到 maxmind 站点注册个账号 vps 安装 yum install libmaxminddb libmaxminddb-devel perl-Digest-MD5 安装 openresty 第三方包 opm get anjia0532/lua-resty-maxminddb openresty 配置文件, 进行初始化 init_by_lua_block { local geo = require 'resty.maxminddb' if not geo.initted() then geo.init("$GeoLite2.mmdb 路径") end } 可以在其他的 lua 执行节点使用 local geo = require 'resty.maxminddb' local res, err = geo.lookup($ip) 免费库精准度一般; 测试发现很大的误差·······
