BIOGEEKER BIOGEEKER
  • 首页
  • AIGC
  • 理想国
  • 生信
  • 资料
    • Linux软件
    • Win软件
    • Mac软件
  • 关于BIOGEEKER
首页 › 资料 › Linux软件 › 用Privoxy为Ubuntu搭建Http代理服务器

用Privoxy为Ubuntu搭建Http代理服务器

HarryPotter
6 年前

写这篇博客的原因是,我的一个国内的朋友喜欢“优雅”的搭梯子访问google,就是利用ipad/pc上面自带的“HTTP代理”,代理到自己的服务器上,实现“优雅(强迫症)”地登录google。当然,恰好我以前研究过一点该方面的技术,在此顺便分享一下!

使用场景:

  •  有一台Ipad(及其它PC)、一台Ubuntu18.04服务器,还有一个shadowsocks账号,希望通过配置ipad(及其它PC)上面的“HTTP代理”,代理到Ubuntu18.04上面,然后登录google以及Youtube等

背景知识:

  • 大家应该知道,shadowsocks采用的socks5协议,因此是无法通过“HTTP代理”来请求shadowsocks代理,那么是否可以让用户通过HTTP代理连接上去,然后转发给shadowsocks,再通过shadowsocks代理去请求资源呢?答案很明显是肯定的!

解决方案:

  • 在Ubuntu上面搭建shadowsocks代理,同时安装Privoxy代理软件进行请求转发,也就是按照如下示意图进行请求

用Privoxy为Ubuntu搭建Http代理服务器-BIOGEEKER

NOTE:Shadowsocks的安装和配置十分简单,不做阐述

Privoxy安装合配置:

1. 安装

$ sudo apt-get install privoxy

2. 启动/终止服务

  • 启动服务:sudo service privoxy start
  • 终止服务:sudo service privoxy stop
  • 重启服务:  sudo service privoxy restart
  • 服务状态: sudo service privoxy status

3. 配置文件

  • 配置文件位于 “/etc/privoxy/config”,可以根据需要直接在文件末尾添加对应规则即可
  • Privoxy默认绑定127.0.0.1 (Localhost),默认端口为8118,此时只能代理本机浏览器的请求,如果想让局域网里的其他机器(如ipad)也能访问,则需要端口8118监听所有IP,即在配置文件行尾添加 “listen-address 0.0.0.0:8118”

4. HTTP代理转发

HTTP代理转发的意思就是:Privoxy把收到的请求转发给另一个HTTP代理,再由该代理访问目标网站

语法:

forward target_pattern http_proxy:port

字段:

  • forward:固定字段,表示“HTTP转发”
  • target_pattern : 表示只针对特定模式的HTTP请求才进行代理,该字段可以用斜杠“/”代表所有“URL网址”
  • http_proxy:port :表示转发给指定的HTTP代理,如果不需要另一个代理(即“直连”),则该字段用点“.”来代替

示例:

forward / 127.0.0.1:8080  #表示对所有的HTTP请求全都转发到本机(127.0.0.1)的8080端口

5. Socks代理转发

Socks代理转发就是:Privoxy把收到的请求转发给socks代理服务器,再由该socks代理服务器访问目标网站(如登google)

语法:

[forward-socks4|forward-socks4a|forward-socks5|forward-socks5t] target_pattern socks_proxy:port http_proxy:port

字段:

  •  转发规则:forward-socks4、forward-socks4a、forward-socks5、forward-socks5t
  •  target_pattern : 表示只针对特定模式的HTTP请求才进行代理,该字段可以用斜杠“/”代表所有“URL网址”
  •  socks_proxy:port :表示转发给指定的Socks代理
  •  http_proxy:port:表示江socks_proxy的代理请求再次转发给另外一台HTTP代理服务器(真是高匿名方法呀)

示例:

  • forward-socks5 / 127.0.0.1:1080 . #表示对所有的HTTP请求全都转发到本机Shadowsocks代理(127.0.0.1)的1080端口

6. 代理转发规则

由于我们并不希望所有流量都走socks,那样的话连接“百度”,“必应”等国内可以直连的网站,将不得不绕到国外,再从国外绕回来访问,此时便可以使用Privoxy提供代理转发规则,我们可以让那些被“墙”了的网站单独走socks通道,其他的网站直连操作!

  • 获得gfwlist(被“墙”名单)
  • gfwlist:是由 AutoProxy 官方维护,由众多网民收集整理的中国大陆防火长城的域名屏蔽列表(https://github.com/zfl9/gfwlist2privoxy)
  • 根据在github里的操作方法,获得gfwlist.action文件,然将该文件移动到 "/etc/privoxy/"文件夹中
  • 最后在"/etc/privox/config"文件末尾添加 "actionsfile gfwlist.action"

7. 实机测试

  • 在"/etc/privoxy/config"文件中添加以下两行内容
  • listen-address 0.0.0.0:8181 # listen all external IP on port 8181
  • forward-socks5 / 127.0.0.1:1080 . # Forward the request (eg. google.com) to localhost socks proxy on port 1080
  • 然后就可以用Ipad代理进来,快乐的上google了
用Privoxy为Ubuntu搭建Http代理服务器-BIOGEEKER

This work by Jimmy is licensed under CC BY 4.0

5
0
华为云OCR文字识别
下一篇

评论 (0)

取消
    发表评论

HarryPotter

3
文章
0
评论
5
获赞

随机推荐

冬日里最好的背景音乐
7 月前
谁是你的萨菲娜?
11 月前
脱口秀、班味与消费降级
10 月前

推荐标签

AIGC chatgpt Midjourney OpenAI 服务器 机器学习 毛球 生信 生活方式 电台 睡前消息 硬件 音乐 音乐好朋友
  • 首页
  • AIGC
  • 理想国
  • 生信
  • 资料
  • 关于BIOGEEKER
Copyright © 2017-2025 BIOGEEKER. Designed by nicetheme. 京公网安备11010502055329号 京ICP备18047671号
  • AIGC10
  • chatgpt8
  • 毛球3
  • 生信3
  • 生活方式3
  • 首页
  • AIGC
  • 理想国
  • 生信
  • 资料
    • Linux软件
    • Win软件
    • Mac软件
  • 关于BIOGEEKER