热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

markdown[软件代理设置]

本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了markdown [软件代理设置]相关的知识,希望对你有一定的参考价值。




> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 https://www.jianshu.com/p/ff4093ed893f
>
> 本文基于https://www.jianshu.com/p/ff4093ed893f 上进行修改
# 软件 Proxy 设置
Proxy 一般有2种协议,一种是 HTTP/HTTPS 协议,一种是 SOCKS 协议。**优先使用 SOCKS 协议的 SOCKS5 版本**。[2种协议的区别 待补充外部引用]
各平台的 Shadowsocks 客户端除了提供一个本地的 socks5 Proxy ,还会提供一个本地的 http Proxy 。
在 ShadowSocks 中的高级设置中查看 socks5 协议监听的端口,HTTP Proxy 设置中查看 http 协议监听的端口。
## Chrome 浏览器 Proxy 设置
* 使用 [`Proxy SwitchyOmega`](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN) 这个插件来管理 proxy。
* 在 chrome 使用 proxy 管理插件的时候注意为每个情景填写正确的协议名和端口。
## Sublime Text 3 PackageControl Proxy 设置(仅支持http协议)
* 打开 “Preferences -> Package Settings -> Package Control-> Settings – User”
* 在 JSON 文件中插入
```json
"http_proxy": "http://127.0.0.1:7070",
"https_proxy": "http://127.0.0.1:7070",
```
> 注意:Sublime Text 3现仅支持http协议, 所以要注意socks5和http端口号的区别
## git Proxy 设置
`git` 目前支持的三种协议`http://`和`https://`,`ssh://`,`git://`
* 对于 HTTP/HTTPS 协议(`http://`和`https://`)设置 Proxy
远程仓库链接格式类似:
```
http://github.com/cms-sw/cmssw.git
https://github.com/cms-sw/cmssw.git
```
实际调用 `libcurl` 与服务器通信,详见[curl(1)](http://curl.haxx.se/docs/manpage.html)的`--proxy`选项以及[git-config(1)](https://www.kernel.org/pub/software/scm/git/docs/git-config.html)中的`http.proxy`条目。
* 直接使用[**终端的 Proxy 设置**](#终端-proxy-设置)
* 命令行设置与取消
```sh
# 设置全域有效
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
####
# 仅对github.com有效
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
# 取消代理
git config --global --unset http.https://github.com.proxy
```
> `--global` 全局
* 直接修改`~/.gitconfig`文件(全局)或项目文件夹中的`.gitconfig`,添加或删除
```
[http]
proxy = socks5://127.0.0.1:1080
[https]
proxy = socks5://127.0.0.1:1080
# 仅对github.com有效
[http "https://github.com"]
proxy = socks5://127.0.0.1:1080
```
* 对于 SSH 协议(`ssh://`)设置 Proxy
远程仓库链接格式类似:
```
git@github.com:cms-sw/cmssw.git
ssh://git@github.com/cms-sw/cmssw.git
```
实际调用 `ssh` 命令与服务器通信,需要配置 ssh 的 ProxyCommand 参数。
* 修改`~/.ssh/config` 文件添加
```
Host github.com
HostName github.com
############
# 如果使用git@ssh.github.com进行传输,HostName和Port设置如下,
# 详见 https://help.github.com/articles/using-ssh-over-the-https-port/
# HostName ssh.github.com
# Port 443
############
User git
# HTTP Proxy:
# ProxyCommand connect -H 127.0.0.1:7070 %h %p
# SOCKS5 Proxy:
# ProxyCommand connect -S 127.0.0.1:1080 %h %p
```
> 实际 `ProxyCommand` 需要调试过才能确定。
> 该 ssh 设置仅对 User为: `git` 的程序访问 HostName为: `github.com` 域名有效.
* 对于 git 协议(`git://`)设置 Proxy
远程仓库链接格式类似:
```
git://github.com/cms-sw/cmssw.git
```
git 协议比较特殊,需要由 `core.gitproxy` 设置一个额外的 proxy 脚本,才能使用上 socks 代理。
* 编写 git-proxy 脚本,例如:
```sh
#!/bin/sh
## Proxy wrapper for git protocol (9418).
## git config --global core.gitproxy "proxy-command"
## 仅对example.com域名有效
## git config --global core.gitproxy '"proxy-command" for example.com'
exec connect -S 127.0.0.1:1080 "$@"
```
* 设置`core.gitproxy`
命令行
```
# 设置
git config --global core.gitproxy "git-proxy"
# 仅对example.com域名有效
git config --global core.gitproxy '"git-proxy" for example.com'
# 取消
git config --global --unset core.gitproxy
```
设置文件
```
[core]
gitproxy = /path/to/git-proxy
[core]
gitproxy = "/path/to/git-proxy" for "example.com"
```
或者
```
export GIT_PROXY_COMMAND="/path/to/git-proxy"
```
> 实际 `git-proxy` 脚本需要调试后确定。
* `connect`工具
[项目页](https://bitbucket.org/gotoh/connect/wiki/Home)
* Mac 下安装
```sh
brew install connect
```
> git 三种协议的 Proxy 设置互不影响,互不冲突。
> 具体看 `man git-config`
* 参考:
1. [如何为 Git 设置代理?](https://segmentfault.com/q/1010000000118837)
1. [设置 Git Proxy ](https://imciel.com/2016/06/28/git-proxy/)
1. [Tutorial: how to use git through a proxy](http://cms-sw.github.io/tutorial-proxy.html)
## 终端 Proxy 设置
* 原理:export http_proxy、https_proxy 或 ALL_PROXY,那么wget curl 这类网络命令依据该设置进行 Proxy。
```
# 开启 Proxy
export http_proxy=socks5://127.0.0.1:1080
export https_proxy=socks5://127.0.0.1:1080
# 或者直接设置ALL_PROXY
export ALL_PROXY=socks5://127.0.0.1:1080
# 关闭 Proxy
unset http_proxy
unset https_proxy
unset ALL_PROXY
```
> 可以在终端运行,也可以写入shell配置文件`.bashrc`或者`.zshrc`。也可以设置函数或者别名,便于开/关 Proxy。
> 注意, 修改完`.bashrc`或者`.zshrc` 后重启终端或 `source` 生效。
> 可以通过`curl -i http://ip.cn`查看 IP 改变来测试是否生效
* 通过设置 alias 简写来简化操作
```
alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"
aliaa ip="curl -i http://ip.cn"
```
* 参考:
1. [设置socks5代理](https://www.jianshu.com/p/ff4093ed893f)
1. [设置 Git 代理](https://imciel.com/2016/06/28/git-proxy/)
1. [macOS 终端走Proxy ](http://gold.xitu.io/entry/5821840cd203090055134cc0)


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
编舞木煜率_841
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有