使用 lua 编写 socks5 代理

libuv lua socks5 网络编程

之前做过一个有趣的东西,把一部分 NodeJS 的 API 移植到了 lua 上。让我可以在 lua 里使用异步网络 API 了,我把做的这个小东西叫做 lua-libuv。今天去参加了一下 Gopher China 2016 中间听得无聊了,便打开电脑,基于自己的 lua-libuv 编写了一个 socks5 协议的 proxy。这篇博客,讲解一下 socks5 协议以及实现。

2016-04-17 04:14 AM

移植 LuaCoco

lua coroutine 协程 移植

lua 语言最大的卖点之一就是他的协程(coroutine)了。但是在 lua5.1 中有一个文档都没提到的一个坑:协程只能在 lua 中使用,当调用 yield 时,如果当前的调用栈上有 c 代码,则会报错 “attempt to yield across metamethod/C-call boundary”。目前有个第三方的 patch 叫做 luaCoco 可以让 lua 支持 “真协程”。本文研究了 luaCoco 的内部实现,并把它移植到了 xtensa 处理器上。

2017-05-30 13:38 PM