抖音海外版Tik Tok使用指南

一、Tik Tok使用方法

1.安卓去下载Tik Tok破解版本即可突破区域限制;

2.苹果可以自己使用 MonkeyDev 去破解安装,无需越狱。(需要有苹果电脑、开发经验和MonkeyDev知识,难度较大)

教程如下:

https://www.jianshu.com/p/9778959a8c24

项目地址如下:

https://github.com/AYJk/AYTikTokPod

3.本文介绍的代理+自定义规则方法:

工具:Fiddler

原理:

抖音海外版Tik Tok在每一次Get/Post请求,均检查"carrier_region=CN"、"mcc_mnc=46002"、"is_my_cn=1"、"sys_region=CN"这几个参数。

因此,本文尝试使用Fiddler软件代理的方式,在Fiddler代理服务器端使用自定义规则功能修改这4个参数的值,目的是改成日本区域的值:

日区参数值为:

"carrier_region=JP"、"mcc_mnc=46001"、"is_my_cn=0"、"sys_region=JP"

步骤(整个过程手机和电脑必须在同意局域网)

1.Windows 平台安装Fiddler,启动Fiddler。

2.配置Fiddler,跟着教程走:

https://blog.csdn.net/u010142437/article/details/79700142

https://www.cnblogs.com/meitian/p/4997310.html

注意事项:安卓和苹果都必须安装和信任Fiddler的证书之后,Fiddler才能正常抓取手机的链接)

安卓注意:安卓8.0 及以上的系统已经不支持信任证书,信任了也没用,所以安卓可能就会出现配置好了,有些软件有网,有些没有网)

苹果注意:安装证书后还需要打开:设置->通用->关于本机,滑到最下面->证书信任设置->打开DO_NOT_TRUST_FiddlerRoot的开关)

3.将我的自定义规则(代码)放到指定函数下:

菜单栏->规则(Rules)->自定义规则(Customize Rules)

 

我的代码:

// 自定义代码
        
        var isTikTokRequest = 0;
        if(oSession.fullUrl.Contains("tiktokv.com"))
        {// Tik Tok标志
            isTikTokRequest = 1;
        }
        else
        {
            //其它请求            
        }
        
        if(isTikTokRequest == 1)
        {
            // 在这里切换地区或国家
            var country = 2;
            
            switch(country)
            {
                case 0: // 香港
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=HK");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=45400");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=HK");
                    break;
                case 1: // 台湾:
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=TW");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=46693");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=TW");
                    break;
                case 2: // 日本
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=JP");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=46001");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=JP");
                    break;
                case 3: // 韩国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=KR");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=450");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=KP");
                    break;
                case 4: // 美国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=US");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=31001");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=US");
                    break;
                case 5: // 新加坡
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=SG");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=525");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=SG");
                    break;
                case 6: // 马来西亚
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=MY");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=502");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=MY");
                    break;
                case 7: // 澳大利亚
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=AU");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=505");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=AU");
                    break;
                case 8: // 泰国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=TH");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=520");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=TH");
                    break;


                default://国家移动码查询地址:https://www.cnblogs.com/neo-java/p/6830319.html
                    // 中国 do nothing 
                    
            }
    
            
        }
        else
        {
            // 其它请求
        } 

 

将我的代码放如函数 static function OnBeforeRequest(oSession: Session) {  } 中;

由于此函数原本就有很多代码,所以将我的代码放到这个函数中的末尾即可。

最终函数的代码如下:

    static function OnBeforeRequest(oSession: Session) {
        // Sample Rule: Color ASPX requests in RED
        // if (oSession.uriContains(".aspx")) {    oSession["ui-color"] = "red";    }

        // Sample Rule: Flag POSTs to fiddler2.com in italics
        // if (oSession.HostnameIs("www.fiddler2.com") && oSession.HTTPMethodIs("POST")) {    oSession["ui-italic"] = "yup";    }

        // Sample Rule: Break requests for URLs containing "/sandbox/"
        // if (oSession.uriContains("/sandbox/")) {
        //     oSession.oFlags["x-breakrequest"] = "yup";    // Existence of the x-breakrequest flag creates a breakpoint; the "yup" value is unimportant.
        // }

        if ((null != gs_ReplaceToken) && (oSession.url.indexOf(gs_ReplaceToken)>-1)) {   // Case sensitive
            oSession.url = oSession.url.Replace(gs_ReplaceToken, gs_ReplaceTokenWith); 
        }
        if ((null != gs_OverridenHost) && (oSession.host.toLowerCase() == gs_OverridenHost)) {
            oSession["x-overridehost"] = gs_OverrideHostWith; 
        }

        if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
            oSession["x-breakrequest"]="uri";
        }

        if ((null!=bpMethod) && (oSession.HTTPMethodIs(bpMethod))) {
            oSession["x-breakrequest"]="method";
        }

        if ((null!=uiBoldURI) && oSession.uriContains(uiBoldURI)) {
            oSession["ui-bold"]="QuickExec";
        }

        if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }

        if (m_DisableCaching) {
            oSession.oRequest.headers.Remove("If-None-Match");
            oSession.oRequest.headers.Remove("If-Modified-Since");
            oSession.oRequest["Pragma"] = "no-cache";
        }

        // User-Agent Overrides
        if (null != sUA) {
            oSession.oRequest["User-Agent"] = sUA; 
        }

        if (m_Japanese) {
            oSession.oRequest["Accept-Language"] = "ja";
        }

        if (m_AutoAuth) {
            // Automatically respond to any authentication challenges using the 
            // current Fiddler user's credentials. You can change (default)
            // to a domain\\username:password string if preferred.
            //
            // WARNING: This setting poses a security risk if remote 
            // connections are permitted!
            oSession["X-AutoAuth"] = "(default)";
        }

        if (m_AlwaysFresh && (oSession.oRequest.headers.Exists("If-Modified-Since") || oSession.oRequest.headers.Exists("If-None-Match")))
        {
            oSession.utilCreateResponseAndBypassServer();
            oSession.responseCode = 304;
            oSession["ui-backcolor"] = "Lavender";
        }
        
        // 自定义代码
        
        var isTikTokRequest = 0;
        if(oSession.fullUrl.Contains("tiktokv.com"))
        {// Tik Tok标志
            isTikTokRequest = 1;
        }
        else
        {
            //其它请求            
        }
        
        if(isTikTokRequest == 1)
        {
            // 在这里切换地区或国家
            var country = 2;
            
            switch(country)
            {
                case 0: // 香港
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=HK");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=45400");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=HK");
                    break;
                case 1: // 台湾:
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=TW");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=46693");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=TW");
                    break;
                case 2: // 日本
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=JP");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=46001");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=JP");
                    break;
                case 3: // 韩国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=KR");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=450");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=KR");
                    break;
                case 4: // 美国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=US");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=31001");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=US");
                    break;
                case 5: // 新加坡
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=SG");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=525");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=SG");
                    break;
                case 6: // 马来西亚
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=MY");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=502");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=MY");
                    break;
                case 7: // 澳大利亚
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=AU");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=505");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=AU");
                    break;
                case 8: // 泰国
                    oSession.url = oSession.url.Replace("carrier_region=CN", "carrier_region=TH");
                    oSession.url = oSession.url.Replace("mcc_mnc=46002", "mcc_mnc=520");
                    oSession.url = oSession.url.Replace("is_my_cn=1", "is_my_cn=0");
                    oSession.url = oSession.url.Replace("sys_region=CN", "sys_region=TH");
                    break;


                default://国家移动码查询地址:http://blog.chinaunix.net/uid-20484604-id-1941290.html
                    // 中国 do nothing 
                    
            }
    
            
        }
        else
        {
            // 其它请求
        }        
    }

 至此,手机Tik Tok便可以成功的访问了。

代码默认的是日本区域,可以修改var country = 2;这个参数来切换地区。

posted @ 2019-01-11 14:53  肖博vlog  阅读(11216)  评论(2编辑  收藏  举报