美文网首页
编程动态修改iOS http代理

编程动态修改iOS http代理

作者: 超哥__ | 来源:发表于2019-01-06 01:02 被阅读0次

环境:当然是越狱后才有可能!!!
经过研究,发现iOS系统设置会将配置写入/Library/Preferences/SystemConfiguration/preferences.plist,而系统服务和设置进程本身会根据该文件进行同步。所以定期检查&修改该文件即可实现所有iOS系统设置

下面是实际代码python:

def changeproxy(paramdict):
    '''
        proxymode: close | manual:proxyhost+proxyport | auto:proxyurl
    '''
    ssh_scp_get('/Library/Preferences/SystemConfiguration/preferences.plist', 'preferences.plist')
    preferences = readPlist('preferences.plist')
    currentset = preferences['CurrentSet'].replace('/Sets/', '')
    service_en0 = ''
    serviceorder = preferences['Sets'][currentset]['Network']['Global']['IPv4']['ServiceOrder']
    for service in serviceorder:
        devicename = preferences['NetworkServices'][service]['Interface']['DeviceName']
        if 'en0' == devicename:
            service_en0 = service
    serviceobj = preferences['NetworkServices'][service_en0]
    if paramdict['proxymode'] == 'close':
        serviceobj['Proxies'] = {
            'FTPPassive': 1, 
            'ExceptionsList': [
                '*.local', 
                '169.254/16'
            ]
        }
    elif paramdict['proxymode'] == 'manual':
        serviceobj['Proxies'] = {
            'HTTPProxy': paramdict['proxyhost'], 
            'HTTPPort': paramdict['proxyport'], 
            'HTTPSProxy': paramdict['proxyhost'], 
            'HTTPSPort': paramdict['proxyport'],
            'HTTPEnable': 1, 
            'HTTPSEnable': 1, 
            'FTPPassive': 1,
            'ExceptionsList': [
                '*.local', 
                '169.254/16'
            ]
        }
    elif paramdict['proxymode'] == 'auto':
        serviceobj['Proxies'] = {
            'FTPPassive': 1, 
            'ExceptionsList': [
                '*.local', 
                '169.254/16'
            ], 
            'ProxyAutoConfigEnable': 1, 
            'ProxyAutoConfigURLString': paramdict['proxyurl']
        }
    writePlist(preferences, 'preferences.plist', binary=True)
    ssh_scp_put('preferences.plist', '/Library/Preferences/SystemConfiguration/preferences.plist')

相关文章

  • 编程动态修改iOS http代理

    环境:当然是越狱后才有可能!!!经过研究,发现iOS系统设置会将配置写入/Library/Preferences/...

  • AOP

    AOP 面向切面编程 Aspect-Oriented-Programming 优点 动态代理,不用修改原有的代码 Ex

  • 复习总结2 切面编程 & 二进制优化

    Aspect切面编程 定义 切面编程:以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加...

  • 3.3AOP简介-第3章aop面向切面编程

    AOP:面向切面编程,底层采用动态代理实现的,采用了两种代理:jdk的动态代理与CGLIB的动态代理。AOP是动态...

  • 第三章:Spring AOP

    什么是AOP AOP——面向切面编程。是面向对象编程(OOP)的补充。 AOP术语 JDK动态代理 动态代理对象必...

  • Spring学习系列--3.AOP

    Spring Aop Aop面向切面编程 Aop入门动态代理 动态代理,其实与Aop的原理有些相似,可以用动态代理...

  • 设计模式——代理模式2

    动态代理 什么是动态代理?动态代理是在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。常见的切面编程AO...

  • github加速

    一 代理 HTTP Socket5 取消代理 二 修改hosts

  • 2018-03-21

    与AspectJ的静态代理不同,Spring AOP使用的动态代理,所谓的动态代理就是说AOP框架不会去修改字节码...

  • 动态代理

    动态代理理论及Mybatis实战动态代理在我们平时编程并不常用,但因为Spring AOP以及大量框架均使用动态代...

网友评论

      本文标题:编程动态修改iOS http代理

      本文链接:https://www.haomeiwen.com/subject/rtyjrqtx.html