api

package
v0.0.0-...-c3468d8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ChatGPTApiPrefix    = "/chatgpt"
	ImitateApiPrefix    = "/imitate/v1"
	ChatGPTApiUrlPrefix = "https://chatgpt.com"

	PlatformApiPrefix    = "/platform"
	PlatformApiUrlPrefix = "https://api.openai.com"

	AuthorizationHeader                = "Authorization"
	XAuthorizationHeader               = "X-Authorization"
	ArkoseTokenHeader                  = "Openai-Sentinel-Arkose-Token"
	ContentType                        = "application/x-www-form-urlencoded"
	DefaultUserAgent                   = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"
	Auth0Url                           = "https://auth0.openai.com"
	LoginUsernameUrl                   = Auth0Url + "/u/login/identifier?state="
	LoginPasswordUrl                   = Auth0Url + "/u/login/password?state="
	ParseUserInfoErrorMessage          = "failed to parse user login info"
	GetAuthorizedUrlErrorMessage       = "failed to get authorized url"
	EmailInvalidErrorMessage           = "email is not valid"
	EmailOrPasswordInvalidErrorMessage = "email or password is not correct"
	GetAccessTokenErrorMessage         = "failed to get access token"

	EmailKey                       = "email"
	AccountDeactivatedErrorMessage = "account %s is deactivated"

	ReadyHint = "service go-chatgpt-api is ready"

	Language = "en-US"

	ClientProfileMessage = "ClientProfile: %s is used"
)

Variables

View Source
var (
	Client              tls_client.HttpClient
	ArkoseClient        tls_client.HttpClient
	PUID                string
	OAIDID              string
	ProxyUrl            string
	IMITATE_accessToken string
	ClientProfile       profiles.ClientProfile
	UserAgent           string
	StartTime           = time.Now()
)

Functions

func GetAccessToken

func GetAccessToken(c *gin.Context) string

func GetArkoseToken

func GetArkoseToken(api_version int, dx string) (string, error)

func GetPUID

func GetPUID(accessToken string) string

func NewHttpClient

func NewHttpClient() tls_client.HttpClient

func Proxy

func Proxy(c *gin.Context)

func RefreshAccessToken

func RefreshAccessToken(refreshToken string) string

func ReturnMessage

func ReturnMessage(msg string) gin.H

Types

type AuthLogin

type AuthLogin interface {
	GetAuthorizedUrl(csrfToken string) (string, int, error)
	GetState(authorizedUrl string) (string, int, error)
	CheckUsername(state string, username string) (int, error)
	CheckPassword(state string, username string, password string) (string, int, error)
	GetAccessToken(code string) (string, int, error)
	GetAccessTokenFromHeader(c *gin.Context) (string, int, error)
}

type LoginInfo

type LoginInfo struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL