超智能提速网络:联通4G无限流量与家用WIFI合作,多快好省的访问谷歌 —— Optimize network speed via Mobile 4G network and your home WIFI

知道么?

  • 北京联通4G的国际带宽延迟一般低于正常的 WIFI;
  • 你可以使用这个特性来高速访问谷歌
  • 2017年底,联通推荐了无限流量冰激淋计划;以北京联通为例,99元包本地无限流量(4G网络下30G流量;3G网络下70G流量)

当然,30G 的高速流量估计也不够你的电脑一个月使用,所以还是要知道如何多快好省的使用。

前提:
– 我这里只讲 macOS,Windows 道理一样的
– 手机以 iPhone 为例

原理:
– 使用 Mac 的 WIFI 连接家用/公司无线路由器
– 使用 USB 线或者淘宝买的便宜网卡(USB)共享连接你的手机共享网络(以 iPhone 为例)
– 修改 macOS 路由表,正常流量走路由器;外网代理节点(你懂的)走手机 4G 网络;

步骤:
– 连 WIFI 到家用/公司无线网络

  • 连接 USB 到手机共享网络 (你也可以淘宝买一个便宜网卡,和你的电脑内置 WIFI 一起组合又无线网卡,原理一样)

  • 检查与手机网络相连的那个网络适配器(网卡)的网关 IP,我的是 172.20.10.1 ;网卡(网络接口)名称 en3
netstat -nr

  • 找到你的外网代理点的 IP (你懂的),欢迎多个 IP

  • 按照下例修改文件 ~/.bash_profile

cellularGatewayIp=172.20.10.1
proxyJumpIps=("45.32.*.*" "52.183.*.*") # chang accordingly

showDefaultGateway(){
        route -n get default |  grep gateway | cut -d ":" -f 2 | cut -d " " -f 2 | grep -v $cellularGatewayIp
}

updateRoutes(){
        routesAndGateway=("$@")
        gateway="${routesAndGateway[0]}"
        unset routesAndGateway[0]
        routes=("${routesAndGateway[@]}")

        for route in "${routes[@]}"
        do      
                sudo route delete $route
                sudo route add $route $gateway
        done 
}

smartCellularRoute(){
        defaultGateWayIp="$(showDefaultGateway)"
        macDefaultRoutes=("default" "224.0.0/4")

        if [[ -z "$defaultGateWayIp" ]]; then
                echo "[ERROR] Default WIFI gateway is empty; Reconnect WIFI"
                return
        fi

        echo "[INFO] Default gateway $defaultGateWayIp"

        updateRoutes "$defaultGateWayIp" ${macDefaultRoutes[@]}
        updateRoutes "$cellularGatewayIp" ${proxyJumpIps[@]}

        echo "[INFO] Updated Route"
        netstat -nr
}
export -f smartCellularRoute
  • 终端运行 smartCellularRoute

  • 检查一下确定路由正确

  • 有视频有真相,一般流量走低速 WIFI;外网走北京联通 4G

以下是完全禁用浏览器缓存下的视频对比体验:

一般公共WIFI下,微博都很慢

Google 和 YouTube 1080P 速度体验(北京联通 4G,实时录制,无加速播放)

Google

YouTube 1080p

Leave a Reply

Your email address will not be published. Required fields are marked *