ballade: 支持 IPv6 的轻量级 http 代理,可用 SwitchyOmega 规则分流 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
holyshawn

ballade: 支持 IPv6 的轻量级 http 代理,可用 SwitchyOmega 规则分流

  •  
  •   holyshawn 2016 年 4 月 23 日 3514 次点击
    这是一个创建于 3653 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前几周之前发过一次,好像发错版了,而且突然又发现以前直接 fork 的项目 Github 连搜索都是二等公民,所以在原项目 MIT 协议的允许下,重新发布一个 MIT 协议的新项目,以前发的地址: https://v2ex.com/t/269824

    Github 项目传送门: https://github.com/holyshawn/ballade

    本来 cow 用着也是好好的,但就是不支持 IPv6 ,这让我们教育网用户简直无法忍受,必须手动维护一份白名单才行,而 cow 的白名单只支持 suffix ,也是不怎么通用。

    于是乎,自己动手, fork 了一份 python 版 http 调度代理源码,改了改 bug ,重构加强一下,加了 IPv6 , SOCKS5 ,多进程, SwitchyOmega 规则的支持。

    个人觉得自动判断或者通用规则什么的不如直接用平时用 Chrome 积累的规则合适,特别是 IPv6 的网络环境。

    这种代理感觉主要用途在于帮助手机等没法很好的智能分流的设备进行代理分流,以及对于Android等拿不到原生IPv6地址的系统可以用这个访问IPv6网站。

    ballade 指的是 ballade tempo ,也就是民谣速度,不怎么快的~
    10 条回复    2016-04-26 15:31:13 +08:00
    bazingaterry
        1
    bazingaterry  
       2016 年 4 月 23 日
    同是校园网用户,支持 IPv6 正需要,给作者 star 一个。 btw ,没用过 SwitchyOmega ,能不能科普一下分流规则是怎样的? IPv6 优先还是?
    holyshawn
        2
    holyshawn  
    OP
       2016 年 4 月 23 日
    @bazingaterry 程序首先会用一个网址判断 IPv6 是否连通,这个可以在配置文件中自定义,默认是 www.yahoo.com 的 443 端口。如果连通则若一个域名有 IPv6 地址,就强制用 IPv6 链路去连。如果不连通则只使用 IPv4 链路。
    分流规则在 README 中有,很简单的通配符,看看就明白了。
    skydiver
        3
    skydiver  
       2016 年 4 月 23 日 via iPad
    名字不一样的话, fork 的项目搜索并不会有区别吧
    scarecrow
        4
    scarecrow  
       2016 年 4 月 23 日
    这里有个更轻的。 500 行代码 C 语言版本,还支持科学上网 https://github.com/examplecode/mproxy
    holyshawn
        5
    holyshawn  
    OP
       2016 年 4 月 23 日
    @skydiver 比方你搜索 meow ,这是 cow 的一个 fork 白名单版本,直接搜索完全搜不到,必须搜索 meow fork:true ,才能搜到 renzhn/MEOW
    holyshawn
        6
    holyshawn  
    OP
       2016 年 4 月 23 日
    @scarecrow 下了试了下,这个主要是作为 ss 的轻量级替代吧,没有分流功能,和 ballade 的定位不同。
    而且普通代理无法连接 IPv6 网站,亲测:
    Apr 23 2016 16:51:21 Host:www.google.com port: 443 io_flag:0
    Apr 23 2016 16:51:21 ======= forward request to remote host:www.google.com port:443 =======
    Apr 23 2016 16:51:21 receive CONNECT request
    Apr 23 2016 16:51:21 Cannot connect to host [www.google.com:443]
    Apr 23 2016 16:51:21 Host:bt.neu6.edu.cn port: 80 io_flag:0
    Apr 23 2016 16:51:21 Cannot connect to host [bt.neu6.edu.cn:80]
    skydiver
        7
    skydiver  
       2016 年 4 月 23 日 via iPad
    @holyshawn 还真是这样的。太不科学了
    holyshawn
        8
    holyshawn  
    OP
       2016 年 4 月 24 日
    @skydiver 所以以后大改的非同名项目根据协议允许还是独立出来好,不然感觉都成了个人玩具了。。。
    skydiver
        9
    skydiver  
       2016 年 4 月 24 日 via iPad
    @holyshawn 我倒是觉得影响没那么大,很多知名项目也都是 fork 的别人。大部分人还是从 Google 搜索进来的,用 Github 搜索的不是很多。
    holyshawn
        10
    holyshawn  
    OP
       2016 年 4 月 26 日
    感谢各位的收藏与 star !
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2624 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 15:29 PVG 23:29 LAX 08:29 JFK 11:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86