当前位置: 首页 > 工具软件 > Siri Proxy > 使用案例 >

python Mac 更改代理 proxy mitmproxy

席俊达
2023-12-01

如题在Mac平台上,直接用python代码的方式,设置mac系统代理。

直接上代码(好用的话,记录观注点赞哟):

import os

"""
以下以更改本机的Wifi上的代理为例,如果mac机上有多块网卡,使用
 networksetup -listallnetworkservices   查看网卡清单,然后设
"""
device_name = 'Wi-Fi'
# 代理服务器的地址
proxy = '127.0.0.1'
# 代理服务器的端口号
port = 8080


# 设置代理
def proxy_on():
    # 设置http代理地址
    os.system('networksetup -setwebproxy {} {} {}'.format(device_name, proxy, port))
    # 设置https代理地址
    os.system('networksetup -setsecurewebproxy {} {} {}'.format(device_name, proxy, port))
    # 设置socks代理地址
    os.system('networksetup -setsocksfirewallproxy {} {} {}'.format(device_name, proxy, port))

    # 上面是设置上代理地址和端口号,还要使用下面三个命令应用设置
    # 开启http代理
    os.system('networksetup -setwebproxystate {} on'.format(device_name))
    # 开启https代理
    os.system('networksetup -setsecurewebproxystate {} on'.format(device_name))
    # 开启socks代理
    os.system('networksetup -setsocksfirewallproxystate {} on'.format(device_name))

    # 这一条可以不用设置,可指定哪些地址是不需要代理的
    os.system(
        'networksetup -setproxybypassdomains {} 192.168.0.0/16 10.0.0.0/8 '
        '172.16.0.0/12 127.0.0.1 localhost *.local timestamp.apple.com '
        'sequoia.apple.com seed-sequoia.siri.apple.com'.format(device_name))


# 取消代理设置
def proxy_off():
    os.system('networksetup -setwebproxystate {} off'.format(device_name))
    os.system('networksetup -setsecurewebproxystate {} off'.format(device_name))
    os.system('networksetup -setsocksfirewallproxystate {} off'.format(device_name))

    os.system(
        'networksetup -setproxybypassdomains {} "Empty"'.format(device_name))


if __name__ == '__main__':
    proxy_off()

 类似资料: