Tor源码分析二 -- 目录结构

  Tor由于经过了长年的开发,版本到现在已经有很多。笔者选用的是tor-0.2.3.25版本。关于版本变迁和更新说明,请大家自行查看:

  https://gitweb.torproject.org/tor.git (需翻墙)


1. 源码目录关系图

  Tor的源码目录中包括doc, contrib, src等一些列很莫名的文件。其实,在这些所有的文件中,除了src文件夹,其他都可以在初期暂时不去理会。所以,这里我们就谈src文件夹下的目录结构,也是Tor源码核心的目录结构。

  上面两图已经基本给出了各个子目录之间的关系和引用次数。总的来说,src目录下包括下列这样的目录:

  1)win32:用于Windows的目录,内部只含有一个orconfig.h文件。主要用于Tor源码的跨平台编译。

  2)common:Tor源码中基本通用函数的封装目录。包括:OpenSSL,Libevent的封装,TLS的封装,链表和哈希表的实现等。

  3)tools:Tor使用工具目录。包括:密钥验证,证书生成,域名解析和防火墙辅助的实现。

  4)or:Tor核心程序逻辑目录。(Tor系统所有核心协议的实现目录)包括:客户端身份核心代码,路由身份核心代码,目录服务器身份核心代码等。

  5)test:Tor源码各功能模块的测试代码目录。

  6)config:配置文件模板目录


2. or目录下的各文件

  or目录是Tor源代码的核心,有必要简要介绍下该目录下的文件的主要作用:(细节部分后期会逐个文件分别进行分析)


以下部分同时用于OP与OR:(Onion Proxy, Onion Router)

  1)Buffers:缓冲区相关结构体及处理函数;

    a generic interface buffer. Buffers are fairly opaque string holders that can read to or flush from: memory, file descriptors, or TLS connections.
<

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值