Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows终端命令行下如何使用代理? #1489

Closed
anlexN opened this issue Oct 28, 2017 · 52 comments
Closed

windows终端命令行下如何使用代理? #1489

anlexN opened this issue Oct 28, 2017 · 52 comments

Comments

@anlexN
Copy link

anlexN commented Oct 28, 2017

代理已经成功,浏览器也能访问被限制的网站,就是终端不能!我要网上相关资料:set http_proxy=127.0.0.1:1080, 还是无法设置!!!

@chenshaoju
Copy link
Collaborator

set HTTP_PROXY=http://user:password@proxy.domain.com:port

example:

set HTTP_PROXY=http://192.168.1.100:8080

https://www.calazan.com/how-to-set-the-proxy-settings-in-windows-via-command-line/

@anlexN
Copy link
Author

anlexN commented Oct 28, 2017

still don't ! please help me, @chenshaoju .

@chenshaoju
Copy link
Collaborator

我不知道你用的是什么,但是在我这儿是可以工作的。

请确保你使用了正确的HTTP代理地址(不是SOCKS5),以及等于号后面的 http:// 。

image

@anlexN
Copy link
Author

anlexN commented Oct 29, 2017

@chenshaoju

  • 我用的就是你们的软件shadowsocks-windows4.0.6,请问您做了什么设置?进行如下图的设置?但是我还是不成功,ping google.com不通
  • 您ping google.com试一下,成功吗?

我确定已经勾选系统代理,已经勾选全局代理,浏览器已经能访问被屏蔽的网站

@chenshaoju
Copy link
Collaborator

0.SS不是我开发的。

1.我是指你命令提示符下用的是什么东西。

2.Ping是ICMP协议,不是TCP/UDP协议,Ping不走,也无法走代理。

3.如果你坚持要能Ping通才行,请考虑常规VPN(PPTP/L2PT/IPSec等)。

@anlexN
Copy link
Author

anlexN commented Oct 29, 2017

@chenshaoju
http代理要另外设置吗?10801端口,你自己设置的?我要在终端下使用google cloud相关命令

@ddcatgg
Copy link

ddcatgg commented Oct 29, 2017

@anlexN shadowsocks客户端不是有一个代理模式的选择吗?选全局代理模式试试。

Windows任务栏右下角托盘图标->右键菜单->系统代理模式->全局模式

@chenshaoju
Copy link
Collaborator

chenshaoju commented Oct 29, 2017

HTTP代理就是你本机的SS的代理的端口。在SS设置服务器设置界面右下角的那个端口号。

@anlexN
Copy link
Author

anlexN commented Oct 29, 2017

目前,我总结:不懂ping使用的协议。谢谢大家,敬礼!

@ddcatgg
Copy link

ddcatgg commented Oct 29, 2017

@chenshaoju 不过说实话我也是刚知道右下角那个端口号是Shadowsocks提供的HTTP代理端口,一直以为Shadowsocks是提供SOCKS5代理服务的,理所当然地认为那是本地级联端口呢。软件界面就那么惜墨如金,不愿写清楚那是 HTTP代理端口……

@chenshaoju
Copy link
Collaborator

@ddcatgg ¯_(ツ)_/¯

@xingdalee
Copy link

有的用就不错了!什么惜墨如金,自己搞不清楚 ,哪来的抱怨。

@ddcatgg
Copy link

ddcatgg commented Oct 30, 2017

@xingdalee 改掉这个问题可以使 Shadowsocks 变得更好,不是么?

@anlexN
Copy link
Author

anlexN commented Oct 30, 2017

对。@chenshaoju, 你收徒弟吗?我想跟你学网络技术。我一个人的力量太渺小了,生命还是那么有限…

@jinliming2
Copy link
Contributor

@ddcatgg SS提供的端口貌似是既可以用于HTTP代理,又可以用于SOCKS 5代理。

@jinliming2
Copy link
Contributor

据我所知,cmd是不需要设置代理的啊,cmd内置的命令貌似都没有联网的。
而其他诸如ping、nslookup之类的都是系统目录下的exe文件,因为设置了path环境变量,所以可以直接输入文件名调用(也可以输入ping.exe)。
而这些exe的话一般都是走系统代理的(就是在IE的选项里设置的那个代理,Windows 10在网络设置里也有),当然,也有的exe是不走系统代理的(一般都提供了代理设置的配置项,因不同软件而异,比如 Git,就需要添加代理的配置项http.proxyhttps.proxy)。
如果是走系统代理的话,右下角图标选择“启用系统代理”就可以了(一般PAC模式都行,部分可以试试全局模式)。

如果exe不是走系统代理的话,就要使用VPN等全局的工具了,这样系统所有的流量都会走代理。
没有VPN的话,使用一个叫SSTap的软件也可以将ss的代理转为网卡级别的全局代理(利用的是OpenVPN提供的虚拟网络适配器):https://www.sockscap64.com/sstap/ 注意:这个软件是免费的,但并不开源(我没有找到源代码),所以请谨慎使用!

顺便:http_proxyhttps_proxy都是Linux下的代理设置变量。

@ddcatgg
Copy link

