Skip to content

Instantly share code, notes, and snippets.

@famousgarkin
Last active March 31, 2024 13:55
Show Gist options
  • Star 81 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save famousgarkin/c5138b1e13ac41920d22 to your computer and use it in GitHub Desktop.
Save famousgarkin/c5138b1e13ac41920d22 to your computer and use it in GitHub Desktop.
PowerShell Set-Proxy, Clear-proxy
# NOTE: registry keys for IE 8, may vary for other versions
$regPath = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
function Clear-Proxy
{
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 0
Set-ItemProperty -Path $regPath -Name ProxyServer -Value ''
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value ''
[Environment]::SetEnvironmentVariable('http_proxy', $null, 'User')
[Environment]::SetEnvironmentVariable('https_proxy', $null, 'User')
}
function Set-Proxy
{
$proxy = 'http://example.com'
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxy
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value '<local>'
[Environment]::SetEnvironmentVariable('http_proxy', $proxy, 'User')
[Environment]::SetEnvironmentVariable('https_proxy', $proxy, 'User')
}
@PI-Victor
Copy link

starred. because it deserves to be! 💧

@famousgarkin
Copy link
Author

😆

@martinko2009
Copy link

how to set the username and password of proxy

@xuanyuanaosheng
Copy link

PATH 环境变量

经常使用命令行工具的话,对PATH等环境变量应该会非常熟悉;但现今的日常开发,接触到这一概念的机会越来越少。

时不时还是会遇到小朋友问我:“什么是PATH?”

这里记录一下,以供参考。

什么是环境变量?

环境变量是操作系统提供给应用程序访问的简单 key / value字符串;windows/linux/mac都有同样的概念。

一般用于提供参数值给不同的应用程序。

什么是PATH变量?

我们从命令行想要运行一个程序的时候,待运行的程序往往不是在当前目录。

PATH变量就是用于保存可以搜索的目录路径,如果待运行的程序不在当前目录,操作系统便可以去依次搜索PATH变量变量中记录的目录,如果在这些目录中找到待运行的程序,操作系统便可以运行。

以Go开发为例,但我们使用go install命令编译、安装go程序后,可执行文件是会被保存在$GOPATH/bin路径下;那么我们可以把这个路径加入到PATH变量中,这样我们便可以在任意路径中运行go安装的程序。

GOPATH
GOPATH又是一个环境变量,用于保存go的主目录,go默认安装之后,GOPATH会是当前用户的主工作目录中的go子目录,即:%HOME/go。

查看环境变量

假设我们要查看GOPATH这个环境变量的值:

windows command prompt: echo %GOPATH%
windows powershell: $env:GOPATH
linux & mac: echo $GOPATH

设置PATH变量

windows

假设我们当前登陆操作系统的用户名是:xiaomin

然后我们要把c:\users\xiaomin\go\bin路径加入到PATH变量中,在windows下我们可以在PowerShell中执行:

$env:Path += ";c:\users\xiaomin\go\bin"

注意,这样仅仅只是临时修改当前的PATH变量,当我们关闭、重开PowerShell时,就需要重新设置。

如果要永久的修改,需要使用管理员权限启动PowerShell,然后执行:

setx /M PATH "%PATH%;c:\users\xiaomin\go\bin"

Linux & Mac

同样假设我们当前登陆用户名是:xiaomin

然后我们要把/home/xiaomin/go/bin路径加入到PATH变量中

export PATH=$PATH:/home/xiaomin/go/bin

这同样是临时修改,重开shell之后,会被重置;要永久改变的话,一般是将上面的命令加入到我们使用的shell初始化文件中。

以bash为例,那么就是将上述命令加到/home/xiaomin/.bash_profile文件中。

参考链接:

https://zhuanlan.zhihu.com/p/44003359

@z1900
Copy link

z1900 commented Apr 10, 2019

How do I execute this code?

@iamliuzy
Copy link

How do I execute this code?

https://www.youtube.com/watch?v=ZnTffdLnIqs

@omaidb
Copy link

omaidb commented Apr 15, 2022

我试过了powershell只能使用http代理,不能使用socks5代理.
大佬,有powershell配置socks5的方法吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment