Brook Shiliew Cheap Zhi Meeting Nan mitmproxy client Network Activity Monitor iOS Old App Downloader SSH Terminal Subtitle 菜根谭 Socks5 Configurator IPvBar File Link Markdown Editor IP AI nami joker brook ipio nico z zoro hancock mad httpserver google hosts

Brook v20260101 Release Notes

Updated at: 2026-01-01

GUI

in_dnsquery

Added two attributes

Key Type Description Example
connectivity string When connecting, the client remembers the current network connection type of the device and passes this value to the script. ethernet/mobile/wifi/other/none
wifiname string When connecting, the client remembers the current wifi name of the device and passes this value to the script.

in_address

Added two attributes

Key Type Description Example
connectivity string When connecting, the client remembers the current network connection type of the device and passes this value to the script. ethernet/mobile/wifi/other/none
wifiname string When connecting, the client remembers the current wifi name of the device and passes this value to the script.

Brook Business and Brook Business Plus

Supports script delivery to clients. Brook service providers need to provide a URL for script delivery.

When a user enters the URL for importing Brook links in the client, this URL will contain a user identifier token, for example: https://hello.com/import?token=xxx

Assuming the service provider provides the script delivery URL as https://hello.com/script, the client will include the same user identifier token, requesting https://hello.com/script?token=xxx to retrieve the script. The service provider can decide to deliver different scripts to different users, or it can deliver the same script to all users.

How it works:

  1. When a user imports brook links, if the service provider provides a script delivery URL, it will simultaneously request the script and save it locally.
  2. When the GUI is open, every five minutes, it will request both the URL for importing brook links and the URL for delivering the script, saving them locally.
  3. When the GUI connecting, the client will check if the delivered script exists locally. The distributed script will be used first.

How to write Script, read the docs : https://www.txthinking.com/brook.html - Docs - Brook Client

Example:

modules := []

// Block google secure DNS to avoid Fake DNS does not work
modules = append(modules, {
    dnsquery: func(m) {
        if m.domain == "dns.google" {
            return { block: true }
        }
    },
    address: func(m) {
        if m.ipaddress && (m.ipaddress == "8.8.8.8:853" || m.ipaddress == "8.8.8.8:443" || m.ipaddress == "8.8.4.4:853" || m.ipaddress == "8.8.4.4:443" || m.ipaddress == "[2001:4860:4860::8888]:853" || m.ipaddress == "[2001:4860:4860::8888]:443" || m.ipaddress == "[2001:4860:4860::8844]:853" || m.ipaddress == "[2001:4860:4860::8844]:443") {
            return { block: true }
        }
        if m.domainaddress {
            text := import("text")
            if text.has_prefix(m.domainaddress, "dns.google:") {
                return { block: true }
            }
        }
    }
})

// Bypass Apple, because Apple's push service does not allow proxying.
modules = append(modules, {
    dnsquery: func(m) {
        text := import("text")
        l := [
            "apple.com",
            "icloud.com",
            "cdn-apple.com",
            "mzstatic.com",
            "entrust.net",
            "digicert.com",
            "verisign.net",
            "apple",
            "push-apple.com.akadns.net",
            "itunes-apple.com.akadns.net",
            "cdn-apple.com.akadns.net",
            "ks-cdn.com",
            "ksyuncdn.com",
            "cdn-apple.com.edgekey.net",
            "e2885.e9.akamaiedge.net",
            "apple.com.edgekey.net",
            "e2490.dscb.akamaiedge.net",
            "idms-apple.com.akadns.net",
            "apple.com.edgekey.net.globalredir.akadns.net",
            "e6858.dscx.akamaiedge.net",
            "ioshost.qtlcdn.com"
        ]
        for v in l {
            if m.domain == v || text.has_suffix(m.domain, "."+v) {
                return { bypass: true }
            }
        }
    },
    address: func(m) {
        if m.ipaddress {
            brook := import("brook")
            r := brook.splithostport(m.ipaddress)
            if is_error(r) {
                return r
            }
            l := [
                "17.0.0.0/8",
                "103.81.148.0/22",
                "103.81.148.0/24",
                "103.81.149.0/24",
                "2620:149:a44::/48",
                "2403:300:a42::/48",
                "2403:300:a51::/48",
                "2a01:b740:a42::/48"
            ]
            for v in l {
                if brook.cidrcontainsip(v, r.host) {
                    return { bypass: true }
                }
            }
        }
    }
})