ddcatgg commented Nov 6, 2017

@jinliming2 不行的,那端口不支持SOCKS5,我试了。

@celeron533
Copy link
Contributor

命令行只是使用环境,一般而言是否走http代理由运行的程序自己决定(采用系统代理 或 程序自己指定代理
或 完全就没有代理这个设计只能直连)。如果要整个cmd环境(如让ping也走代理),用楼上推荐的sstap之类的软件做到虚拟网卡级别的连接。

@crazcdll
Copy link

PowerShell 中需要按照这样配置 PowerShell Set-Proxy, Clear-proxy

@LMerCy
Copy link

LMerCy commented Feb 8, 2018

你好,请问你解决了吗?我也是要用google cloud的api,但是gcloud init的时候没法连接

@GuohuaHu
Copy link

@LMerCy
我也是一样,使用earthengine的Initialize()无法连接

@ghost
Copy link

ghost commented Jul 28, 2018

我尝试了这样是可以的

set http_proxy=127.0.0.1:1080
set https_proxy=127.0.0.1:1080

你可能忘了加https_proxy

@ynzheng
Copy link

ynzheng commented Oct 21, 2018

image

直接使用这个就可以

@csysl
Copy link

csysl commented Oct 23, 2018

image

直接使用这个就可以

请问这个是什么软件

@AnyWAT
Copy link

AnyWAT commented Oct 29, 2018

貌似SSR的“选项设置”

@Dkaishu
Copy link

Dkaishu commented Nov 22, 2018

勾选【允许来自局域网的连接】
并执行

set http_proxy=127.0.0.1:1080
set https_proxy=127.0.0.1:1080

其中1080是指ss编辑服务器页面右下角的【代理端口】

@chenshaoju
Copy link
Collaborator

如果是本机自己用的话,127.0.0.1 没有必要启用“允许来自局域网的连接“。

@dreamlu
Copy link

dreamlu commented Jan 23, 2019

win10的坑,命令行翻墙: https://gist.github.com/dreamlu/cf7cbc0b8329ac145fa44342d6a1c01d

@Idealisten
Copy link

win10的坑,命令行翻墙: https://gist.github.com/dreamlu/cf7cbc0b8329ac145fa44342d6a1c01d

成功了,谢谢,有没有一劳永逸的解决方法

@celeron533
Copy link
Contributor

win10的坑,命令行翻墙: https://gist.github.com/dreamlu/cf7cbc0b8329ac145fa44342d6a1c01d

这只是设置一个环境变量,然后curl在启动的时候会检查这个设置来自己决定是否使用代理。如果你使用的其他控制台程序不支持代理或者不查看这两个环境变量,等于无效。

@black-bean-ai
Copy link

代理已经成功,浏览器也能访问被限制的网站,就是终端不能!我要网上相关资料:set http_proxy=127.0.0.1:1080, 还是无法设置!!!

shadowsocks设置为全局模式

@Macrored
Copy link

Macrored commented Aug 23, 2019

这个问题很容易解决的:

第一步:右键打开shadowsocks-windows的“选项设置”

image

第二步:设置你的HTTP和HTTPS的代理端口(同一个端口)

image

第三步:打开cmd窗口,设置代理变量

set HTTP_PROXY=http://127.0.0.1:12333
set HTTPS_PROXY=http://127.0.0.1:12333

如果设置了用户名和密码,那么

set HTTP_PROXY=http://proxy.com:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=password

set HTTPS_PROXY=http://proxy.com:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=password

上面命令的作用是设置环境变量,不用担心,这种环境变量只会持续到cmd窗口关闭,不是系统环境变量。
image

第四步:享受网速吧

随便拉了一个代码,网速提升了很多
image

@Hzqi
Copy link

Hzqi commented Sep 10, 2019

这个问题很容易解决的:

第一步:右键打开shadowsocks-windows的“选项设置”

image

第二步:设置你的HTTP和HTTPS的代理端口(同一个端口)

image

第三步:打开cmd窗口,设置代理变量

set HTTP_PROXY=http://127.0.0.1:12333
set HTTPS_PROXY=http://127.0.0.1:12333

如果设置了用户名和密码,那么

set HTTP_PROXY=http://proxy.com:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=password

set HTTPS_PROXY=http://proxy.com:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=password

上面命令的作用是设置环境变量,不用担心,这种环境变量只会持续到cmd窗口关闭,不是系统环境变量。
image

第四步:享受网速吧

随便拉了一个代码,网速提升了很多
image

小哥哥我想问一下。。你的ss是啥版本的。。我的4.1.7.1里没有这个选项

@Macrored
Copy link

这个问题很容易解决的:

第一步:右键打开shadowsocks-windows的“选项设置”

image

第二步:设置你的HTTP和HTTPS的代理端口(同一个端口)

image

第三步:打开cmd窗口,设置代理变量

set HTTP_PROXY=http://127.0.0.1:12333
set HTTPS_PROXY=http://127.0.0.1:12333

如果设置了用户名和密码,那么

set HTTP_PROXY=http://proxy.com:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=password

set HTTPS_PROXY=http://proxy.com:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=password

