PageSourceSearch

https://web-static.kurobbs.com/resource/prod/static/gt4.js

js kurobbs.com collected 2026-10-09 01:18:09 UTC 14,115 bytes, 371 lines download raw bytes

1'v4.1.5 Geetest Inc.'
2!(function (t) {
3    'use strict'
4    if (void 0 === t) throw Error('Geetest requires browser environment')
5    var e = t.document,
6        r = t.Math,
7        o = e.getElementsByTagName('head')[0]
8    function n(t) {
9        this._obj = t
10    }
11    function a(t) {
12        var e = this
13        new n(t)._each(function (t, r) {
14            e[t] = r
15        })
16    }
17    ;(n.prototype = {
18        _each: function (t) {
19            var e = this._obj
20            for (var r in e) e.hasOwnProperty(r) && t(r, e[r])
21            return this
22        },
23        _extend: function (t) {
24            var e = this
25            new n(t)._each(function (t, r) {
26                e._obj[t] = r
27            })
28        }
29    }),
30        (a.prototype = {
31            apiServers: [
32                'gcaptcha4.geetest.com',
33                'gcaptcha4.geevisit.com',
34                'gcaptcha4.gsensebot.com'
35            ],
36            staticServers: [
37                'static.geetest.com',
38                'static.geevisit.com',
39                'dn-staticdown.qbox.me'
40            ],
41            protocol: 'http://',
42            typePath: '/load',
43            fallback_config: {
44                bypass: {
45                    staticServers: [
46                        'static.geetest.com',
47                        'static.geevisit.com',
48                        'dn-staticdown.qbox.me'
49                    ],
50                    type: 'bypass',
51                    bypass: '/v4/bypass.js'
52                }
53            },
54            _get_fallback_config: function () {
55                return c(this.type)
56                    ? this.fallback_config[this.type]
57                    : this.fallback_config.bypass
58            },
59            _extend: function (t) {
60                var e = this
61                new n(t)._each(function (t, r) {
62                    e[t] = r
63                })
64            }
65        })
66    var c = function (t) {
67            return 'string' == typeof t
68        },
69        i = /Mobi/i.test(navigator.userAgent),
70        s = {},
71        l = {},
72        u = function (t, e) {
73            if ('function' == typeof t) {
74                var r = Array.prototype.slice.call(arguments, 2)
75                return Function.prototype.bind
76                    ? t.bind(e, r)
77                    : function () {
78                          var o = Array.prototype.slice.call(arguments)
79                          return t.apply(e, r.concat(o))
80                      }
81            }
82        },
83        f = Object.prototype.toString
84    function p(t, e) {
85        if (
86            (r = t) !== Object(r) ||
87            ((o = t), '[object Date]' == f.call(o)) ||
88            ((n = t), '[object RegExp]' == f.call(n)) ||
89            ((a = t), '[object Boolean]' == f.call(a)) ||
90            'function' == typeof (c = t)
91        )
92            return e
93                ? (i = t).replace(/(\S)(_([a-zA-Z]))/g, function (t, e, r, o) {
94                      return e + o.toUpperCase() || ''
95                  })
96                : t
97        if (((s = t), '[object Array]' == f.call(s)))
98            for (var r, o, n, a, c, i, s, l = [], u = 0; u < t.length; u++)
99                l.push(p(t[u]))
100        else {
101            var l = {}
102            for (var g in t) t.hasOwnProperty(g) && (l[p(g, !0)] = p(t[g]))
103        }
104        return l
105    }
106    var g = function (t, r, n) {
107            var a = e.createElement('script')
108            ;(a.charset = 'UTF-8'),
109                (a.async = !0),
110                /static\.geetest\.com/g.test(t) &&
111                    (a.crossOrigin = 'anonymous'),
112                (a.onerror = function () {
113                    r(!0), (c = !0)
114                })
115            var c = !1
116            ;(a.onload = a.onreadystatechange =
117                function () {
118                    c ||
119                        (a.readyState &&
120                            'loaded' !== a.readyState &&
121                            'complete' !== a.readyState) ||
122                        ((c = !0),
123                        setTimeout(function () {
124                            r(!1)
125                        }, 0))
126                }),
127                (a.src = t),
128                o.appendChild(a),
129                setTimeout(function () {
130                    c ||
131                        ((a.onerror = a.onload = null),
132                        a.remove && a.remove(),
133                        r(!0))
134                }, n || 1e4)
135        },
136        d = function (t) {
137            if (!t) return ''
138            var e = '?'
139            return (
140                new n(t)._each(function (t, r) {
141                    var o, n
142                    ;(c(r) ||
143                        'number' == typeof (o = r) ||
144                        'boolean' == typeof (n = r)) &&
145                        (e =
146                            e +
147                            encodeURIComponent(t) +
148                            '=' +
149                            encodeURIComponent(r) +
150                            '&')
151                }),
152                '?' === e && (e = ''),
153                e.replace(/&$/, '')
154            )
155        },
156        v = function (t, e, r, o) {
157            e = (n = e).replace(/^https?:\/\/|\/$/g, '')
158            var n,
159                a,
160                c =
161                    (0 !== (a = (a = r).replace(/\/+/g, '/')).indexOf('/') &&
162                        (a = '/' + a),
163                    a + d(o))
164            return e && (c = t + e + c), c
165        },
166        h = function (e, o, n, a, c, i, s) {
167            var l = function (f) {
168                if (s) {
169                    var p =
170                        'geetest_' +
171                        (parseInt(1e4 * r.random()) + new Date().valueOf())
172                    ;(t[p] = u(s, null, p)), (c.callback = p)
173                }
174                var d = v(o, n[f], a, c)
175                g(
176                    d,
177                    function (e) {
178                        if (e) {
179                            if (p)
180                                try {
181                                    t[p] = function () {
182                                        t[p] = null
183                                    }
184                                } catch (r) {}
185                            f >= n.length - 1 ? i(!0) : l(f + 1)
186                        } else i(!1)
187                    },
188                    e.timeout
189                )
190            }
191            l(0)
192        },
193        y = function (e, o, n, a) {
194            var c = function (e, r) {
195                'success' == r.status ? a(r.data) : (r.status, a(r)),
196                    (t[e] = void 0)
197                try {
198                    delete t[e]
199                } catch (o) {}
200            }
201            h(
202                n,
203                n.protocol,
204                e,
205                o,
206                {
207                    captcha_id: n.captchaId,
208                    challenge:
209                        n.challenge ||
210                        'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
211                            /[xy]/g,
212                            function (t) {
213                                var e = (16 * r.random()) | 0
214                                return ('x' === t ? e : (3 & e) | 8).toString(
215                                    16
216                                )
217                            }
218                        ),
219                    client_type: i ? 'h5' : 'web',
220                    risk_type: n.riskType,
221                    user_info: n.userInfo,
222                    call_type: n.callType,
223                    lang: n.language
224                        ? n.language
225                        : 'Netscape' === navigator.appName
226                        ? navigator.language.toLowerCase()
227                        : navigator.userLanguage.toLowerCase()
228                },
229                function (t) {
230                    if (t && 'function' == typeof n.offlineCb) {
231                        n.offlineCb()
232                        return
233                    }
234                    t && a(n._get_fallback_config())
235                },
236                c
237            )
238        },
239        x = function (t, e, r) {
240            if ('function' == typeof e.onError)
241                e.onError({ desc: r.desc, msg: r.msg, code: r.code })
242            else
243                throw Error({ networkError: '', gtTypeError: 'gt?????????' }[t])
244        }
245    ;(t.Geetest || e.getElementById('gt_lib')) && (l.slide = 'loaded')
246    var $ = function (t) {
247        var r = !1,
248            o = { js: 'script', css: 'link' }[t.split('.').pop()]
249        if (void 0 !== o) {
250            var n = e.getElementsByTagName(o)
251            for (var a in n)
252                ((n[a].href && n[a].href.toString().indexOf(t) > 0) ||
253                    (n[a].src && n[a].src.toString().indexOf(t) >
253 0)) &&
254                    (r = !0)
255        }
256        return r
257    }
258    t.initGeetest4 = function (e, r) {
259        var o,
260            c = new a(e)
261        e.https
262            ? (c.protocol = 'https://')
263            : e.protocol || (c.protocol = t.location.protocol + '//'),
264            'object' == typeof (o = e.getType) &&
265                null !== o &&
266                c._extend(e.getType),
267            y(c.apiServers, c.typePath, c, function (e) {
268                var e = p(e)
269                if ('error' === e.status) return x('networkError', c, e)
270                var o = e.type
271                c.debug && new n(e)._extend(c.debug)
272                var a = function () {
273                    c._extend(e), r(new t.Geetest4(c))
274                }
275                s[o] = s[o] || []
276                var i = l[o] || 'init'
277                if ('init' === i)
278                    (l[o] = 'loading'),
279                        s[o].push(a),
280                        e.gctPath &&
281                            h(
282                                c,
283                                c.protocol,
284                                Object.hasOwnProperty.call(c, 'staticServers')
285                                    ? c.staticServers
286                                    : e.staticServers || c.staticServers,
287                                e.gctPath,
288                                null,
289                                function (t) {
290                                    t &&
291                                        x('networkError', c, {
292                                            code: '60205',
293                                            msg: 'Network failure',
294                                            desc: {
295                                                detail: 'gct resource load timeout'
296                                            }
297                                        })
298                                }
299                            ),
300                        h(
301                            c,
302                            c.protocol,
303                            Object.hasOwnProperty.call(c, 'staticServers')
304                                ? c.staticServers
305                                : e.staticServers || c.staticServers,
306                            e.bypass || e.staticPath + e.js,
307                            null,
308                            function (t) {
309                                if (t)
310                                    (l[o] = 'fail'),
311                                        x('networkError', c, {
312                                            code: '60204',
313                                            msg: 'Network failure',
314                                            desc: {
315                                                detail: 'js resource load timeout'
316                                            }
317                                        })
318                                else {
319                                    l[o] = 'loaded'
320                                    for (
321                                        var e = s[o], r = 0, n = e.length;
322                                        r < n;
323                                        r += 1
324                                    ) {
325                                        var a,
326                                            i = e[r]
327                                        'function' == typeof (a = i) && i()
328                                    }
329                                    s[o] = []
330                                }
331                            }
332                        )
333                else {
334                    if ('loaded' === i)
335                        return (
336                            $(e.gctPath) ||
337                                h(
338                                    c,
339                                    c.protocol,
340                                    Object.hasOwnProperty.call(
341                                        c,
342                                        'staticServers'
343                                    )
344                                        ? c.staticServers
345                                        : e.staticServers || c.staticServers,
346                                    e.gctPath,
347                                    null,
348                                    function (t) {
349                                        t &&
350                                            x('networkError', c, {
351                                                code: '60205',
352                                                msg: 'Network failure',
353                                                desc: {
354                                                    detail: 'gct resource load timeout'
355                                                }
356                                            })
357                                    }
358                                ),
359                            a()
360                        )
361                    'fail' === i
362                        ? x('networkError', c, {
363                              code: '60204',
364                              msg: 'Network failure',
365                              desc: { detail: 'js resource load timeout' }
366                          })
367                        : 'loading' === i && s[o].push(a)
368                }
369            })
370    }
371})(window)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.