最近、Bitbucket に頻繁にアクセスできなくなり、Github からコードをドラッグする速度が遅くなりました。その理由は誰もが知っています。
したがって、Git のプロキシを設定するのが最善の方法ですが、プロキシ方法を使用するためにいくつかのウェアハウスを指定したいのですが、その設定方法がわかりません。
ローカル環境で ssh エージェントを設定し、SOCKS 経由で 127.0.0.1:7070 に移動します。ローカル ssh エージェントがオンになっている場合は、別の方法はありますか?
滿天的星座2017-05-02 09:35:57
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
参数。
建立 /path/to/socks5proxywrapper
文件,使用 https://bitbucket.org/gotoh/connect 工具进行代理的转换,各发行版一般打包为 proxy-connect 或者 connect-proxy。
#!/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
文件
#!/bin/sh
ssh -o ProxyCommand="/path/to/socks5proxywrapper %h %p" "$@"
配置 git 使用该 wrapper
export GIT_SSH="/path/to/socks5proxyssh“
当然也可以直接配置 ~/.ssh/config
的 ProxyCommand
[http]
#这里是因为 Git 使用 libcurl 提供 http 支持
proxy = socks5://127.0.0.1:7070
/path/to/socks5proxywrapper
文件改为#!/bin/sh
connect -H 192.168.1.100:8080 "$@"
[http]
proxy = http://192.168.1.100:8080
gitproxy 参数提供 * for *
结构,具体看 man git-config
/path/to/socks5proxywrapper
ファイルを作成し、https://bitbucket.org/gotoh/connect ツールを使用してプロキシを変換します。各ディストリビューションは通常、proxy-connect または connect-proxy としてパッケージ化されています。 。 🎜
リーリー
🎜gitを構成する🎜
リーリー
🎜または🎜
リーリー
/path/to/soks5proxyssh
ファイルを作成します🎜
リーリー
🎜このラッパーを使用するように git を設定します🎜
リーリー
🎜もちろん、~/.ssh/config
の ProxyCommand
を直接設定することもできます🎜
/path/to/socks5proxywrapper
ファイルは次のように変更されます。* for *
構造を提供します。詳細については、man git-config
の core.gitproxy セクションを参照してください。 🎜高洛峰2017-05-02 09:35:57
このリポジトリには http.proxy または core.gitproxy を設定できます
リーリー リーリーhttp://www.kernel.org/pub/software/sc...
过去多啦不再A梦2017-05-02 09:35:57
yanyaoer のメソッドを使用して git のプロキシを設定できます。
あなたが言及した ssh+pac+socks エージェントに関しては、yanyaoer が言及した git エージェントと競合しません。
Socks プロキシは回路レベルの基盤となるプロキシですが、git config で設定されたプロキシはアプリケーション レベルです。
このとき、git 操作を実行すると、すべてのネットワーク リクエストは Socks レイヤーに到達すると proxy.server.com に送信され、当然影響を受けずに直接送信されます。
習慣沉默2017-05-02 09:35:57
tsocks - http://tsocks.sourceforge.net/
$ tsocks git clone git@github.com:xxx/xxx.git
淡淡烟草味2017-05-02 09:35:57
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
里进行区别设置。例如我之前用的配置
Host bitbucket.org ProxyCommand ~/.ssh/connect -H 192.168.1.106:3128 %h 22
这样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
を自動的に呼び出します🎜phpcn_u15822017-05-02 09:35:57
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
を構成し、github.com のプロキシ コマンドを設定します
リーリー
sshプロトコルを使用する必要があります
滿天的星座2017-05-02 09:35:57
1Lの回答に基づいて、httpプロキシ構成に基づいてさまざまなプロキシを自動的に識別して設定できるsmart_switcherを作成しました。オフィスにはプロキシがあり、自宅にはプロキシがない場合のさまざまなスイッチング状況に特に適しています。ただし、非常に簡略化されており、ゲートウェイの IP とポートを設定するだけです。
ここでお読みください。 。 。
http、https、ftp、rsync、ssh、git プロトコルの自動検出プロキシ スイッチャー
A smart プロキシスイッチャーラッパー、サポート http, https, ftp, # 🎜🎜#rsync、ssh(connect depanded)、git(connect depanded) プロトコルを自動的に検出し、プロキシを設定します。 .
普段ネットワーク環境を切り替えている場合(自宅ではプロキシなし、職場ではプロキシありなど)、非常に役立つかもしれません。zsh と bash でテスト済み。
スクリーンショット
インストール
ソース /path/to/smart_switcher.sh
source /path/to/smart_switcher.sh
and, make sure set your proxy_server/gateway in smart_switcher.sh
.
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 /usr/bin/connect
smart_switcher.sh
で proxy_server/gateway を必ず設定してください。#🎜🎜#
#🎜🎜#使用法#🎜🎜#
#🎜🎜#通常、ログイン時に自動的に実行されます。#🎜🎜#
#🎜🎜#smart_switcher
は、いくつかの色を提供してくれる cecho をサポートしています。#🎜🎜#
#🎜🎜#ssh#🎜🎜# および #🎜🎜#git#🎜🎜# でプロキシがサポートされている場合は、#🎜🎜#connect が必要です。パス /usr/bin/connect に簡単にインストールできます。コード>.#🎜🎜#返事0
怪我咯2017-05-02 09:35:57
git プロトコルの接続方法では、ssh を使用してサーバーと通信します。sock5 プロキシを使用してサーバーに接続するように ssh を設定すると、git プロキシの問題も解決されます。
1.
リーリー gcc を使用して上記のコードをコンパイルし、環境変数ディレクトリに保存し、名前を connect に変更します
.ssh ディレクトリに入り、新しいディレクトリを作成します
ファイル構成
リーリーファイルプロキシラッパー
リーリー天蓬老师2017-05-02 09:35:57
上記には多くの答えがあります。プログラムが -c
参数可以在运行时重载git配置,包括关键的http.proxy
例:
リーリー高洛峰2017-05-02 09:35:57
最良のソリューションはプロキシチェーン (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 プロキシの場所です。