// Ignore fake DNS for instagram
modules = append(modules, {
    dnsquery: func(m) {
        text := import("text")
        f := func(domain, l){
            ss := text.split(text.to_lower(domain), ".")
            s := ""
            for i := len(ss) - 1; i >= 0; i-- {
                if s == "" {
                    s = ss[i]
                } else {
                    s = ss[i] + "." + s
                }
                if l[s] {
                    return { system: true }
                }
            }
        }
        l := {
            "aboutfacebook.com": true,
            "accessfacebookfromschool.com": true,
            "acebooik.com": true,
            "acebook.com": true,
            "acheter-followers-instagram.com": true,
            "acheterdesfollowersinstagram.com": true,
            "acheterfollowersinstagram.com": true,
            "advancediddetection.com": true,
            "askfacebook.net": true,
            "askfacebook.org": true,
            "atdmt2.com": true,
            "atlasdmt.com": true,
            "atlasonepoint.com": true,
            "bookstagram.com": true,
            "buyingfacebooklikes.com": true,
            "careersatfb.com": true,
            "carstagram.com": true,
            "cdninstagram.com": true,
            "celebgramme.com": true,
            "chickstagram.com": true,
            "china-facebook.com": true,
            "click-url.com": true,
            "como-hackearfacebook.com": true,
            "crowdtangle.com": true,
            "dacebook.com": true,
            "dlfacebook.com": true,
            "dotfacebook.com": true,
            "dotfacebook.net": true,
            "expresswifi.com": true,
            "faacebok.com": true,
            "faacebook.com": true,
            "faasbook.com": true,
            "facbebook.com": true,
            "facbeok.com": true,
            "facboo.com": true,
            "facbook.com": true,
            "facbool.com": true,
            "facboox.com": true,
            "faccebook.com": true,
            "faccebookk.com": true,
            "facdbook.com": true,
            "facdebook.com": true,
            "face-book.com": true,
            "faceabook.com": true,
            "facebboc.com": true,
            "facebbook.com": true,
            "facebboook.com": true,
            "facebcook.com": true,
            "facebdok.com": true,
            "facebgook.com": true,
            "facebhook.com": true,
            "facebkkk.com": true,
            "facebo-ok.com": true,
            "faceboak.com": true,
            "facebock.com": true,
            "facebocke.com": true,
            "facebof.com": true,
            "faceboik.com": true,
            "facebok.com": true,
            "facebokbook.com": true,
            "facebokc.com": true,
            "facebokk.com": true,
            "facebokok.com": true,
            "faceboks.com": true,
            "facebol.com": true,
            "facebolk.com": true,
            "facebomok.com": true,
            "faceboo.com": true,
            "facebooa.com": true,
            "faceboob.com": true,
            "faceboobok.com": true,
            "facebooc.com": true,
            "faceboock.com": true,
            "facebood.com": true,
            "facebooe.com": true,
            "faceboof.com": true,
            "facebooi.com": true,
            "facebooik.com": true,
            "facebooik.org": true,
            "facebooj.com": true,
            "facebook-corp.com": true,
            "facebook-covid-19.com": true,
            "facebook-ebook.com": true,
            "facebook-forum.com": true,
            "facebook-hardware.com": true,
            "facebook-inc.com": true,
            "facebook-login.com": true,
            "facebook-newsroom.com": true,
            "facebook-newsroom.org": true,
            "facebook-pmdcenter.com": true,
            "facebook-pmdcenter.net": true,
            "facebook-pmdcenter.org": true,
            "facebook-privacy.com": true,
            "facebook-program.com": true,
            "facebook-studio.com": true,
            "facebook-support.org": true,
            "facebook-texas-holdem.com": true,
            "facebook-texas-holdem.net": true,
            "facebook.br": true,
            "facebook.ca": true,
            "facebook.cc": true,
            "facebook.com": true,
            "facebook.design": true,
            "facebook.hu": true,
            "facebook.in": true,
            "facebook.net": true,
            "facebook.nl": true,
            "facebook.org": true,
            "facebook.se": true,
            "facebook.shop": true,
            "facebook.tv": true,
            "facebook.us": true,
            "facebook.wang": true,
            "facebook123.org": true,
            "facebook30.com": true,
            "facebook30.net": true,
            "facebook30.org": true,
            "facebook4business.com": true,
            "facebookads.com": true,
            "facebookadvertisingsecrets.com": true,
            "facebookatschool.com": true,
            "facebookawards.com": true,
            "facebookblueprint.net": true,
            "facebookbrand.com": true,
            "facebookbrand.net": true,
            "facebookcanadianelectionintegrityinitiative.com": true,
            "facebookcareer.com": true,
            "facebookcheats.com": true,
            "facebookck.com": true,
            "facebookclub.com": true,
            "facebookcom.com": true,
            "facebookconsultant.org": true,
            "facebookcoronavirus.com": true,
            "facebookcovers.org": true,
            "facebookcredits.info": true,
            "facebookdating.net": true,
            "facebookdusexe.org": true,
            "facebookemail.com": true,
            "facebookenespanol.com": true,
            "facebookexchange.com": true,
            "facebookexchange.net": true,
            "facebookfacebook.com": true,
            "facebookflow.com": true,
            "facebookgames.com": true,
            "facebookgraphsearch.com": true,
            "facebookgraphsearch.info": true,
            "facebookgroups.com": true,
            "facebookhome.cc": true,
            "facebookhome.com": true,
            "facebookhome.info": true,
            "facebookhub.com": true,
            "facebooki.com": true,
            "facebookinc.com": true,
            "facebookland.com": true,
            "facebooklikeexchange.com": true,
            "facebooklive.com": true,
            "facebooklivestaging.net": true,
            "facebooklivestaging.org": true,
            "facebooklogin.com": true,
            "facebooklogin.info": true,
            "facebookloginhelp.net": true,
            "facebooklogs.com": true,
            "facebookmail.com": true,
            "facebookmail.tv": true,
            "facebookmanager.info": true,
            "facebookmarketing.info": true,
            "facebookmarketingpartner.com": true,
            "facebookmarketingpartners.com": true,
            "facebookmobile.com": true,
            "facebookmsn.com": true,
            "facebooknews.com": true,
            "facebooknfl.com": true,
            "facebooknude.com": true,
            "facebookofsex.com": true,
            "facebookook.com": true,
            "facebookpaper.com": true,
            "facebookpay.com": true,
            "facebookphonenumber.net": true,
            "facebookphoto.com": true,
            "facebookphotos.com": true,
            "facebookpmdcenter.com": true

        }
        r := f(m.domain, l)
        if r != undefined {
            return r
        }

        l = {
            "facebookpoke.net": true,
            "facebookpoke.org": true,
            "facebookpoker.info": true,
            "facebookpokerchips.info": true,
            "facebookporn.net": true,
            "facebookporn.org": true,
            "facebookporno.net": true,
            "facebookportal.com": true,
            "facebooks.com": true,
            "facebooksafety.com": true,
            "facebooksecurity.net": true,
            "facebookshop.com": true,
            "facebooksignup.net": true,
            "facebooksite.net": true,
            "facebookstories.com": true,
            "facebookstudios.net": true,
            "facebookstudios.org": true,
            "facebooksupplier.com": true,
            "facebooksuppliers.com": true,
            "facebookswagemea.com": true,
            "facebookswagstore.com": true,
            "facebooksz.com": true,
            "facebookthreads.net": true,
            "facebooktv.net": true,
            "facebooktv.org": true,
            "facebookvacation.com": true,
            "facebookw.com": true,
            "facebookwork.com": true,
            "facebookworld.com": true,
            "facebool.com": true,
            "facebool.info": true,
            "facebooll.com": true,
            "faceboom.com": true,
            "faceboon.com": true,
            "faceboonk.com": true,
            "faceboooik.com": true,
            "faceboook.com": true,
            "faceboop.com": true,
            "faceboot.com": true,
            "faceboox.com": true,
            "facebopk.com": true,
            "facebpook.com": true,
            "facebuk.com": true,
            "facebuok.com": true,
            "facebvook.com": true,
            "facebyook.com": true,
            "facebzook.com": true,
            "facecbgook.com": true,
            "facecbook.com": true,
            "facecbook.org": true,
            "facecook.com": true,
            "facecook.org": true,
            "facedbook.com": true,
            "faceebok.com": true,
            "faceebook.com": true,
            "faceebot.com": true,
            "facegbok.com": true,
            "facegbook.com": true,
            "faceobk.com": true,
            "faceobok.com": true,
            "faceobook.com": true,
            "faceook.com": true,
            "facerbooik.com": true,
            "facerbook.com": true,
            "facesbooc.com": true,
            "facesounds.com": true,
            "facetook.com": true,
            "facevbook.com": true,
            "facewbook.co": true,
            "facewook.com": true,
            "facfacebook.com": true,
            "facfebook.com": true,
            "fackebook.com": true,
            "facnbook.com": true,
            "facrbook.com": true,
            "facvebook.com": true,
            "facwebook.com": true,
            "facxebook.com": true,
            "fadebook.com": true,
            "faebok.com": true,
            "faebook.com": true,
            "faebookc.com": true,
            "faeboook.com": true,
            "faecebok.com": true,
            "faesebook.com": true,
            "fafacebook.com": true,
            "faicbooc.com": true,
            "fasebokk.com": true,
            "fasebook.com": true,
            "faseboox.com": true,
            "favebook.com": true,
            "faycbok.com": true,
            "fb.careers": true,
            "fb.com": true,
            "fb.gg": true,
            "fb.me": true,
            "fb.watch": true,
            "fbacebook.com": true,
            "fbbmarket.com": true,
            "fbboostyourbusiness.com": true,
            "fbcdn-a.akamaihd.net": true,
            "fbcdn.com": true,
            "fbcdn.net": true,
            "fbfeedback.com": true,
            "fbhome.com": true,
            "fbidb.io": true,
            "fbinc.com": true,
            "fbinnovation.com": true,
            "fbmarketing.com": true,
            "fbreg.com": true,
            "fbrpms.com": true,
            "fbsbx.com": true,
            "fbsbx.net": true,
            "fbsupport-covid.net": true,
            "fbthirdpartypixel.com": true,
            "fbthirdpartypixel.net": true,
            "fbthirdpartypixel.org": true,
            "fburl.com": true,
            "fbwat.ch": true,
            "fbworkmail.com": true,
            "fcacebook.com": true,
            "fcaebook.com": true,
            "fcebook.com": true,
            "fcebookk.com": true,
            "fcfacebook.com": true,
            "fdacebook.info": true,
            "feacboo.com": true,
            "feacbook.com": true,
            "feacbooke.com": true,
            "feacebook.com": true,
            "fecbbok.com": true,
            "fecbooc.com": true,
            "fecbook.com": true,
            "feceboock.com": true,
            "fecebook.net": true,
            "feceboox.com": true,
            "fececbook.com": true,
            "feook.com": true,
            "ferabook.com": true,
            "fescebook.com": true,
            "fesebook.com": true,
            "ffacebook.com": true,
            "fgacebook.com": true,
            "ficeboock.com": true,
            "fmcebook.com": true,
            "fnacebook.com": true,
            "fosebook.com": true,
            "fpacebook.com": true,
            "fqcebook.com": true,
            "fracebook.com": true,
            "freeb.com": true,
            "freebasics.com": true,
            "freebasics.net": true,
            "freebs.com": true,
            "freefacebook.com": true,
            "freefacebook.net": true,
            "freefacebookads.net": true,
            "freefblikes.com": true,
            "freindfeed.com": true,
            "friendbook.info": true,
            "friendfed.com": true,
            "friendfeed-api.com": true,
            "friendfeed-media.com": true,
            "friendfeed.com": true,
            "friendfeedmedia.com": true,
            "fsacebok.com": true,
            "fscebook.com": true,
            "fundraisingwithfacebook.com": true,
            "funnyfacebook.org": true,
            "futureofbusinesssurvey.org": true,
            "gacebook.com": true,
            "gameroom.com": true,
            "gfacecbook.com": true,
            "groups.com": true,
            "hackerfacebook.com": true,
            "hackfacebook.com": true,
            "hackfacebookid.com": true,
            "hifacebook.info": true,
            "howtohackfacebook-account.com": true,
            "hsfacebook.com": true,
            "httpfacebook.com": true,
            "httpsfacebook.com": true,
            "httpwwwfacebook.com": true,
            "i.org": true,
            "iachat-followers-instagram.com": true,
            "ig.me": true,
            "igcdn.com": true,
            "igsonar.com": true,
            "igtv.com": true,
            "imstagram.com": true,
            "imtagram.com": true,
            "instaadder.com": true,
            "instachecker.com": true,
            "instafallow.com": true,
            "instafollower.com": true,
            "instagainer.com": true,
            "instagda.com": true,
            "instagify.com": true,
            "instagmania.com": true,
            "instagor.com": true
        }
        r = f(m.domain, l)
        if r != undefined {
            return r
        }

        l = {
            "instagram-brand.com": true,
            "instagram-engineering.com": true,
            "instagram-help.com": true,
            "instagram-press.com": true,
            "instagram-press.net": true,
            "instagram.com": true,
            "instagramci.com": true,
            "instagramcn.com": true,
            "instagramdi.com": true,
            "instagramhashtags.net": true,
            "instagramhilecim.com": true,
            "instagramhilesi.org": true,
            "instagramium.com": true,
            "instagramizlenme.com": true,
            "instagramkusu.com": true,
            "instagramlogin.com": true,
            "instagramm.com": true,
            "instagramn.com": true,
            "instagrampartners.com": true,
            "instagramphoto.com": true,
            "instagramq.com": true,
            "instagramsepeti.com": true,
            "instagramtakipcisatinal.net": true,
            "instagramtakiphilesi.com": true,
            "instagramtips.com": true,
            "instagramtr.com": true,
            "instagran.com": true,
            "instagranm.com": true,
            "instagrem.com": true,
            "instagrm.com": true,
            "instagtram.com": true,
            "instagy.com": true,
            "instamgram.com": true,
            "instangram.com": true,
            "instanttelegram.com": true,
            "instaplayer.net": true,
            "instastyle.tv": true,
            "instgram.com": true,
            "intagram.com": true,
            "intagrm.com": true,
            "internet.org": true,
            "intgram.com": true,
            "kingstagram.com": true,
            "klik.me": true,
            "liverail.com": true,
            "liverail.tv": true,
            "lnstagram-help.com": true,
            "login-account.net": true,
            "markzuckerberg.com": true,
            "messenger.com": true,
            "midentsolutions.com": true,
            "mobilefacebook.com": true,
            "moneywithfacebook.com": true,
            "myfbfans.com": true,
            "newsfeed.com": true,
            "nextstop.com": true,
            "oninstagram.com": true,
            "online-deals.net": true,
            "online-instagram.com": true,
            "onlineinstagram.com": true,
            "opencreate.org": true,
            "reachtheworldonfacebook.com": true,
            "redkix.com": true,
            "rocksdb.org": true,
            "shopfacebook.com": true,
            "sportsfacebook.com": true,
            "sportstream.com": true,
            "supportfacebook.com": true,
            "terragraph.com": true,
            "tfbnw.net": true,
            "thefacebook.com": true,
            "thefacebook.net": true,
            "thefind.com": true,
            "theinstagramhack.com": true,
            "toplayerserver.com": true,
            "viewpointsfromfacebook.com": true,
            "web-instagram.net": true,
            "whatsapp.com": true,
            "whatsapp.net": true,
            "whyfacebook.com": true,
            "workplace.com": true,
            "workplaceusecases.com": true,
            "worldhack.com": true,
            "www-facebook.com": true,
            "wwwfacebok.com": true,
            "wwwfacebook.com": true,
            "wwwinstagram.com": true,
            "wwwmfacebook.com": true,
            "zuckerberg.com": true,
            "zuckerberg.net": true
        }
        r = f(m.domain, l)
        if r != undefined {
            return r
        }
    }
})

