在docker中编译tor 源码
在docker中编译tor 源码
- 前言
- 一、docker中创建自定义镜像及容器
- 1. 创建镜像的目录并拉取Ubuntu16.04镜像:
- 2.书写Dockerfile,并build构建镜像
- 二、编译tor源码
- 1. 下载Tor源码
- 2.编译Tor源码
- 三、运行tor
- 参考连接
前言
本文将在docker中创建一个镜像,在镜像的基础上启动容器,然后编译tor-0.4.4.5.tar.gz(目前最新版)源码
一、docker中创建自定义镜像及容器
我们所说的生成镜像其实是在ubuntu镜像的基础上构建自己的镜像,因此首先需要拉取ubuntu镜像。
1. 创建镜像的目录并拉取Ubuntu16.04镜像:
执行如下指令:
mkdir /home/qingfeng/qingfeng_docker_image/
docker pull ubuntu:16.04
如果再拉取ubuntu:16.04的时候timeout超时,则可以尝试更换docker源为阿里云的源。只需执行如下指令:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://lqbkkmob.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
之后再拉取ubuntu:16.04即可。
拉取ubuntu镜像后,执行指令:docker images可查看拉取的ubuntu镜像。
docker images
2.书写Dockerfile,并build构建镜像
输入指令:vim Dockerfile,并添加如下内容:
vim Dockerfile
FROM ubuntu:16.04RUN apt-get update
RUN apt-get upgrade -y# Install python3
RUN apt-get install -y python3# Install dependent-libraries
RUN apt-get install -y wget vim
RUN apt-get install gcc -y && apt-get install make -y \&& apt-get install vim -y && apt-get install openssl -y \&& apt-get install libssl-dev -y && apt-get install python3-pip -yRUN mkdir /home/qingfeng_make/
VOLUME ["/home/qingfeng_make/"]
CMD [""]
书写Dockerfile后保存并退出。执行如下指令构建镜像:
docker build -t image_base::base . #image_base为自己起的名字和tag标签
执行成功后,可执行指令:docker images查看构建的镜像
3. 创建容器
执行如下指令创建容器:
docker run -it --name tor -h tor -p 3533:22 image_base:base /bin/bash # tor为容器名字,image_base:base为容器依赖的镜像
可使用指令:docker ps查看新建的容器,并执行指令:docker attach tor进入容器
docker attach tor
二、编译tor源码
1. 下载Tor源码
创建文件目录保存tor工程,执行如下指令:
mkdir mkdir -p /home/qingfeng/torProject
去官网:tor源码,下载tor的releases版本,如下图所示:
将tor-tor-0.4.4.5.tar.gz下载到/home/qingfeng/torProject目录,并使用指令:tar zxvf tor-tor-0.4.4.5.tar.gz解压。
2.编译Tor源码
执行官网给出的编译指令:sh autogen.sh && ./configure && make && make install
如图所示:
sh autogen.sh && ./configure && make && make install
出现错误:autogen.sh: 21: autogen.sh: aclocal: not found
此时需要安装atuogen,执行如下指令:
apt-get install automake
再次执行编译语句:sh autogen.sh && ./configure && make && make install
发送错误:WARNING: On Debian, you can install libevent using "apt-get install libevent-dev“
此时需要安装ibevent-dev,执行如下指令:
apt-get install libevent-dev
继续执行编译语句:sh autogen.sh && ./configure && make && make install
发生错误:To build without manpages, use the --disable-asciidoc argument
when calling configure.
执行编译语句:sh autogen.sh && ./configure --disable-asciidoc&& make && make install
sh autogen.sh && ./configure --disable-asciidoc&& make && make install
成功!如下图所示:
三、运行tor
在工作目录配置torrc文件,可以执行指令:find / -name torrc找一个torrc
find / -name torrc
之后复制一个torrc到工作目录(自定义的目录)(其实用vim自己创建一个也行,文件只要命名为torrc即可,注意torrc权限最好是777)
修改torrc内容,使用指令:vim torrc打开并编辑(如果没有vim,请apt-get install vim),内容如下:
SocksPort 9150
RunAsDaemon 1DataDirectory xxx/data # 目录自己定义
Log notice file xxx/notice.log # 目录自己定义
Log info file xxx/info.log # 目录自己定义Socks5Proxy xxx.xxx.xxx.xxx:xxx # 代理的ip和端口
保存并退出。
执行指令:tor -f torrc
tor -f torrc
可通过查看tail -f notic.log查看是否成功,当Bootstrapped 100%便代表成功运行。如图所示:
参考连接
1.https://www.jb51.net/article/177259.htm
2.https://blog.csdn.net/lld2002/article/details/82596120
3.https://github.com/torproject/tor
在docker中编译tor 源码相关推荐
- 在Virtual Box的shared folder中编译android源码。
一些诡异的选择会带来诡异的问题,比如android源码sync到一个shared folder里面,然后在这个Folder里面编译android源码. 问题:在SharedFolder下使用make ...
- 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )
文章目录 一.CheatEngine 简介 二.使用 Lazarus 编译 CE 源码 三.CheatEngine 相关文档资料 一.CheatEngine 简介 CheatEngine 简称 CE ...
- 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 )
文章目录 一.导入 Oboe 库 二.使用预构建的二进制库和头文件 三.编译 Oboe 源代码 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Starte ...
- CentOS7中使用编译github源码方式离线安装Node-RED
场景 Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED: Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED_ ...
- docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)
在安装时请确保可以联网.安装步骤如下: 1. 更新班级yum配置(参见: http://public-yum.oracle.com/getting-started.html): # cd /etc/y ...
- 我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND
系列文章目录 文章目录 系列文章目录 前言 一.原因 二.解决 1.引入库 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code ...
- Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27
文章目录 一. 前言 二.系列文章 三. 服务器配置 3.1 Repo 工具配置 3.2 AOSP 依赖配置 四. 下载源码 4.1 下载 aosp tar ball 4.2 同步代码 4.3 切分支 ...
- Java扩展Nginx之二:编译nginx-clojure源码
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 为什么要编译nginx-clojure源码 作为< ...
- java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...
最新文章
- See the World 2015-6-10
- 开课吧python视频百度云-做摄影2年,工资5000,兼职2W...
- php输出pre自动换行,解决 html pre 标签的内容自动换行的问题
- 详解在 Linux 启动时,如何自动执行命令或脚本
- PHP从零开始--数据库
- Java封装图书信息类
- 交替领先的赛跑(洛谷P1568题题解,Java语言描述)
- ssm radis mysql_SSM完美整合Redis
- Sentinel实现限流熔断及与Spring Cloud整合
- 生产者消费者线程在QueueT中实现多线程同步
- 轮播图的效果实现小米商城和京东商城
- java车牌号识别EasyPR_EasyPR-Java
- radius服务器有什么协议,RADIUS服务器使用RADIUS协议完成对用户主机的认证、授权和计费时,RADIUS协议工作流程如下:...
- 关于Coolie编码
- FlashFXP使用及连接不上的错误问题
- 安装极狐GitLab(ubuntu)----写给不爱看官方文档的人
- PointNet论文翻译
- css3 图片旋转360度动画
- 51nod 1423:最大二“货”
- CC00416.CloudKubernetes——|KuberNetesNetworkPolicy.V08|——|NetworkPolicy.v08|隔离中间件服务.v04|
热门文章
- dell kvm java 会话报错_生产环境下戴尔 R820 kvm虚拟化部署三(virt-manager图形化安装kvm虚拟机)...
- 如果你到了20岁,还没有到25岁
- 不同进制之间的转换(完整版)
- 疫苗接种预约挂号排队通知助手系统开发
- Ansys workbench结构线性静力学分析-应变分析
- 计算机课数据排序与筛选ppt,《计算机表格处理》PPT课件.ppt
- Windows打开WLS(为使用Ubuntu)
- Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图
- 网站的favicon图标和TDK的SEO优化
- 明略数据:用大数据分析找出数据间隐藏的关联性