文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-05 06:32

关注
class MacSetting(object):def __init__(self, args):self.device = Noneself.listen = Noneself.modes = Noneself.mode_name = Nonefor option in args.listen:protos = [x.name for x in option.protos]if option.unix or 'ssl' in protos or 'secure' in protos:continueif 'socks5' in protos:self.modes = ['setsocksfirewallproxy']self.mode_name = 'socks5'self.listen = optionbreakif 'http' in protos:self.modes = ['setwebproxy', 'setsecurewebproxy']self.mode_name = 'http'self.listen = optionbreakif 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)returnline = 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)returnself.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:returnfor mode in self.modes:subprocess.check_call(['/usr/sbin/networksetup', mode+'state', self.device, 'off'])print('System proxy setting -> off')

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

总的来说,这个类的作用是设置或清除 macOS 操作系统上的代理服务器。在构造函数中,根据监听协议来确定代理模式(socks5 或 http),接着使用网络设置工具设置代理规则。在 clear 方法中,则使用相同的网络设置工具来将代理服务器禁用。

来源地址:https://blog.csdn.net/weixin_36829761/article/details/129318769

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