使用代理访问网络各项命令总结

简介: 工作中常需设置代理,容易导致环境混乱。本文总结了 SourceTree 无法拉取代码的问题,排查了环境变量、Git 全局配置及系统代理设置,最终通过清除 Git 代理配置解决。内容涵盖排查步骤、命令整理及脚本处理,帮助快速定位并解决代理相关网络问题。

种种原因,工作中总要设置各类代理,结果环境就容易乱,今天source tree无法拉取代码,就把网络代理相关的命令总结整理了下,分享给大家。

问题描述

  • sourcetree中pull,报错:
    git -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin 
    fatal: unable to access 'http://***:5188/szzx/p_aierp.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:33210 
    Completed with errors, see above
    

环境描述

  • MacBookPro
  • 网络设置中配置了Proxies
    image.png
  • 会经常用到SacuraCat
    • 因此.bash_profile中设置了:
    • export http_proxy=http://127.0.0.1:33210
      export https_proxy=http://127.0.0.1:33210

解决过程

  • .bash_profile中设置,source ~/.bash_profile 对当前shell起作用
  • 因此配置里去掉了代理设置,应用需要完全退出才能加载新的.bash_profile设置

# 确保完全退出,不只是关闭窗口
osascript -e 'quit app "SourceTree"'

# 检查是否还有SourceTree进程
ps aux | grep SourceTree

# 如果有,强制结束
pkill -f SourceTree
  • 检查环境变量

# 查看所有环境变量
env

# 或者只查看代理相关变量
env | grep -i proxy
echo $http_proxy
echo $https_proxy

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

# or
export http_proxy=""
export https_proxy=""

# 检查可能设置代理的其他文件
cat ~/.zshrc | grep -i proxy
cat ~/.bashrc | grep -i proxy
cat ~/.profile | grep -i proxy

# 查看SourceTree进程的环境变量(需要先运行SourceTree)
ps eww -o command | grep SourceTree
  • 经过上述过程,还是报错,因为有些命令自己有全局配置

    • 检查git

            # 查看Git是否配置了代理
            git config --global --get http.proxy
            git config --global --get https.proxy
      
            # 如果有,取消设置
            git config --global --unset http.proxy
            git config --global --unset https.proxy
      
    • 检查系统级代理设置
      ```shell

      查看系统网络设置

      networksetup -getwebproxy Wi-Fi
      networksetup -getsecurewebproxy Wi-Fi

      如果需要关闭系统代理

      networksetup -setwebproxystate Wi-Fi off
      networksetup -setsecurewebproxystate Wi-Fi off


> 我遇到的问题是git的全局配置里有代理,去掉后就解决了。
> git config --global --unset http.proxy
> git config --global --unset https.proxy

### 创建干净的脚本环境

```shell

# 创建干净环境脚本
echo '#!/bin/zsh' > ~/sourcetree_clean.sh
echo 'unset http_proxy' >> ~/sourcetree_clean.sh
echo 'unset https_proxy' >> ~/sourcetree_clean.sh
echo 'unset HTTP_PROXY' >> ~/sourcetree_clean.sh
echo 'unset HTTPS_PROXY' >> ~/sourcetree_clean.sh
echo 'exec git "$@"' >> ~/sourcetree_clean.sh

chmod +x ~/sourcetree_clean.sh

# 在sourcetree中使用
/bin/zsh ~/sourcetree_clean.sh

小结

95% 的情况通过以下步骤解决:
✅ 检查并修改环境变量中代理配置
✅ 完全重启应用
✅ 清理特定应用(比如Git)代理配置:git config --global --unset http.proxy

备忘

命令 影响范围 说明
source ~/.bash_profile 仅当前终端 在当前会话中立即加载修改后的配置。
修改并保存 ~/.bash_profile 未来的新终端 新开的 Login Shell 终端会自动应用更改。Non-Login Shell 终端则需要通过上述 source 命令或特殊配置来应用。
目录
相关文章
|
10月前
|
负载均衡 网络协议 网络性能优化
动态IP代理技术详解及网络性能优化
动态IP代理技术通过灵活更换IP地址,广泛应用于数据采集、网络安全测试等领域。本文详细解析其工作原理,涵盖HTTP、SOCKS代理及代理池的实现方法,并提供代码示例。同时探讨配置动态代理IP后如何通过智能调度、负载均衡、优化协议选择等方式提升网络性能,确保高效稳定的网络访问。
980 2
|
5月前
|
域名解析 监控 网络协议
21.7K star!再见吧花生壳,没有公网ip,也能搞定所有网络访问!内网穿透神器NPS
“nps”是一款强大的内网穿透工具,支持多种协议与功能。它无需公网IP或复杂配置,可实现远程桌面、文件共享和私有云搭建等。项目采用Go语言开发,具有高性能与轻量级特点,适用于远程办公、物联网管理等场景。其核心亮点包括零配置穿透、多级代理网络、实时流量监控及企业级安全特性。对比同类工具,“nps”在安装复杂度、协议支持和管理界面方面表现优异。项目地址:https://github.com/ehang-io/nps。
1077 12
|
6月前
|
人工智能 搜索推荐 开发者
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
OpenAI最新开源的BrowseComp基准包含1266个高难度网络检索问题,覆盖影视、科技、艺术等九大领域,其最新Deep Research模型以51.5%准确率展现复杂信息整合能力,为AI代理的浏览能力评估建立新标准。
330 4
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
|
7月前
|
机器学习/深度学习 存储 人工智能
SAFEARENA: 评估自主网络代理的安全性
基于大语言模型的智能体在解决基于网络的任务方面正变得越来越熟练。随着这一能力的增强,也随之带来了更大的被恶意利用的风险,例如在在线论坛上发布虚假信息,或在网站上销售非法物质。为了评估这些风险,我们提出了SAFEARENA,这是第一个专注于故意滥用网络代理的基准测试。SAFEARENA包含四个网站上共计500个任务,其中250个是安全的,250个是有害的。我们将有害任务分为五类:虚假信息、非法活动、骚扰、网络犯罪和社会偏见,旨在评估网络代理的真实滥用情况。我们对包括GPT-4o、Claude-3.5 Sonnet、Qwen-2-VL 72B和Llama-3.2 90B在内的领先基于大语言模型的网
305 11
SAFEARENA: 评估自主网络代理的安全性
|
8月前
|
安全 程序员 Linux
全球头号勒索软件来袭!即刻严控网络访问
全球头号勒索软件来袭!即刻严控网络访问
|
9月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
321 11
|
9月前
|
缓存 负载均衡 安全
Swift中的网络代理设置与数据传输
Swift中的网络代理设置与数据传输
|
10月前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
309 2
|
10月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
226 17