V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
slene
V2EX  ›  macOS

自用的 autoproxy 脚本,附带让规则即时生效的方法。

  •  
  •   slene · 2012-04-13 11:55:10 +08:00 · 4406 次点击
    这是一个创建于 4611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    总是遇到代码小白求配置文件,他们自己修改的话,总会出点错。
    每行一个域名,没有多余符号代码,方便添加。自用暂时没发现问题,有问题请帮忙改进。
    适用于chrome safari和全局。代码不多就不贴到别处了。有时间考虑做成APP。

    ======================================================================

    var domains = function(){/*

    t.co

    wordpress.com
    blogger.com
    blogspot.com

    */};

    lines = new String(domains);
    domains = lines.substring(lines.indexOf("/*") + 2, lines.lastIndexOf("*/")).trim().split(/\s+/);

    for(var i = 0; i < domains.length; i++){
    domains[i] = domains[i].replace('.', '\\.');
    }

    var REGEXP = new RegExp('^http[s]?:\/\/([\\w\\d-]+\\.)*' + '(' + domains.join('|') + ')' + '(\\/.*)?$');
    var SOCKS = 'SOCKS5 127.0.0.1:7070; SOCKS 127.0.0.1:7070';

    function FindProxyForURL(url, host) {
    try{
    if(REGEXP.test(url)) return SOCKS;
    }catch(e){}

    return 'DIRECT';
    }

    ======================================================================

    顺便贴个不用打开设置面板即时更新autoproxy文件的方法。
    假设你的autoproxy文件在 http://127.0.0.1/SwitchyAuto.txt
    在控制终端下执行。

    适用于wifi:
    networksetup -setautoproxystate Wi-Fi on && networksetup -setautoproxyurl Wi-Fi http://127.0.0.1/SwitchyAuto.txt?$RANDOM

    适用于网线:
    networksetup -setautoproxystate Ethernet on && networksetup -setautoproxyurl Ethernet http://127.0.0.1/SwitchyAuto.txt?$RANDOM

    可以加到你的 .bashrc 里
    alias setproxy='networksetup -setautoproxystate Wi-Fi on && networksetup -setautoproxyurl Wi-Fi http://127.0.0.1/SwitchyAuto.txt?$RANDOM'
    alias setproxye='networksetup -setautoproxystate Ethernet on && networksetup -setautoproxyurl Ethernet http://127.0.0.1/SwitchyAuto.txt?$RANDOM'

    每次只要打开终端,执行 setproxy 或者 setproxye 就可以。
    2 条回复    1970-01-01 08:00:00 +08:00
    est
        1
    est  
       2012-04-13 11:57:41 +08:00
    在chrome里即时生效:

    chrome://net-internals/#proxy

    然后点击re-apply settings.
    slene
        2
    slene  
    OP
       2012-04-13 11:59:36 +08:00
    @est
    我主要用safari

    付上面代码的 dpaste 地址,http://dpaste.com/730996/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:53 · PVG 03:53 · LAX 11:53 · JFK 14:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.