|
package common |
|
|
|
import ( |
|
"net/url" |
|
"os" |
|
"strings" |
|
|
|
"github.com/Harry-zklcdc/bing-lib/lib/hex" |
|
) |
|
|
|
var ( |
|
LOCAL_MODE bool |
|
PORT string |
|
|
|
IS_DEBUG_MODE bool |
|
|
|
USER_TOKEN_ENV_NAME_PREFIX = "Go_Proxy_BingAI_USER_TOKEN" |
|
USER_TOKEN_LIST []string |
|
|
|
USER_KievRPSSecAuth string |
|
USER_RwBf string |
|
USER_MUID string |
|
|
|
AUTH_KEYS []string |
|
AUTH_KEY_COOKIE_NAME = "BingAI_Auth_Key" |
|
|
|
BypassServer string |
|
BingBaseUrl string |
|
SydneyBaseUrl string |
|
|
|
User_Agent string = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0" |
|
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" |
|
|
|
T string |
|
TP []int |
|
SB bool |
|
|
|
AUTHOR = "Harry-zklcdc/go-proxy-bingai" |
|
|
|
ANNOUNCEMENT string |
|
|
|
LOG_LEVEL = "INFO" |
|
) |
|
|
|
func init() { |
|
initEnv() |
|
initUserToken() |
|
} |
|
|
|
func initEnv() { |
|
PORT = os.Getenv("PORT") |
|
if PORT == "" { |
|
PORT = "8080" |
|
} |
|
LOCAL_MODE = os.Getenv("LOCAL_MODE") != "" |
|
|
|
IS_DEBUG_MODE = os.Getenv("Go_Proxy_BingAI_Debug") != "" |
|
|
|
AUTH_KEYS = strings.Split(os.Getenv("Go_Proxy_BingAI_AUTH_KEY"), ",") |
|
|
|
USER_KievRPSSecAuth = os.Getenv("USER_KievRPSSecAuth") |
|
|
|
USER_MUID = os.Getenv("USER_MUID") |
|
|
|
USER_RwBf = os.Getenv("USER_RwBf") |
|
if USER_KievRPSSecAuth == "" { |
|
USER_KievRPSSecAuth = hex.NewHex(512) |
|
} |
|
|
|
BypassServer = os.Getenv("BYPASS_SERVER") |
|
|
|
BingBaseUrl = os.Getenv("BING_BASE_URL") |
|
SydneyBaseUrl = os.Getenv("SYDNEY_BASE_URL") |
|
if BingBaseUrl != "" { |
|
BING_URL, _ = url.Parse(BingBaseUrl) |
|
} |
|
if SydneyBaseUrl != "" { |
|
BING_SYDNEY_DOMAIN = SydneyBaseUrl |
|
BING_SYDNEY_URL, _ = url.Parse(BING_SYDNEY_DOMAIN) |
|
} |
|
|
|
ANNOUNCEMENT = os.Getenv("Go_Proxy_BingAI_INFO") |
|
|
|
LOG_LEVEL = strings.ToUpper(os.Getenv("LOG_LEVEL")) |
|
if LOG_LEVEL == "" || !IsInArray(LevelArry[:], LOG_LEVEL) { |
|
LOG_LEVEL = "INFO" |
|
} |
|
Logger = NewLogger(LOG_LEVEL) |
|
} |
|
|
|
func initUserToken() { |
|
for _, env := range os.Environ() { |
|
if strings.HasPrefix(env, USER_TOKEN_ENV_NAME_PREFIX) { |
|
parts := strings.SplitN(env, "=", 2) |
|
USER_TOKEN_LIST = append(USER_TOKEN_LIST, parts[1]) |
|
} |
|
} |
|
} |
|
|