你知道的,现在 Google Code 无法访问,我现在想用 Socks 代理通过 svn 来获取代码,该如何设置呢?
网上看到的在用户主目录下有 $HOME/.subversion/servers 文件里可以配置 HTTP 代理,配置方法如下:
[groups] group1 = *.googlecode.com
[group1] http-proxy-host = 127.0.0.1 http-proxy-port = 1096
可是不行哦,因为我本地的代理是 Socks 代理,不是 HTTP 代理,该怎么处理呢?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果你需要通过Socks代理使用svn来访问Google Code或其他代码库,Subversion本身并不直接支持Socks代理。但是,你可以通过一个叫做tsocks
的工具间接实现这一需求。tsocks
是一个透明的SOCKS代理客户端,它可以使得原本不支持SOCKS代理的应用程序(如svn)通过SOCKS代理进行网络通信。
以下是使用tsocks
配置SVN以通过Socks代理获取代码的步骤:
安装tsocks:首先,你需要在你的系统上安装tsocks
。这可以通过包管理器完成,例如在Ubuntu或Debian上可以使用以下命令:
sudo apt-get install tsocks
在其他Linux发行版中,可能需要使用相应的包管理命令,如yum、dnf等。
配置tsocks:安装完tsocks
后,需要编辑其配置文件/etc/tsocks.conf
(或者如果是个人用户,也可以在~/.tsocksrc
创建配置文件)。配置内容示例如下:
# /etc/tsocks.conf 或 ~/.tsocksrc
server = 127.0.0.1
port = 1096
type = socks5
这里假设你的Socks代理地址是127.0.0.1
,端口是1096
,并且是Socks5协议。
使用tsocks运行svn命令:现在,当你需要使用svn时,不是直接调用svn
命令,而是通过tsocks
来调用它。例如,如果你想检出一个项目,可以这样做:
tsocks svn checkout https://your-project.googlecode.com/svn/trunk your-project
或者如果你已经进入了工作副本目录,想更新代码,可以这样操作:
tsocks svn update
通过上述方法,即使SVN本身不支持Socks代理,你也能通过tsocks
间接地利用Socks代理来访问和操作代码库了。