git 代理使用相关资料整理
1 http(s) 源
1.1 举例
1.2 解决方法
这种git源相对简单,直接使用
export http_proxy=http://<用户名>:<密码>@<ip>:<端口>
2 git 源
2.1 举例
git://java.net/grizzly~git
2.2 解决方法
这种情况下需要借助第三方的网络工具,如connect,socat等,
这类工具的主要功能是通过代理进行内容转发。
2.2.1 connect
git通过connect的使用相对简单,可以参考网页
http://www.cnblogs.com/wangwangkunkun/archive/2011/10/20/2219442.html
- connect 介绍
如同connect地自我说明:connect — simple relaying command via proxy.
- connect 使用方法
Version 1.100 usage: connect [-dnhst45] [-p local-port] [-H proxy-server[:port]] [-S [user@]socks-server[:port]] [-T proxy-server[:port]] [-c telnet-proxy-command] host port
通过connect这个工具可以使用http和socket代理来连接目标服务器。
2.2.2 socat
socat是一款功能更加强大的端口转发,端口映射工具
git通过socat访问的连接地址可以参考网页
http://jixiuf.github.com/git/git-proxy-on-windows.html
介绍地已经比较仔细了。
socat 介绍
socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。
socat 使用举例
socat参数中,必须有两个流。
端口连接
socat - tcp:10.167.129.20:8080
这个命令等同于nc中的nc 10.167.129.20 8080 ,连接目标端口
端口映射
socat tcp:202.119.118.222:1234 tcp:192.168.12.34:3389
这样对机器202.119.118.222上1234端口的访问会映射到机器192.168.12.34的端口3389上。
读写分流
socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork
這個命令實現一個假的web server,客戶端連過來之後,就把read.txt裡面的內容發過去,同時把客戶的數據保存到write.txt裡面。”!!”符號用戶合併讀寫流,前面的用於讀,後面的用於寫。1
补充:
但是即使你费劲的配置好git://协议之后,却仍然没办法向github提交你的代码,因
为它需要ssh 的支持,
要想git push 命令可用,还需要继续做一些工作,可参考http://jixiuf.github.com/git/git-proxy-on-windows.html