最近看到一个基于c语言开发的tcp代理开源项目 地址:https://github.com/dccmx/tcproxy
因为在现有的项目引用到 做下简单的记录
这里面主要是应用到了epoll 处理监听网络客户端,代理端口转发到本地服务,可以实现过滤黑名单,很小巧的程序
</pre><pre name="code" class="cpp">int main(int argc, char **argv) {
int i, listen_fd;
</pre><pre name="code" class="cpp">
struct sigaction sig_action;
ParseArgs(argc, argv);
if (run_daemonize) Daemonize();
sig_action.sa_handler = SignalHandler;
sig_action.sa_flags = SA_RESTART;
sigemptyset(&sig_action.sa_mask);
sigaction(SIGINT, &sig_action, NULL);
sigaction(SIGTERM, &sig_action, NULL);
sigaction(SIGPIPE, &am