上面命令的作用是设置环境变量,不用担心,这种环境变量只会持续到cmd窗口关闭,不是系统环境变量。
image

第四步:享受网速吧

随便拉了一个代码,网速提升了很多
image

小哥哥我想问一下。。你的ss是啥版本的。。我的4.1.7.1里没有这个选项

我的版本是4.9.0.0的,我刚刚下载了4.1.7.1版本试了一下(你把鼠标放到shadowsocks的托盘上,它会显示一个“正在运行:端口1080”),这其实跟软件没有太大的关系,只要能够获取到正在运行的端口就可以用指令导入代理变量(http/https)了。

如果想下载4.9.0.0版本,可以访问:https://xxjc.xyz/ssr-download/ssr-win.7z

@celeron533
Copy link
Contributor

celeron533 commented Sep 20, 2019

@Macrored19 @Hzqi 你们讨论的是SSR而不是SS。这两者并不完全相同

@Hzqi
Copy link

Hzqi commented Sep 21, 2019

@Macrored19 @Hzqi 你们讨论的是SSR而不是SS。这两者并不完全相同

应该是他用的是ssr,我用的确实是ss

@kkLite
Copy link

kkLite commented Jan 8, 2020

更简便优化的操作方案,随意切换:https://juejin.im/post/5e127308e51d4541360ac518

@kkLite
Copy link

kkLite commented Jan 8, 2020

win10的坑,命令行翻墙: https://gist.github.com/dreamlu/cf7cbc0b8329ac145fa44342d6a1c01d

成功了,谢谢,有没有一劳永逸的解决方法

https://juejin.im/post/5e127308e51d4541360ac518

@wqdygkd
Copy link

wqdygkd commented Aug 22, 2020

image
在我的win10中,经测试直接在这里设置代理也能起到同样的作用,浏览器中,powershell中都能访问代理

@wys-wys
Copy link

wys-wys commented Oct 2, 2020

我不知道你用的是什么,但是在我这儿是可以工作的。

请确保你使用了正确的HTTP代理地址(不是SOCKS5),以及等于号后面的 http:// 。

![image](https://user-images.githubusercontent.com/515763/32135999-9af23094-bc3a-11e7-84d4-9719c33eacfb.p

set HTTP_PROXY=http://user:password@proxy.domain.com:port

example:

set HTTP_PROXY=http://192.168.1.100:8080

https://www.calazan.com/how-to-set-the-proxy-settings-in-windows-via-command-line/

为什么cmd 可以 但是powershell不行

@wys-wys
Copy link

wys-wys commented Oct 2, 2020

@jinliming2 不行的,那端口不支持SOCKS5,我试了。

我记得v2ray里边给的有socket的端口

@database64128
Copy link
Contributor

为什么cmd 可以 但是powershell不行

因为 pwsh 不是这样设置环境变量的,而应该是比如: $env:http_proxy = "http://localhost:8080/"

@sweetliquid
Copy link

有没有什么一键透明代理的工具推荐

@DuckSoft
Copy link

@sweetliquid You may use Proxifier.

@sweetliquid
Copy link

@DuckSoft Thanks, but this seems to be charged :P

@DuckSoft
Copy link

@sweetliquid You may also try something like Proxychains for Windows.

@sweetliquid
Copy link

@DuckSoft I tried it just now, but the OS warned that the soft contained a virus. Probably because it uses some network api hooks. I plan to try Proxifier first, Thk u anyway.

@omaidb
Copy link

omaidb commented Apr 15, 2022

@jinliming2 不行的,那端口不支持SOCKS5,我试了。

我也试了,确实不支持socks5

@Marchallen
Copy link

@anlexN shadowsocks客户端不是有一个代理模式的选择吗?选全局代理模式试试。

Windows任务栏右下角托盘图标->右键菜单->系统代理模式->全局模式

ssr和ss的所谓全局代理都是“应用”层的代理,不会代理UWP应用和游戏的流量,更不能代理ICMP流量。

@anlexN
Copy link
Author

anlexN commented Dec 3, 2022

目前终端只能通过VPN才能fanqiang,你们有没有办法使得SSR, SS代理UWP应用,游戏,ICMP流量?

@Marchallen
Copy link

目前终端只能通过VPN才能fanqiang,你们有没有办法使得SSR, SS代理UWP应用,游戏,ICMP流量?

clash for windows可以代理UWP应用,并支持ss和ssr协议。至于游戏,还是用加速器吧,我用过SSTap和Netch,两者都不太好用,必须配合好的机场节点,成本是高于普通加速器的。Windows终端的话,如果只是想提高下载速率,有人已经说过解决方案,不再重复。最后,老哥不必纠结ping命令,仅就我目前所知,除了位于数据链路层的的各种VPN协议,还没有一个方案可以真正代理ICMP报文,Netch提供的方案也只是转发ICMP报文到本地,并没有实现真正的代理。

@jackielics
Copy link

我不知道你用的是什么,但是在我这儿是可以工作的。

请确保你使用了正确的HTTP代理地址(不是SOCKS5),以及等于号后面的 http:// 。

image

我根据你的操作也是可以得到正确运行结果的,但是ping确实不行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests