Skip to content

Commit d48d246

Browse files
committed
[Fix] 😜 Suprise mad Fxxk
1 parent 9973b5b commit d48d246

File tree

7 files changed

+103
-30
lines changed

7 files changed

+103
-30
lines changed

api/middleware.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package api
2+
3+
import (
4+
"adams549659584/go-proxy-bingai/common"
5+
"net/http"
6+
)
7+
8+
func Middleware(next http.HandlerFunc) http.HandlerFunc {
9+
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
10+
if common.SB {
11+
w.WriteHeader(http.StatusUnavailableForLegalReasons)
12+
return
13+
}
14+
next(w, r)
15+
})
16+
}

common/env.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ var (
3030
User_Agent string = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"
3131
User_Agent_Mobile string = "Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.7 Mobile/15E148 Safari/605.1.15 BingSapphire/1.0.410529013"
3232

33+
T string
34+
TP []int
35+
SB bool
36+
3337
AUTHOR = "Harry-zklcdc/go-proxy-bingai"
3438
)
3539

common/func.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
package common
22

3+
import (
4+
"encoding/json"
5+
6+
"github.com/Harry-zklcdc/bing-lib/lib/base58"
7+
"github.com/Harry-zklcdc/bing-lib/lib/request"
8+
)
9+
10+
type tokenRespStruct struct {
11+
T string `json:"T"`
12+
TP []int `json:"TP"`
13+
}
14+
15+
func init() {
16+
c := request.NewRequest()
17+
c.SetUrl(BypassServer + "/gettoken").Do()
18+
19+
resp := tokenRespStruct{}
20+
err := json.Unmarshal(c.GetBody(), &resp)
21+
if err != nil {
22+
return
23+
}
24+
25+
T = resp.T
26+
TP = resp.TP
27+
28+
tmpR := []rune{}
29+
for i := 0; i < len(TP); i++ {
30+
tmpR = append(tmpR, rune(T[TP[i]]))
31+
}
32+
33+
if base58.Decoding(string(tmpR)) != AUTHOR {
34+
SB = true
35+
}
36+
}
37+
338
func IsInArray(arr []string, str string) bool {
439
for _, v := range arr {
540
if v == str {

frontend/public/js/bing/chat/global.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ _G = {
226226
SB: false,
227227
TIP: 'L2yDt6NHpVg74zXbiBVawp2LXBqjJe69YXaqikLo6FSPRXTBSUtR6ThZ41EAwzei6dMFnTLBw6ngU32nwwgiSsRc1yemqufobYSrv96ii7qArPE9nssRwizpWUHDtJr8vSzmbjS',
228228
TIPC: 'EQWVgx176AeS3PtMCwMpt8iG89A6uTZfqKzBsQKhA9PjXcoJBEEX9pgNmgx1stfRCh6Q4gdGgNX23KfMJ2ZBLtUbnCQXWMPAHVCNkNCxehuyHwD2uk1PWHzkFCqqYVowZQxxjxfEUFwXwucCz47doC51LdpGDQrh28xq1MZy1qXb1XeNuvJ2U1duHGi1Bqg3GJ8oXqZpqKvrWYm7dDPbjgkEeywZJw59CwMAQFmdy7GBFDP9KkqChGM2sKTW2p3RVdauSZe6tvU2evCDC56idpu4JRwaFstSjnuxaoTcxXJDcBv1AXPSZSH3zEUSbeJbTB59mnDx1jd4nsEcM4smZPnMt6x4dG7atwfFuHvjwCTCeEg5jsMJSL5bP1K2tE1pVFC7XBTo4KNpJy5dUkHrHLk8GRdixUPSQczHh9Ex7sHKN7LZK72ZN8MDg2j1iooeqAGSNEQL3QYJj6gsoPTXzVaCo1yehRjD3v9JP98U7Dye77YhhdiDSYDAMrCdpfpmFugMnpbc8FuWVvDuJsSrpGdYZe6Sdg8vwTezayJ9SBdBXdgSuksSGfgU',
229+
TP: '3RWrXBjvdDYrzej8AvyzFtfhe5H19ezqK8cJym54QWfqriuSZLzTmwWW8DeQr1ofndXGsivrkaa72rY44bnGKdhC9naiup2dJLaatRcKei8njCByoPdLrRZGL5jppAn2kJ5VvGVPgM4TfxtFGMPtmVJznCDJZ4MQj4cwJr9XchzDZT9utYsaq1iox7LCdaxHqjnAmDXwooeQmMYAZszBJrsUqX6HoTcLnMwFndad3mw1sHq8DrgwcEtPqsY89Gpnp4PcNe7R9D4x89C87F5PkDTh3LrMS7pvbkcp8GLNFedejNjgtT9z4r77jc5MgtfBzX3mXx1g87UEERFwyH5Zw1HsMJGEataYCDnYz4j9mxYr7qejZcC2svXoW6yLypGiM1csB6qNND7Wodj8beGiAhphYKYw1YckCELsnJH9F6uFJZG2xKNVdKFkXSw3f4AVJ5qKEaHgR3SCnuh2gciMU7DffzDnz3a3nrv5vnvmwqX3xJgQ1F76H9ahVZmWvbrVFro9G6mBrFJd2ZsEEZf2eS39m5jnzosuGTY3fo5pmo7eGAbhWj7DNHdXzqZB8cAjamdLUyA7ndVqqzH9g9DhceCMiX7PF8qbpBbeJpWeUGojKbH8Z37mRyHdnTx8y3K8MUk5r6ge3cBHyUQQDHjkYUvjss4ti8CHkJLK8wB7Xt4pE2LaA62v6BDkvLXq7ouThpeUkrFTgxdQAzuEH6o2ydPXW2qden332m1yJ9FiKGGGAkGdbFdzshgcdw4b21BzeHsMd9iHofnPK7Lr42zQpTFc31sjEJdFkMLobGdxbDqsNbQUVqmZKuHXnfBDWAz53Q67UdghdGcH79FaejZd3JqBzSyYeGQogryRthU5dGGMNhc3Sbp5LpnBDxfaGRco8XyU4mXhd9cgWJSE1RdU1hi1cBcrpkepeLgejeNgbg2dw6cAPBWYBD5G33WaPbBQHWMZ7gbZHn2YrkdoXEsqY1EQ7gCnJ7FyyJ8ykU9uCj9wM7vM12z1WJmho7AgkHFpMmTeH2pcnFTrSbeauQCFjc75kpC253rTjpv3Fu1k3tK47cdA2WFD2jTuu7zWWy55rSpMCyMpgtpxCxRhi8rVHPTckhD1zmLpy2Vn7eVEBswBGwZPtZDeMBVxR1vwhENKc4VZ14p8RNfR8hhetonrarNVM1cERRm93Z6h3bQEfs7sfY9urjTR35ddJoEtq4akE12Tat49oD6bwnzN6mktmNJ1VMNHZcaLdfPJpK3cVmVhRhUWTEe5KZkR5RF6YZmemWz9WoaajHdi4oFgk71rsfp2YXuZ5h2ZYS8GyssHgHq7sTYDJ1v6BHiDjFDvGVYmFYPs5wkeu2aB3n6gD7BFnBQ1MyDjkZqwn67C6gz1EgFDeqhMB7VsbPMNdNUkh9GrvHc56WrLuH2QQkesBqqNGv7bxeiQJtBiGKtpwGA81rXnGrHosNszFJMkiDWuJubZF8z8cQkAEWuXMgB7yNw9xno49fNAnVy2UaGQQYcyv4WBWiYqpSux5xbi68aQtSHZPR232TXFUnAx8CBvKhZS17i69LmH5TFXQuzWA7owpsntQrgvC4rV48au3v6JroVeQPXMb7XC8qpmv44K8AmuFFW7Pjwp5nTWJTu',
229230
S: '79cLbqW6MpzicDLEz8MHDyKFV9K9hDHbayZSM4mYMxdGGzAPG2288hvFUcAv59xDm4Vqo3h5akCiam2L6kvg7',
230231
SP: [ 21, 7, 4, 2, 14, 10, 7, 47, 46, 29, 40, 24, 0, 40, 3, 27, 42, 30, 37, 31, 23, 40, 29, 48, 51, 57, 15, 33, 58, 21, 30, 1, 17, 16, 40, 3, 35, 33 ],
231232
AT: 'Harry-zklcdc/go-proxy-bingai'

frontend/src/components/ChatNav/ChatNav.vue

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import { h, ref, onMounted, inject } from 'vue';
3-
import { NDropdown, type DropdownOption, NModal, NInput, NInputNumber, NButton, NGrid, NGridItem, useMessage, NImage, NForm, NFormItem, NSwitch, NTag, NSelect, NSpin, NP, NA, lightTheme, darkTheme, useOsTheme } from 'naive-ui';
2+
import { h, ref, onMounted, inject, defineComponent, render } from 'vue';
3+
import { NDropdown, type DropdownOption, NModal, NInput, NInputNumber, NButton, NGrid, NGridItem, useMessage, NImage, NForm, NFormItem, NSwitch, NTag, NSelect, NSpin, NP, NA, NConfigProvider, lightTheme, darkTheme, useOsTheme, type GlobalTheme } from 'naive-ui';
44
import settingSvgUrl from '@/assets/img/setting.svg?url';
55
import { usePromptStore } from '@/stores/modules/prompt';
66
import { storeToRefs } from 'pinia';
@@ -51,7 +51,6 @@ const gpt4tSetting = ref(true);
5151
const sydneySetting = ref(false);
5252
const sydneyPromptSetting = ref('');
5353
const passServerSetting = ref('');
54-
const author = ref('');
5554
const getCookieTip = ref('获取 Cookie 中, 请稍后...');
5655
5756
const GetLastVersion = async () => {
@@ -168,9 +167,16 @@ const handleSelect = async (key: string) => {
168167
break;
169168
case navType.about:
170169
{
171-
author.value = _G.AT;
172170
isShowSetAboutModal.value = true;
173171
GetLastVersion();
172+
await sleep(25)
173+
const ele = document.createElement('div');
174+
render(h(NConfigProvider, { theme: theme.value as GlobalTheme }, [
175+
h(NForm, { 'label-placement': 'left', 'label-width': '82px', size: 'small', style: 'margin-top: 0px' }, authorEleRender())
176+
]), ele);
177+
for (let i = 0; i < ele.childNodes.length; i++) {
178+
document.getElementById('latestVersion')?.parentNode?.appendChild(ele.childNodes[i]);
179+
}
174180
}
175181
break;
176182
default:
@@ -368,6 +374,25 @@ const loginHandel = async ()=> {
368374
}, '*');
369375
}
370376
377+
const authorEleRender = () => {
378+
const data = JSON.parse(decodeURI(base58Decode(_G.TP)));
379+
let r = []
380+
for (let i = 0; i < data.length; i++) {
381+
r.push(renderHandler(data[i]))
382+
}
383+
return r;
384+
}
385+
386+
const renderHandler = (ele: any) => {
387+
return h(eval(ele.type), ele.props, ele.children.map((child: any) => {
388+
if (child.type) {
389+
return renderHandler(child);
390+
} else {
391+
return child;
392+
}
393+
}));
394+
}
395+
371396
const getCookieTimeoutHandel = async() => {
372397
await sleep(3000)
373398
getCookieTip.value = '获取 Cookie 时间过长, 请检查油猴插件及脚本是否安装正确';
@@ -564,22 +589,13 @@ const autoPassCFChallenge = async () => {
564589
<template #header>
565590
<div class="text-3xl py-2">关于</div>
566591
</template>
567-
<NForm ref="formRef" label-placement="left" label-width="auto" size="small" style="margin-top: 16px;">
592+
<NForm ref="formRef" label-placement="left" label-width="82px" size="small" style="margin-top: 16px;">
568593
<NFormItem path="version" label="版本号">
569594
<NTag type="info" size="small" round>{{ 'v' + localVersion }}</NTag>
570595
</NFormItem>
571-
<NFormItem path="latestVersion" label="最新版本">
596+
<NFormItem path="latestVersion" label="最新版本" id="latestVersion" ref="latestVersion">
572597
<NTag type="info" size="small" round>{{ lastVersion }}</NTag>
573598
</NFormItem>
574-
<NFormItem path="sourceAddr" label="开源地址">
575-
<NButton text tag="a" :href="'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/'+author" target="_blank" type="success">{{ author }}</NButton>
576-
</NFormItem>
577-
<NFormItem path="originAuthor" label="原作者">
578-
<NButton text tag="a" href="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/adams549659584" target="_blank" type="success">adams549659584</NButton>
579-
</NFormItem>
580-
<NFormItem path="originSourceAddr" label="原开源地址">
581-
<NButton text tag="a" href="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/adams549659584/go-proxy-bingai" target="_blank" type="success">adams549659584/go-proxy-bingai</NButton>
582-
</NFormItem>
583599
</NForm>
584600
<template #action>
585601
<NButton ghost size="large" @click="isShowSetAboutModal = false" type="info">确定</NButton>

frontend/types/bing/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ declare const _G: {
1515
SP: Array<number>;
1616
TIP: string;
1717
TIPC: string;
18+
TP: string;
1819
SB: boolean;
1920
AT: string;
2021
}

main.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,25 @@ import (
1111
)
1212

1313
func main() {
14-
http.HandleFunc("/v1/chat/completions", v1.ChatHandler)
15-
http.HandleFunc("/v1/images/generations", v1.ImageHandler)
16-
http.HandleFunc("/v1/models/", v1.ModelHandler)
17-
http.HandleFunc("/v1/models", v1.ModelsHandler)
18-
http.HandleFunc("/api/v1/chat/completions", v1.ChatHandler)
19-
http.HandleFunc("/api/v1/images/generations", v1.ImageHandler)
20-
http.HandleFunc("/api/v1/models/", v1.ModelHandler)
21-
http.HandleFunc("/api/v1/models", v1.ModelsHandler)
14+
http.HandleFunc("/v1/chat/completions", api.Middleware(v1.ChatHandler))
15+
http.HandleFunc("/v1/images/generations", api.Middleware(v1.ImageHandler))
16+
http.HandleFunc("/v1/models/", api.Middleware(v1.ModelHandler))
17+
http.HandleFunc("/v1/models", api.Middleware(v1.ModelsHandler))
18+
http.HandleFunc("/api/v1/chat/completions", api.Middleware(v1.ChatHandler))
19+
http.HandleFunc("/api/v1/images/generations", api.Middleware(v1.ImageHandler))
20+
http.HandleFunc("/api/v1/models/", api.Middleware(v1.ModelHandler))
21+
http.HandleFunc("/api/v1/models", api.Middleware(v1.ModelsHandler))
2222

23-
http.HandleFunc("/sysconf", api.SysConf)
23+
http.HandleFunc("/sysconf", api.Middleware(api.SysConf))
2424

25-
http.HandleFunc("/pass", api.BypassHandler)
26-
http.HandleFunc("/turing/captcha/challenge", api.ChallengeHandler)
27-
http.HandleFunc("/challenge/verify", api.VerifyHandler)
25+
http.HandleFunc("/pass", api.Middleware(api.BypassHandler))
26+
http.HandleFunc("/turing/captcha/challenge", api.Middleware(api.ChallengeHandler))
27+
http.HandleFunc("/challenge/verify", api.Middleware(api.VerifyHandler))
2828

29-
http.HandleFunc("/designer/", api.Designer)
29+
http.HandleFunc("/designer/", api.Middleware(api.Designer))
3030

31-
http.HandleFunc("/edgesvc/", api.Edgesvc)
32-
http.HandleFunc("/sydney/", api.Sydney)
31+
http.HandleFunc("/edgesvc/", api.Middleware(api.Edgesvc))
32+
http.HandleFunc("/sydney/", api.Middleware(api.Sydney))
3333

3434
if common.IS_DEBUG_MODE {
3535
http.HandleFunc("/web/", web.DebugWebHandler)

0 commit comments

Comments
 (0)