美文网首页
docker构建tor代理并转成http代理

docker构建tor代理并转成http代理

作者: niyiwei | 来源:发表于2020-05-03 00:18 被阅读0次

tor是一个专用于匿名网络的代理,内部会随机使用ip进行访问,这样可以大大的提高隐私性,并且tor代理也能实现翻墙,只不过有很多网站都限制tor流量,如果做爬虫的话,经常被封ip的情况可以使用tor,随机ip很爽,,但是转发了三个地址的时候,就会变的很慢,,

在访问 onion 结尾的暗网地址,需要使用tor 提供的代理,才能访问,一般来说tor 提供的是socket5的代理,浏览器不能直接使用socket5,需要使用 privoxy,将socket5 转http访问

如果在代理服务器经常换的情况下,还需要给每一个代理服务器配置tor 代理,就不是很爽了

现在我们直接使用docker构建tor 以及privoxy的镜像,实现开箱即用,

构建基础镜像

我们需要准备一些文件,来定义 privoxy 的代理模式

config:

forward-socks5t / 127.0.0.1:9050 .
listen-address  0.0.0.0:1080

confdir /etc/privoxy

logdir /var/log/privoxy

actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations

filterfile default.filter
filterfile user.filter      # User customizations

logfile logfile

toggle  1

enable-remote-toggle  0

enable-remote-http-toggle  0

enable-edit-actions 0

enforce-blocks 0

buffer-limit 4096
enable-proxy-authentication-forwarding 0

forwarded-connect-retries  0

accept-intercepted-requests 0

allow-cgi-request-crunching 0

split-large-forms 0

keep-alive-timeout 5

socket-timeout 300

entrypoint.sh:

#! /bin/bash
privoxy /etc/privoxy/config && tor
FROM alpine:latest

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

ADD ./config /etc/privoxy/config
ADD ./entrypoint.sh /

RUN apk update \
 && apk upgrade \
 && apk add tor privoxy\
 && rm /var/cache/apk/*

CMD ["sh", "/entrypoint.sh"]

后面:

docker build . -t demo_tor && docker run -d -p 1080:1080 demo_tor

访问 telnet 127.0.0.1 1080 即可,映射到物理机的ip可以更改,

使用nginx 负载均衡

使用自定义的配置文件,

nginx.conf:

worker_processes  1;
events {
    worker_connections  1024;
}


stream {
    upstream local-proxy  {
        ${NG_SOCK_PROXY}
        
    }
    server {
        listen 8080;
        proxy_pass local-proxy;
    }
}

entrypoint.sh:

#! /bin/bash
# 将环境变量转到配置文件中
envsubst < /nginx.conf > /etc/nginx/nginx.conf && exec nginx -g 'daemon off;'

Dockerfile:

FROM nginx

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 默认的配置,后续修改,即可,,
ENV NG_SOCK_PROXY="server 127.0.0.1:8888;"

ADD ./entrypoint.sh /
ADD ./nginx.conf /

CMD ["sh", "/entrypoint.sh"]
docker build . -t  loop

编写docker-compose.yml,这样子是为了更好的启动,,,

如果有多个可以添加NG_SOCK_PROXY 环境变量的记录,

当然也可以直接扩展proxy的应用,不需要编写那么多的规则,

version: '3'
services:
  #  轮训下面的代理程序,并且将sockt转http
  loop:
    image:  yylany/tor_loop:latest
    ports:
      - "58118:8080"
    environment:
      - "NG_SOCK_PROXY=server proxy1:1080;
                       server proxy2:1080;
                       "
  # 以下是代理程序
  proxy1:
    image: demo_tor
  proxy2:
    image: demo_tor

相关文章

  • docker构建tor代理并转成http代理

    tor是一个专用于匿名网络的代理,内部会随机使用ip进行访问,这样可以大大的提高隐私性,并且tor代理也能实现翻墙...

  • linux各种代理

    大方向 1.代理软件2.系统设置 分类 1.http 代理2.docker代理3.pip代理... 写得不错的,参...

  • Privoxy 安装配置

    使用Privoxy 将socks5代理转成http代理 操作系统 CentOS 7 1、先安装epel源 2、使用...

  • 17使用 Go 运行与部署

    简介 在 docker 中构建 集成在 docker-compose 中 使用 nginx 反向代理修改 API创...

  • docker添加http代理

    简述 当docker在拉取国外的镜像,并且没有国内加速源的资源,速度很慢。这时候就需要添加http、https代理...

  • privoxy

    Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor组合使用。通过Privoxy...

  • windows server docker Proxy Conf

    要为docker search和docker pull设置代理信息,请创建名为HTTP_PROXY或HTTPS_P...

  • 五、抓包工具

    1、HTTP代理 (1) 所谓的http代理,其实就是代理客户机的http访问,主要代理浏览器访问页面。 代理服务...

  • Tor 代理地址

    127.0.0.1:9150打开tor后 就可以使用这个代理地址了注意有些软件还在用9050 这个代理端口 改成9...

  • GIT设置和取消http代理, 取消https代理

    为git设置http代理, https代理 可以使用 git config -l查看代理 取消http代理, 取消...

网友评论

      本文标题:docker构建tor代理并转成http代理

      本文链接:https://www.haomeiwen.com/subject/hufhghtx.html