通过Python修改Linux系统代理
怎么通过Python修改Linux系统的网络代理?
首先需要了解Linux系统的网络代理是如何配置的。
一般来说,Linux系统的代理配置文件在`/etc/environment`或者`/etc/profile`中,对于不同的发行版可能会有所不同。
Home of Little Jelly
怎么通过Python修改Linux系统的网络代理?
首先需要了解Linux系统的网络代理是如何配置的。
一般来说,Linux系统的代理配置文件在`/etc/environment`或者`/etc/profile`中,对于不同的发行版可能会有所不同。
Android手机的代理你们一般是怎么设置的?
可视化操作包含以下步骤:打开设置、找到WiFi、进入当前WiFi、代理设置、设置为手动、输入IP和端口、保存。
以上是常规操作,而对于我们程序员来说,可以通过`adb`来自动设置代理,这个方法也适用于模拟器。
在Ubuntu下你可能会有这么个需求,定时更换壁纸,或者定时设置系统代理,首先想到的应该是通过Crontab定时任务去执行`gsettings`命令,这样可以做到更换壁纸或设置系统代理。
脚本写好了,手动测试下没有问题,设置好Crontab让它定时执行,到了设置的时间点,定时任务也执行了,也没报错,但就是没有生效。
问题出在哪呢?
前面我们讲了通过Python自动化修改Windows的系统代理,那么在Linux下是不是也可以呢?
在Linux下我们通过Shell/终端就可以实现自动化修改了。
分两种应用场景,一种是在终端中使用的代理,一种是系统级别的代理。
在上一篇中我们讲到使用Squid和Stunnel创建代理服务,其中配置的Squid是需要认证的,也就是需要提供用户名密码才可以访问代理服务。
在一些对安全性要求不高的场景下,可能不需要这种认证,直接访问就好了。
怎么实现呢?
我们知道在Windows系统下,在设置里可以配置网络代理,那可不可以通过程序自动化修改呢?
答案是可以!Python语言就可以!
Python是通过`winreg`标准库修改注册表达到修改Windows系统代理的目的。
直接上代码:
Docker Desktop在拉取镜像时,可能会比较慢,有时甚至拉取不下来。
解决方案主要有两种
1. 配置国内镜像mirror,如阿里云的镜像加速服务
2. 配置代理
Guzzle中使用代理很简单,只需要添加一个`proxy`参数数组即可。
示例
CentOS7使用squid配合stunnel实现代理服务。
1. 服务端 配置 squid
frp是一款代理软件,类似`ngrok`,可以反向代理内网站点、SSH等。
[frp服务端和客户端下载](https://github.com/fatedier/frp/releases),根据平台的不同选择不同的文件。
服务端配置