设置或清除 macOS 系统的代理服务器

这篇具有很好参考价值的文章主要介绍了设置或清除 macOS 系统的代理服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

class MacSetting(object):
	def __init__(self, args):
		self.device = None
		self.listen = None
		self.modes = None
		self.mode_name = None
		for option in args.listen:
			protos = [x.name for x in option.protos]
			if option.unix or 'ssl' in protos or 'secure' in protos:
				continue
			if 'socks5' in protos:
				self.modes = ['setsocksfirewallproxy']
				self.mode_name = 'socks5'
				self.listen = option
				break
			if 'http' in protos:
				self.modes = ['setwebproxy', 'setsecurewebproxy']
				self.mode_name = 'http'
				self.listen = option
				break
		if self.listen is None:
			print('No server listen on localhost by http/socks5')
		ret = subprocess.check_output(['/usr/sbin/networksetup', '-listnetworkserviceorder']).decode()
		en0 = next(filter(lambda x: 'Device: en0' in x, ret.split('\n\n')), None)
		if en0 is None:
			print('Cannot find en0 device name!\n\nInfo:\n\n'+ret)
			return
		line = next(filter(lambda x: x.startswith('('), en0.split('\n')), None)
		if line is None:
			print('Cannot find en0 device name!\n\nInfo:\n\n'+ret)
			return
		self.device = line[3:].strip()
		for mode in self.modes:
			subprocess.check_call(['/usr/sbin/networksetup', mode, self.device, 'localhost', str(self.listen.port), 'off'])
		print(f'System proxy setting -> {self.mode_name} localhost:{self.listen.port}')
	def clear(self):
		if self.device is None:
			return
		for mode in self.modes:
			subprocess.check_call(['/usr/sbin/networksetup', mode+'state', self.device, 'off'])
		print('System proxy setting -> off')

这段代码定义了一个名为 MacSetting 的类,其结构如下:

  • 有一个构造函数(init)来初始化类属性,以及一种清除属性(clear)的方法。
  • 在类的构造函数中,根据输入参数来确定设备、监听、模式和模式名称的状态。
  • 如果没有找到监听,则输出一个警告信息。
  • 通过调用 macOS 的命令行工具 networksetup,将设备上的代理设置为指定的模式和本地主机的端口。
  • 如果设备属性值为 None,则表示清除代理设置。与设置代理类似,也是通过运行 networksetup 命令行工具来完成。

总的来说,这个类的作用是设置或清除 macOS 操作系统上的代理服务器。在构造函数中,根据监听协议来确定代理模式(socks5 或 http),接着使用网络设置工具设置代理规则。在 clear 方法中,则使用相同的网络设置工具来将代理服务器禁用。文章来源地址https://www.toymoban.com/news/detail-521530.html

到了这里,关于设置或清除 macOS 系统的代理服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • git怎么设置http代理服务器

    git怎么设置http代理服务器

    目录 前言 一、什么是HTTP代理服务器 二、为什么需要设置HTTP代理服务器 三、如何设置HTTP代理服务器 1. 查看当前是否已经存在全局代理设置 2. 设置全局代理 3. 验证代理设置 4. 取消代理设置 四、示例代码 五、总结 前言 Git是一个非常强大的版本控制工具,可以帮助我们管理

    2024年04月27日
    浏览(14)
  • c# 设置代理服务器发送http请求

    c# 设置代理服务器发送http请求

    2024年02月16日
    浏览(12)
  • 为chrome浏览器单独设置代理服务器

    为chrome浏览器单独设置代理服务器

    默认的chrome浏览器的代理服务器都是采用的PC设置, 但是有的时候在某一些情况下我们不希望使用PC的设置, 懂得都懂,那就需要让chrome不走PC的代理 只要下载一个chrome的插件, proxyswitchOmega, 然后设置好代理,enable这个插件就可以了 插件下载地址国内的可以用如下地址:

    2024年02月11日
    浏览(49)
  • Huggingface的from pretrained的下载代理服务器方法设置

    Huggingface的from pretrained的下载代理服务器方法设置

    笔者需要用到下载预训练模型,但是此时TUNA和BSFU的镜像已经停止了,希望有可用的途径下载到位于网上的预训练模型。 此时查找了huggingface的文档Configuration 根据文档,该参数proxies (Dict, optional) A dictionary of proxy servers to use by protocol or endpoint,e.g.: {\\\'http\\\': \\\'foo.bar:3128\\\', \\\'http://hos

    2024年02月11日
    浏览(13)
  • SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

    SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

    macOS系统自带有Secure Shell 客户端,它可让您登录到侦听传入SSH连接的远程服务器和台式机。我们可以用 ssh username@ip 来ssh到服务器,但通常局限于局域网内的远程。 本次教程,我们将使用cpolar内网穿透工具,映射ssh服务默认端口:22端口,获取公网地址,实现在公网环境下的

    2024年02月10日
    浏览(19)
  • 怎么取消代理服务器设置解决192.168.1.1打不开的情况

    笔者在上一节中曾讲到 192.168.1.1打不开是怎么回事 ,该文中就涉及到因为代理服务器设置而导致 192.168.1.1打不开 或进不去的情况。那既然是因为代理服务器的问题,那我们该如何取消代理服务器设置呢? 1、双击桌面IE选项,在弹出的IE浏览器中,选择”工具”---“Internet选项

    2024年02月06日
    浏览(14)
  • Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

    Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

     或者直接通过docker客户端查看 --name NginxTest:容器名称 -p 8080:8080:映射端口 -d nginx:设置容器后台运行  docker客户端查看 1)全局块:配置服务器整体运行的配置指令 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,

    2024年02月02日
    浏览(25)
  • mac ssh远程登录服务器免密设置

    1) 进入私钥存放地址 在mac上打开终端。一般私钥存放在.ssh目录里,所以cd到~/.ssh目录。可以先ls查看一下是否存在私钥和公钥文件。拥有.pub结尾的文件是公钥文件,无.pub的是私钥文件。 2) 生成公私钥对 若没有现存的公钥和私钥文件则需要创建一个,代码如下: 到这里就

    2024年03月26日
    浏览(12)
  • 局域网lan设置中的代理服务器选项是干嘛的?

    局域网lan设置中的代理服务器选项是干嘛的?

    局域网(LAN)设置中的代理服务器选项允许计算机使用代理服务器来访问互联网。代理服务器是一种充当客户端和服务器之间中介的服务器。当计算机尝试连接到互联网上的资源时,代理服务器会代表计算机发送请求,并返回响应。 代理服务器的使用可以带来多种好处,包括

    2024年02月09日
    浏览(13)
  • 远程服务器设置代理共享本地网络-解决内网环境无法git、pip等

    远程服务器设置代理共享本地网络-解决内网环境无法git、pip等

    部分服务器不连外网,导致无法使用git、无法装包等问题,离线安装过于繁琐,本文使用clash共享本地win电脑网络给远程服务器,仅用于服务器(linux内网)和本地电脑(win可连接外网),且本地与服务器处于同一局域网下(如校园网) 步骤如下: 本地电脑Clash,开启Allow LAN功能, 端口

    2023年04月18日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包