git-proxy简明用法

2025-02-08
1.0.0
1248字, 约4分钟

本文主要介绍git proxy简明用法,以便解决在部分linux环境下git@github.comgithub.com无法访问的问题。

一、背景

由于特殊原因,所在网络不能访问github.comgoogle.com等网站,而需要通过ssh协议,向github提交代码时,被阻断。 本文将介绍比较简便的方式实现github代码提交。

访问github仓库一般有以下两种常用方式:

# https方式,仅支持pull
git clone https://github.com/gnzhoutian/gnzhoutian.github.io.git

# ssh方式,允许pull/push,需要在githubweb端配置本地ssh公钥
git clone git@github.com:gnzhoutian/gnzhoutian.github.io.git

二、ssh方式

  1. 前提是ssh.github.com可以ping通,目前我只尝试了一种方式,其它方式尚未研究。
ping ssh.github.com
  1. 安装nc工具
apt install ncat  # for debian系
yum install nc    # for redhat系
  1. 配置ssh config
# 127.0.0.1:888 是任意端口,似乎只是用于启动本地任意一个端口
cat ~/.ssh/config <<'EOF'
Host github.com
    Hostname ssh.github.com
    Port 443
    User git
    ProxyCommand nc -v %h %p
EOF
  1. 测试网络是否联通
ssh -T git@github.com

三、https方式

  1. 前提是已有科学上网方式,目前一般通过v2ray方式,基于ShadowsocksVmess协议。
# 命令行环境使用。Project V 是一套网络工具,它可保护您的网络连接,从而保护您的隐私。
https://github.com/v2fly/v2ray-core

# 桌面环境使用。适用于 Windows、Linux 和 macOS 的 GUI 客户端
https://github.com/2dust/v2rayN
  1. 桌面环境先使用v2rayN配置科学上网成功,软件目录会自动生成一份可用的config.json文件

  2. 在命令行环境中替换为生成的config.json文件

  3. 启动v2ray

./v2ray run -config ./config.json
  1. 系统环境配置代理
# 端口8888 与 config.json中配置的sock协议端口一致即可
export http_proxy=socks://127.0.0.1:8888
export https_proxy=socks://127.0.0.1:8888
  1. 测试网络是否联通
curl https://www.google.com
  1. 作为服务安装。未实操,仅供参考
# 官方提供的命令行服务安装脚本
https://github.com/v2fly/fhs-install-v2ray

参考链接


Comments

Contents