30

简而言之,我正在寻找一种简单的方法来执行以下操作(如果可能,请提供代码示例):

  • 在我的电脑上设置并启动一个代理服务器(比如地址是 10.10.200.200:6767),它可以捕获我手机上的所有网络请求
  • 一旦手机的请求到达此代理,它将添加自定义身份验证详细信息(my_username/my_password)并将其转发给机构代理(例如地址为 10.1.2.3:80)
  • 我的本地代理(10.10.200.200)不需要任何缓存/加速。它只需要捕获请求并转发它。

现在,更多细节可以充分解释我的情况:

在我的研究所,需要通过代理进行身份验证,以便我们可以连接到互联网。当弹出窗口出现时,我通常输入我的 ldap 用户名/密码进行身份验证。

现在,我想将我的手机连接到研究所的 WiFi,但我的手机没有使用代理进行身份验证的选项。只能指定代理地址。因此,我计划在我的计算机上设置一个本地代理来捕获来自我手机的所有请求,添加身份验证详细信息并通过我的计算机将其传递给我的研究所代理。

我安装了 squid3(在 Ubuntu 上),但是看着配置文件,我迷路了。我试过谷歌搜索,但它看起来太复杂了。

希望有人可以提供帮助。

4

1 回答 1

39

我从 squid 教程中发现,最简单的配置是:

http_access allow all
http_port 3128

coredump_dir /var/spool/squid3
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .       0   20% 4320

cache_peer 10.1.2.3 parent 80 0 no-query default login=my_username:my_password
never_direct allow all

这些行应该让您在本地计算机上获得一个工作代理服务器,将所有请求转发到另一个代理服务器(相应地更改 IP 地址)。但是,请注意,在上面的脚本中,我禁用了任何访问控制/过滤器,因此任何人都可以连接并使用您的代理。您需要添加额外的代码来限制只能进入某些设备。

于 2013-10-07T07:50:34.893 回答