// Ignore fake DNS for ChatGPT Advanced Voice
modules = append(modules, {
    dnsquery: func(m) {
        text := import("text")
        l := [
            "livekit.cloud"
        ]
        for v in l {
            if m.domain == v || text.has_suffix(m.domain, "."+v) {
                return { system: true }
            }
        }
    }
})

f := func() {
    if in_brooklinks {
        for i:=0; i<len(modules); i++{
            if modules[i]["brooklinks"] {
                r := modules[i]["brooklinks"](in_brooklinks)
                if is_error(r) || is_map(r) {
                    return r
                }
            }
        }
        return
    }
    if in_dnsquery {
        for i:=0; i<len(modules); i++{
            if modules[i]["dnsquery"] {
                r := modules[i]["dnsquery"](in_dnsquery)
                if is_error(r) || is_map(r) {
                    return r
                }
            }
        }
        return
    }
    if in_address {
        for i:=0; i<len(modules); i++{
            if modules[i]["address"] {
                r := modules[i]["address"](in_address)
                if is_error(r) || is_map(r) {
                    return r
                }
            }
        }
        return
    }
    if in_httprequest && !in_httpresponse {
        for i:=0; i<len(modules); i++{
            if modules[i]["httprequest"] {
                r := modules[i]["httprequest"](in_httprequest)
                if is_error(r) || is_map(r) {
                    return r
                }
            }
        }
        return in_httprequest
    }
    if in_httprequest && in_httpresponse {
        for i:=0; i<len(modules); i++{
            if modules[i]["httpresponse"] {
                r :=  modules[i]["httpresponse"](in_httprequest, in_httpresponse)
                if is_error(r) || is_map(r) {
                    return r
                }
            }
        }
        return in_httpresponse
    }
}
out := f()
© TxThinking, Inc. All Rights Reserved.