This commit is contained in:
Daniel 2023-06-19 21:27:53 +08:00
parent da750ccfd0
commit f37a358cd6
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
9 changed files with 91 additions and 28 deletions

View file

@ -553,7 +553,7 @@ func incPackageDownloads(repoURLHash, systemID string) {
}
repo := strings.Split(repoURLHash, "@")[0]
u := util.AliyunServer + "/apis/siyuan/bazaar/addBazaarPackageDownloadCount"
u := util.ChinaServer + "/apis/siyuan/bazaar/addBazaarPackageDownloadCount"
httpclient.NewCloudRequest30s().SetBody(
map[string]interface{}{
"systemID": systemID,

View file

@ -367,7 +367,7 @@ func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) {
SetCookies(&http.Cookie{Name: "symphony", Value: uploadToken}).
SetHeader("meta-type", metaType).
SetHeader("biz-type", bizType).
Post(util.AliyunServer + "/apis/siyuan/upload?ver=" + util.Ver)
Post(util.ChinaServer + "/apis/siyuan/upload?ver=" + util.Ver)
if nil != reqErr {
logging.LogErrorf("upload assets failed: %s", reqErr)
return ErrFailedToConnectCloudServer

54
kernel/model/cloud.go Normal file
View file

@ -0,0 +1,54 @@
// SiYuan - Build Your Eternal Digital Garden
// Copyright (c) 2020-present, b3log.org
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package model
import "github.com/siyuan-note/siyuan/kernel/util"
func getCloudServer() string {
if 0 == Conf.CloudRegion {
return util.ChinaServer
}
return util.NorthAmericaServer
}
func getCloudWebSocketServer() string {
if 0 == Conf.CloudRegion {
return util.ChinaWebSocketServer
}
return util.NorthAmericaWebSocketServer
}
func getCloudSyncServer() string {
if 0 == Conf.CloudRegion {
return util.ChinaSyncServer
}
return util.NorthAmericaSyncServer
}
func getCloudAssetsServer() string {
if 0 == Conf.CloudRegion {
return util.ChinaCloudAssetsServer
}
return util.NorthAmericaCloudAssetsServer
}
func getCloudAccountServer() string {
if 0 == Conf.CloudRegion {
return util.ChinaAccountServer
}
return util.NorthAmericaAccountServer
}

View file

@ -79,6 +79,7 @@ type AppConf struct {
Repo *conf.Repo `json:"repo"` // 数据仓库
OpenHelp bool `json:"openHelp"` // 启动后是否需要打开用户指南
ShowChangelog bool `json:"showChangelog"` // 是否显示版本更新日志
CloudRegion int `json:"cloudRegion"` // 云端区域0中国大陆1北美
}
func InitConf() {

View file

@ -83,7 +83,7 @@ func Export2Liandi(id string) (err error) {
resp, getErr := request.
SetSuccessResult(result).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Get(util.LiandiServer + "/api/v2/article/update/" + articleId)
Get(util.ChinaAccountServer + "/api/v2/article/update/" + articleId)
if nil != getErr {
logging.LogErrorf("get liandi article info failed: %s", getErr)
return getErr
@ -105,7 +105,7 @@ func Export2Liandi(id string) (err error) {
}
}
apiURL := util.LiandiServer + "/api/v2/article"
apiURL := util.ChinaAccountServer + "/api/v2/article"
if foundArticle {
apiURL += "/" + articleId
}
@ -159,7 +159,7 @@ func Export2Liandi(id string) (err error) {
}
}
msg := fmt.Sprintf(Conf.Language(181), util.LiandiServer+"/article/"+articleId)
msg := fmt.Sprintf(Conf.Language(181), util.ChinaAccountServer+"/article/"+articleId)
util.PushMsg(msg, 7000)
return
}
@ -992,7 +992,7 @@ func ExportStdMarkdown(id string) string {
cloudAssetsBase := ""
if IsSubscriber() {
cloudAssetsBase = "https://assets.b3logfile.com/siyuan/" + Conf.User.UserId + "/"
cloudAssetsBase = util.ChinaCloudAssetsServer + Conf.User.UserId + "/"
}
return exportMarkdownContent0(tree, cloudAssetsBase, false,
Conf.Export.BlockRefMode, Conf.Export.BlockEmbedMode, Conf.Export.FileAnnotationRefMode,

View file

@ -61,7 +61,7 @@ func CloudChatGPT(msg string, contextMsgs []string) (ret string, stop bool, err
SetSuccessResult(requestResult).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
SetBody(payload).
Post(util.AliyunServer + "/apis/siyuan/ai/chatGPT")
Post(util.ChinaServer + "/apis/siyuan/ai/chatGPT")
if nil != err {
logging.LogErrorf("chat gpt failed: %s", err)
err = ErrFailedToConnectCloudServer
@ -106,7 +106,7 @@ func StartFreeTrial() (err error) {
_, err = request.
SetSuccessResult(requestResult).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/user/startFreeTrial")
Post(util.ChinaServer + "/apis/siyuan/user/startFreeTrial")
if nil != err {
logging.LogErrorf("start free trial failed: %s", err)
return ErrFailedToConnectCloudServer
@ -123,7 +123,7 @@ func DeactivateUser() (err error) {
resp, err := request.
SetSuccessResult(requestResult).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/user/deactivate")
Post(util.ChinaServer + "/apis/siyuan/user/deactivate")
if nil != err {
logging.LogErrorf("deactivate user failed: %s", err)
return ErrFailedToConnectCloudServer
@ -149,7 +149,7 @@ func SetCloudBlockReminder(id, data string, timed int64) (err error) {
SetSuccessResult(requestResult).
SetBody(payload).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/calendar/setBlockReminder")
Post(util.ChinaServer + "/apis/siyuan/calendar/setBlockReminder")
if nil != err {
logging.LogErrorf("set block reminder failed: %s", err)
return ErrFailedToConnectCloudServer
@ -181,7 +181,7 @@ func LoadUploadToken() (err error) {
resp, err := request.
SetSuccessResult(requestResult).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/upload/token")
Post(util.ChinaServer + "/apis/siyuan/upload/token")
if nil != err {
logging.LogErrorf("get upload token failed: %s", err)
return ErrFailedToConnectCloudServer
@ -401,7 +401,7 @@ func RemoveCloudShorthands(ids []string) (err error) {
SetSuccessResult(&result).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
SetBody(body).
Post(util.AliyunServer + "/apis/siyuan/inbox/removeCloudShorthands")
Post(util.ChinaServer + "/apis/siyuan/inbox/removeCloudShorthands")
if nil != err {
logging.LogErrorf("remove cloud shorthands failed: %s", err)
err = ErrFailedToConnectCloudServer
@ -428,7 +428,7 @@ func GetCloudShorthand(id string) (ret map[string]interface{}, err error) {
resp, err := request.
SetSuccessResult(&result).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/inbox/getCloudShorthand?id=" + id)
Post(util.ChinaServer + "/apis/siyuan/inbox/getCloudShorthand?id=" + id)
if nil != err {
logging.LogErrorf("get cloud shorthand failed: %s", err)
err = ErrFailedToConnectCloudServer
@ -459,7 +459,7 @@ func GetCloudShorthands(page int) (result map[string]interface{}, err error) {
resp, err := request.
SetSuccessResult(&result).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/inbox/getCloudShorthands?p=" + strconv.Itoa(page))
Post(util.ChinaServer + "/apis/siyuan/inbox/getCloudShorthands?p=" + strconv.Itoa(page))
if nil != err {
logging.LogErrorf("get cloud shorthands failed: %s", err)
err = ErrFailedToConnectCloudServer
@ -496,7 +496,7 @@ func getUser(token string) (*conf.User, error) {
_, err := request.
SetSuccessResult(&result).
SetBody(map[string]string{"token": token}).
Post(util.AliyunServer + "/apis/siyuan/user")
Post(util.ChinaServer + "/apis/siyuan/user")
if nil != err {
logging.LogErrorf("get community user failed: %s", err)
return nil, errors.New(Conf.Language(18))
@ -530,7 +530,7 @@ func UseActivationcode(code string) (err error) {
SetSuccessResult(requestResult).
SetBody(map[string]string{"data": code}).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/useActivationcode")
Post(util.ChinaServer + "/apis/siyuan/useActivationcode")
if nil != err {
logging.LogErrorf("check activation code failed: %s", err)
return ErrFailedToConnectCloudServer
@ -551,7 +551,7 @@ func CheckActivationcode(code string) (retCode int, msg string) {
SetSuccessResult(requestResult).
SetBody(map[string]string{"data": code}).
SetCookies(&http.Cookie{Name: "symphony", Value: Conf.User.UserToken}).
Post(util.AliyunServer + "/apis/siyuan/checkActivationcode")
Post(util.ChinaServer + "/apis/siyuan/checkActivationcode")
if nil != err {
logging.LogErrorf("check activation code failed: %s", err)
msg = ErrFailedToConnectCloudServer.Error()
@ -570,7 +570,7 @@ func Login(userName, password, captcha string) (ret *gulu.Result, err error) {
_, err = request.
SetSuccessResult(&result).
SetBody(map[string]string{"userName": userName, "userPassword": password, "captcha": captcha}).
Post(util.AliyunServer + "/apis/siyuan/login")
Post(util.ChinaServer + "/apis/siyuan/login")
if nil != err {
logging.LogErrorf("login failed: %s", err)
return nil, errors.New(Conf.Language(18))
@ -597,7 +597,7 @@ func Login2fa(token, code string) (map[string]interface{}, error) {
SetSuccessResult(&result).
SetBody(map[string]string{"twofactorAuthCode": code}).
SetHeader("token", token).
Post(util.AliyunServer + "/apis/siyuan/login/2fa")
Post(util.ChinaServer + "/apis/siyuan/login/2fa")
if nil != err {
logging.LogErrorf("login 2fa failed: %s", err)
return nil, errors.New(Conf.Language(18))

View file

@ -573,7 +573,7 @@ func planSyncAfter(d time.Duration) {
}
func isProviderOnline(byHand bool) (ret bool) {
checkURL := util.SiYuanSyncServer
checkURL := util.ChinaSyncServer
skipTlsVerify := false
switch Conf.Sync.Provider {
case conf.ProviderSiYuan:
@ -744,7 +744,7 @@ var KernelID = gulu.Rand.String(7)
func dialSyncWebSocket() (c *websocket.Conn, err error) {
//endpoint := "ws://127.0.0.1:64388" + "/apis/siyuan/dejavu/ws"
endpoint := util.AliyunWebSocketServer + "/apis/siyuan/dejavu/ws"
endpoint := util.ChinaWebSocketServer + "/apis/siyuan/dejavu/ws"
header := http.Header{
"x-siyuan-uid": []string{Conf.User.UserId},
"x-siyuan-kernel": []string{KernelID},

View file

@ -36,12 +36,20 @@ var (
)
const (
AliyunServer = "https://siyuan-sync.b3logfile.com" // 云端服务地址,阿里云负载均衡,用于接口,数据同步文件上传、下载会走七牛云 OSS SiYuanSyncServer
AliyunWebSocketServer = "wss://siyuan-sync.b3logfile.com" // 云端服务地址,阿里云负载均衡,用于接口,数据同步文件上传、下载会走七牛云 OSS SiYuanSyncServer
SiYuanSyncServer = "https://siyuan-data.b3logfile.com/" // 云端数据同步服务地址,七牛云 OSS用于数据同步文件上传、下载
BazaarStatServer = "http://bazaar.b3logfile.com" // 集市包统计服务地址,直接对接 Bucket 没有 CDN 缓存
BazaarOSSServer = "https://oss.b3logfile.com" // 云端对象存储地址,七牛云,仅用于读取集市包
LiandiServer = "https://ld246.com" // 链滴服务地址,用于分享发布帖子
ChinaServer = "https://siyuan-sync.b3logfile.com" // 中国大陆云端服务地址,阿里云负载均衡,用于接口,数据同步文件上传、下载会走七牛云 OSS ChinaSyncServer
ChinaWebSocketServer = "wss://siyuan-sync.b3logfile.com" // 中国大陆云端服务地址,阿里云负载均衡,用于接口,数据同步文件上传、下载会走七牛云 OSS ChinaSyncServer
ChinaSyncServer = "https://siyuan-data.b3logfile.com/" // 中国大陆云端数据同步服务地址,七牛云 OSS用于数据同步文件上传、下载
ChinaCloudAssetsServer = "https://assets.b3logfile.com/siyuan/" // 中国大陆云端图床服务地址,用于导出预览模式下订阅会员渲染图床
ChinaAccountServer = "https://ld246.com" // 中国大陆链滴服务地址,用于账号登录、分享发布帖子
NorthAmericaServer = "https://siyuan-cloud.liuyun.io" // 北美云端服务地址Cloudflare
NorthAmericaWebSocketServer = "wss://siyuan-cloud.liuyun.io" // 北美云端服务地址Cloudflare用于接口数据同步文件上传、下载会走七牛云 OSS ChinaSyncServer
NorthAmericaSyncServer = "https://siyuan-data.liuyun.io/" // 北美云端数据同步服务地址,七牛云 OSS用于数据同步文件上传、下载
NorthAmericaCloudAssetsServer = "https://assets.liuyun.io/siyuan/" // 北美云端图床服务地址,用于导出预览模式下订阅会员渲染图床
NorthAmericaAccountServer = "https://liuyun.io" // 流云服务地址,用于账号登录、分享发布帖子
BazaarStatServer = "http://bazaar.b3logfile.com" // 集市包统计服务地址,直接对接 Bucket 没有 CDN
BazaarOSSServer = "https://oss.b3logfile.com" // 云端对象存储地址,七牛云,仅用于读取集市包,全球 CDN
)
func ShortPathForBootingDisplay(p string) string {

View file

@ -38,7 +38,7 @@ func GetRhyResult(force bool) (map[string]interface{}, error) {
}
request := httpclient.NewCloudRequest30s()
_, err := request.SetSuccessResult(&cachedRhyResult).Get(AliyunServer + "/apis/siyuan/version?ver=" + Ver)
_, err := request.SetSuccessResult(&cachedRhyResult).Get(ChinaServer + "/apis/siyuan/version?ver=" + Ver)
if nil != err {
logging.LogErrorf("get version info failed: %s", err)
return nil, err