git 使用代理的相关资料整理

 

git 代理使用相关资料整理

1 http(s) 源

 

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

Date: 2012-04-18 17:01:54

Author:

Org version 7.8.09 with Emacs version 23

Validate XHTML 1.0
原文地址:https://www.cnblogs.com/csophys/p/2455614.html