84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
最近从 Bitbucket经常访问不了,Github拖代码的速度也抽风,什么原因大家都知道。 所以,最好的方法就是给Git设置代理了,我希望能指定部分仓库走代理方式,不知该如何设置?
本地环境下,本人设置了ssh代理,通过SOCKS走127.0.0.1:7070实现,如果在本地ssh代理开启的情况下,是不是又有另外的方法?
Git は現在、git://、ssh://、http:// の 3 つのプロトコルをサポートしており、それらのプロキシ構成は異なります。 core.gitproxy は git:// プロトコルに使用され、http.proxy は http:// プロトコルに使用されます。 code> プロトコルの場合、ssh:// プロトコルのプロキシは ssh の ProxyCommand パラメータを設定する必要があります。 git://、ssh:// 和 http://,其代理配置各不相同:core.gitproxy 用于 git:// 协议,http.proxy 用于 http:// 协议,ssh:// 协议的代理需要配置 ssh 的 ProxyCommand 参数。
git://
ssh://
http://
core.gitproxy
http.proxy
ProxyCommand
建立 /path/to/socks5proxywrapper 文件,使用 https://bitbucket.org/gotoh/connect 工具进行代理的转换,各发行版一般打包为 proxy-connect 或者 connect-proxy。
/path/to/socks5proxywrapper
#!/bin/sh connect -S 127.0.0.1:7070 "$@"
配置 git
[core] gitproxy = /path/to/socks5proxywrapper
或者
export GIT_PROXY_COMMAND="/path/to/socks5proxywrapper"
建立 /path/to/soks5proxyssh 文件
/path/to/soks5proxyssh
#!/bin/sh ssh -o ProxyCommand="/path/to/socks5proxywrapper %h %p" "$@"
配置 git 使用该 wrapper
export GIT_SSH="/path/to/socks5proxyssh“
当然也可以直接配置 ~/.ssh/config 的 ProxyCommand
~/.ssh/config
[http] #这里是因为 Git 使用 libcurl 提供 http 支持 proxy = socks5://127.0.0.1:7070
#!/bin/sh connect -H 192.168.1.100:8080 "$@"
[http] proxy = http://192.168.1.100:8080
gitproxy 参数提供 * for * 结构,具体看 man git-config
* for *
man git-config
~/.ssh/config
このリポジトリには http.proxy または core.gitproxy を設定できます
http://www.kernel.org/pub/software/sc...
yanyaoer のメソッドを使用して git のプロキシを設定できます。 あなたが言及した ssh+pac+socks エージェントに関しては、yanyaoer が言及した git エージェントと競合しません。 Socks プロキシは回路レベルの基盤となるプロキシですが、git config で設定されたプロキシはアプリケーション レベルです。
このとき、git 操作を実行すると、すべてのネットワーク リクエストは Socks レイヤーに到達すると proxy.server.com に送信され、当然影響を受けずに直接送信されます。
tsocks - http://tsocks.sourceforge.net/
$ tsocks git clone git@github.com:xxx/xxx.git
bitbucket からクローンを作成し、ssh プロトコルを使用する場合は、すべての ssh プロキシ メソッドを使用できます
たとえば、http プロキシまたは Socks プロキシの場合は、http://bent.latency.net/bent/git/goto... を使用できます。この小さなプログラムはホストの ProxyCommand として使用されます。コード>ProxyCommand
ProxyCommand として使用されます。コード>ProxyCommand
如果是你说的有某个中转服务器的话,可以用远程主机上的nc做ProxyCommand http://www.undeadly.org/cgi?action=ar...
nc
关于你说的区分流量,可以在~/.ssh/config里进行区别设置。例如我之前用的配置
Host bitbucket.org ProxyCommand ~/.ssh/connect -H 192.168.1.106:3128 %h 22
这样git clone ssh://git@bitbucket.org/XXXX时会自动调用这里定义的ProxyCommand
git clone ssh://git@bitbucket.org/XXXX
proxy-wrapper スクリプトを設定するproxy-wrapper 脚本
proxy-wrapper
bash cat > $HOME/bin/proxy-wrapper #!/bin/bash nc -x127.0.0.1:7080 -X5 $*
给它增加一个可执行权限
bash $ chmod +x $HOME/bin/proxy-wrapper
配置 .ssh/config リーリー
.ssh/config
リーリー .ssh/config を構成し、github.com のプロキシ コマンドを設定します リーリー
sshプロトコルを使用する必要があります
1Lの回答に基づいて、httpプロキシ構成に基づいてさまざまなプロキシを自動的に識別して設定できるsmart_switcherを作成しました。オフィスにはプロキシがあり、自宅にはプロキシがない場合のさまざまなスイッチング状況に特に適しています。ただし、非常に簡略化されており、ゲートウェイの IP とポートを設定するだけです。 ここでお読みください。 。 。
http、https、ftp、rsync、ssh、git プロトコルの自動検出プロキシ スイッチャー
A smart プロキシスイッチャーラッパー、サポート http, https, ftp, # 🎜🎜#rsync、ssh(connect depanded)、git(connect depanded) プロトコルを自動的に検出し、プロキシを設定します。 .
ソース /path/to/smart_switcher.sh
source /path/to/smart_switcher.sh
and, make sure set your proxy_server/gateway in smart_switcher.sh.
smart_switcher.sh
Normally, it antomatically executes when you login in.
smart_switcher supports cecho, who will bring some colors for you.
smart_switcher
connect is required if proxy is supported in ssh and git. You can install it easily in path /usr/bin/connect
/usr/bin/connect
/usr/bin/connect に簡単にインストールできます。コード>.#🎜🎜#
git プロトコルの接続方法では、ssh を使用してサーバーと通信します。sock5 プロキシを使用してサーバーに接続するように ssh を設定すると、git プロキシの問題も解決されます。
1.
gcc を使用して上記のコードをコンパイルし、環境変数ディレクトリに保存し、名前を connect に変更します .ssh ディレクトリに入り、新しいディレクトリを作成します
ファイル構成
ファイルプロキシラッパー
上記には多くの答えがあります。プログラムが -c参数可以在运行时重载git配置,包括关键的http.proxy
-c
例:
最良のソリューションはプロキシチェーン (https://github.com/haad/proxychains) です。 次のコマンドはプログラムを実行します $プロキシチェーンプログラム これにより、特定のプログラムによって開始された TCP 接続が事前構成されたプロキシを経由するように強制されます。少なくとも Linux では、「SOCKS プロキシから HTTP プロキシへ」よりも汎用性が高くなります。この 2 つは相互に補完し合うため、代理店が必要なすべてのシナリオに対応できます。 Git を例に挙げると、プロキシチェーンがないと、git ドキュメントの要件に従って各プロトコル (http、git、ssh) にプロキシを設定する必要があります。このプロセスは複雑で不安定です。プロキシチェーンを使用すると、これらすべてを忘れることができます。
$ sudo apt-get インストールプロキシチェーン /etc/proxychains.conf を開き、次の行をコメントアウトします (リモート DNS 解決を無効にします。DNS 汚染のリスクがあります。有効にできない問題を解決する方法を以下に説明します。) プロキシ_dns 最後に次の行を追加します: 靴下5 134.64.206.85 1081 $ proxychains git clone git://github.com/yuzhichang/cppdep $ sudo proxychains apt-get update ここで、134.64.206.85:1081 は SOCKS プロキシの場所です。
Git は現在、
git://
、ssh://
、http://
の 3 つのプロトコルをサポートしており、それらのプロキシ構成は異なります。core.gitproxy
はgit://
プロトコルに使用され、http.proxy
はhttp://
プロトコルに使用されます。 code> プロトコルの場合、ssh://
プロトコルのプロキシは ssh のProxyCommand
パラメータを設定する必要があります。git://
、ssh://
和http://
,其代理配置各不相同:core.gitproxy
用于git://
协议,http.proxy
用于http://
协议,ssh://
协议的代理需要配置 ssh 的ProxyCommand
参数。对于所有的协议全部使用 SSH 隧道进行代理
GIT 协议的配置
建立
/path/to/socks5proxywrapper
文件,使用 https://bitbucket.org/gotoh/connect 工具进行代理的转换,各发行版一般打包为 proxy-connect 或者 connect-proxy。配置 git
或者
SSH 协议的配置
建立
/path/to/soks5proxyssh
文件配置 git 使用该 wrapper
当然也可以直接配置
~/.ssh/config
的ProxyCommand
HTTP 协议的配置
所有协议全部使用 http 代理
在前一部分的基础上,
/path/to/socks5proxywrapper
文件改为HTTP 协议配置
针对域名启用代理
gitproxy 参数提供
* for *
结构,具体看man git-config
すべてのプロトコルに SSH トンネリングを使用する
GIT プロトコルの構成
/path/to/socks5proxywrapper
ファイルを作成し、https://bitbucket.org/gotoh/connect ツールを使用してプロキシを変換します。各ディストリビューションは通常、proxy-connect または connect-proxy としてパッケージ化されています。 。 🎜 リーリー 🎜gitを構成する🎜 リーリー 🎜または🎜 リーリーSSH プロトコルの構成
🎜/path/to/soks5proxyssh
ファイルを作成します🎜 リーリー 🎜このラッパーを使用するように git を設定します🎜 リーリー 🎜もちろん、~/.ssh/config
のProxyCommand
を直接設定することもできます🎜HTTP プロトコルの構成
リーリーすべてのプロトコルに http プロキシを使用する
前の部分に基づいて、
リーリー/path/to/socks5proxywrapper
ファイルは次のように変更されます。HTTP プロトコルの構成
リーリードメイン名のプロキシを有効にする
🎜gitproxy パラメーターは、* for *
構造を提供します。詳細については、man git-config
の core.gitproxy セクションを参照してください。 🎜このリポジトリには http.proxy または core.gitproxy を設定できます
リーリー リーリーhttp://www.kernel.org/pub/software/sc...
yanyaoer のメソッドを使用して git のプロキシを設定できます。
たとえば、pac は github.com が Socks 127.0.0.1:7070 を使用するように設定されており、git config は github.com がプロキシとして proxy.server.com を使用するように設定されています。あなたが言及した ssh+pac+socks エージェントに関しては、yanyaoer が言及した git エージェントと競合しません。
Socks プロキシは回路レベルの基盤となるプロキシですが、git config で設定されたプロキシはアプリケーション レベルです。
このとき、git 操作を実行すると、すべてのネットワーク リクエストは Socks レイヤーに到達すると proxy.server.com に送信され、当然影響を受けずに直接送信されます。
tsocks - http://tsocks.sourceforge.net/
$ tsocks git clone git@github.com:xxx/xxx.git
bitbucket からクローンを作成し、ssh プロトコルを使用する場合は、すべての ssh プロキシ メソッドを使用できます
たとえば、http プロキシまたは Socks プロキシの場合は、http://bent.latency.net/bent/git/goto... を使用できます。この小さなプログラムはホストの
ProxyCommand として使用されます。コード>
ProxyCommand
如果是你说的有某个中转服务器的话,可以用远程主机上的
nc
做ProxyCommand
http://www.undeadly.org/cgi?action=ar...关于你说的区分流量,可以在
~/.ssh/config
里进行区别设置。例如我之前用的配置这样
あなたが述べたようにリレーサーバーがある場合は、リモートホストでgit clone ssh://git@bitbucket.org/XXXX
时会自动调用这里定义的ProxyCommand
nc
を使用してProxyCommand
http://www.undeadly.org/cgi?action= を実行できます。あれ…🎜 🎜あなたが言及したトラフィックの区別に関しては、~/.ssh/config
でさまざまな設定を行うことができます。たとえば、以前使用した構成🎜 リーリー 🎜このようにして、git clone ssh://git@bitbucket.org/XXXX
は、ここで定義されたProxyCommand
を自動的に呼び出します🎜github ssh プロキシ | github ssh プロトコル プロキシ設定
proxy-wrapper
スクリプトを設定するproxy-wrapper
脚本给它增加一个可执行权限
配置
実行権限を追加します.ssh/config
リーリーリーリー
.ssh/config
を構成し、github.com のプロキシ コマンドを設定します リーリーsshプロトコルを使用する必要があります
リーリー
git プロトコルについては、[SOCKS プロキシを介した GIT の使用](http://twopenguins.org/tips/git-throu...) を参照してください。参考-
- [Git のプロキシを設定するにはどうすればよいですか? ](/q/10100000001...)
- [SOCKS プロキシを介した GIT の使用](http://twopenguins.org/tips/git-throu...)
【無料ssh】(http://milnk.com/link/10645)🎜 🎜1Lの回答に基づいて、httpプロキシ構成に基づいてさまざまなプロキシを自動的に識別して設定できるsmart_switcherを作成しました。オフィスにはプロキシがあり、自宅にはプロキシがない場合のさまざまなスイッチング状況に特に適しています。ただし、非常に簡略化されており、ゲートウェイの IP とポートを設定するだけです。
ここでお読みください。 。 。
スマートスイッチャー
http、https、ftp、rsync、ssh、git プロトコルの自動検出プロキシ スイッチャー
概要
A smart プロキシスイッチャーラッパー、サポート http, https, ftp, # 🎜🎜#rsync、ssh(connect depanded)、git(connect depanded) プロトコルを自動的に検出し、プロキシを設定します。 .
普段ネットワーク環境を切り替えている場合(自宅ではプロキシなし、職場ではプロキシありなど)、非常に役立つかもしれません。ソース /path/to/smart_switcher.sh
source /path/to/smart_switcher.sh
and, make sure set your proxy_server/gateway in
smart_switcher.sh
.Usage
Normally, it antomatically executes when you login in.
smart_switcher
supports cecho, who will bring some colors for you.connect is required if proxy is supported in ssh and git. You can install it easily in path
and#🎜🎜#、/usr/bin/connect
smart_switcher.sh
で proxy_server/gateway を必ず設定してください。#🎜🎜# #🎜🎜#使用法#🎜🎜# #🎜🎜#通常、ログイン時に自動的に実行されます。#🎜🎜# #🎜🎜#smart_switcher
は、いくつかの色を提供してくれる cecho をサポートしています。#🎜🎜# #🎜🎜#ssh#🎜🎜# および #🎜🎜#git#🎜🎜# でプロキシがサポートされている場合は、#🎜🎜#connect が必要です。パス/usr/bin/connect に簡単にインストールできます。コード>.#🎜🎜#
git プロトコルの接続方法では、ssh を使用してサーバーと通信します。sock5 プロキシを使用してサーバーに接続するように ssh を設定すると、git プロキシの問題も解決されます。
1.
リーリーgcc を使用して上記のコードをコンパイルし、環境変数ディレクトリに保存し、名前を connect に変更します
.ssh ディレクトリに入り、新しいディレクトリを作成します
ファイル構成
リーリーファイルプロキシラッパー
リーリー上記には多くの答えがあります。プログラムが
を使用して、状態や作業ディレクトリなしで git コマンドを実行すると仮定します。-c
参数可以在运行时重载git配置,包括关键的http.proxy
例:
リーリー最良のソリューションはプロキシチェーン (https://github.com/haad/proxychains) です。
次のコマンドはプログラムを実行します
$プロキシチェーンプログラム
これにより、特定のプログラムによって開始された TCP 接続が事前構成されたプロキシを経由するように強制されます。少なくとも Linux では、「SOCKS プロキシから HTTP プロキシへ」よりも汎用性が高くなります。この 2 つは相互に補完し合うため、代理店が必要なすべてのシナリオに対応できます。
Git を例に挙げると、プロキシチェーンがないと、git ドキュメントの要件に従って各プロトコル (http、git、ssh) にプロキシを設定する必要があります。このプロセスは複雑で不安定です。プロキシチェーンを使用すると、これらすべてを忘れることができます。
$ sudo apt-get インストールプロキシチェーン
/etc/proxychains.conf を開き、次の行をコメントアウトします (リモート DNS 解決を無効にします。DNS 汚染のリスクがあります。有効にできない問題を解決する方法を以下に説明します。)
プロキシ_dns
最後に次の行を追加します:
靴下5 134.64.206.85 1081
$ proxychains git clone git://github.com/yuzhichang/cppdep
$ sudo proxychains apt-get update
ここで、134.64.206.85:1081 は SOCKS プロキシの場所です。