ポート9418(git)をブロックしているファイアウォールの背後にいて、のチェックアウトを明示的に実行するいくつかのツールをインストールしようとしているため、チェックアウトのgit://github.com/...
ためにhttpsに切り替えることができません。
だから私はプロキシを介してすべてのトラフィックをポート9418にリダイレクトすることが可能かどうか疑問に思っています、もしそうならどのように:)
ポート9418(git)をブロックしているファイアウォールの背後にいて、のチェックアウトを明示的に実行するいくつかのツールをインストールしようとしているため、チェックアウトのgit://github.com/...
ためにhttpsに切り替えることができません。
だから私はプロキシを介してすべてのトラフィックをポート9418にリダイレクトすることが可能かどうか疑問に思っています、もしそうならどのように:)
gitサブモジュールについて話している場合は、次のことを試してください。
git config --global url.https://github.com/.insteadOf git://github.com/
...ここから取得。
このように、プロキシを設定したり、スクリプトを実行したりする必要はありません。
Gitconfigのcore.gitproxy
設定をご覧ください。
クイックグーグルは、このスクリプトが役立つ可能性があることを明らかにしました(またはそうでない可能性があります—私はそれを試しませんでした):https ://gist.github.com/49288
sshベースのTCPトンネルを試しましたか?(a)ファイアウォールの外側にあり、(b)IP転送を許可するsshサーバーがある場合は、次の操作を実行できます。
ssh -L localhost:9418:<remote>:9418 me@remote-ssh-server
または、ファイアウォールを回避するためにポート443でsshdを実行する必要がある場合は、
ssh -P 443 -L localhost:9418:<remote-host>:9418 me@remote-ssh-server
次に、ローカルで:
git checkout git://localhost/...
明らかに、これは透過的ではなく、少し複雑です。問題をより具体的に対象としたツールがあることは間違いありません。ただし、この方法は、手元にあるツール(sshとレンタルする安価な仮想サーバー)を使用するため、通常はこの方法を使用します。
(実際にgit接続でこれを試したことはありませんが、機能しない理由はわかりません。他の多くのシングルTCPポートプロトコルで問題なく使用しました。)
core.gitProxy
SOCKSプロキシを介してgitをリモートサーバーに接続するプロキシコマンドを指定する必要があります。プロキシコマンドとして機能する次のコンテンツを含むスクリプトを作成できます。
nc -x <your_proxy_host>:<your_proxy_port> $1 $2
リモートホストとポートを表す2つのパラメーターは、gitによってプロキシコマンドに渡されます。このスクリプトに名前を付けgit-proxy
て、からアクセスできるように$PATH
すると、を呼び出しgit config
て設定できます。
git config --global --add core.gitProxy git-proxy