+6
-4
@@ -24,8 +24,9 @@ type AppConfigs struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Settings struct {
|
type Settings struct {
|
||||||
ListenPort string `json:"listen_port"`
|
ListenPort string `json:"listen_port"`
|
||||||
SifCdnServer string `json:"sif_cdn_server"`
|
CdnServer string `json:"cdn_server"`
|
||||||
|
BackupCdnServer string `json:"backup_cdn_server"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type UserPrefs struct {
|
type UserPrefs struct {
|
||||||
@@ -48,8 +49,9 @@ func DefaultConfigs() *AppConfigs {
|
|||||||
return &AppConfigs{
|
return &AppConfigs{
|
||||||
AppName: "honoka-chan",
|
AppName: "honoka-chan",
|
||||||
Settings: Settings{
|
Settings: Settings{
|
||||||
ListenPort: "80",
|
ListenPort: "8080",
|
||||||
SifCdnServer: "http://192.168.1.123/static",
|
CdnServer: "http://192.168.1.123/static",
|
||||||
|
BackupCdnServer: "http://192.168.1.123/static",
|
||||||
},
|
},
|
||||||
UserPrefs: UserPrefs{
|
UserPrefs: UserPrefs{
|
||||||
Name: "梦路 @bilibili",
|
Name: "梦路 @bilibili",
|
||||||
|
|||||||
@@ -31,22 +31,21 @@ func DownloadAdditional(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pkgList := []model.AdditionalRes{}
|
pkgList := []model.AdditionalRes{}
|
||||||
if SifCdnServer != "" {
|
pkgType, pkgId := downloadReq.PackageType, downloadReq.PackageID
|
||||||
pkgType, pkgId := downloadReq.PackageType, downloadReq.PackageID
|
var pkgInfo []PkgInfo
|
||||||
var pkgInfo []PkgInfo
|
err = ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_id = ? AND pkg_os = ?", pkgType, pkgId, downloadReq.TargetOs).
|
||||||
err := ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_id = ? AND pkg_os = ?", pkgType, pkgId, downloadReq.TargetOs).
|
Cols("pkg_id,pkg_order,pkg_size").
|
||||||
Cols("pkg_id,pkg_order,pkg_size").
|
OrderBy("pkg_id ASC, pkg_order ASC").Find(&pkgInfo)
|
||||||
OrderBy("pkg_id ASC, pkg_order ASC").Find(&pkgInfo)
|
if ss.CheckErr(err) {
|
||||||
if ss.CheckErr(err) {
|
return
|
||||||
return
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for _, pkg := range pkgInfo {
|
for _, pkg := range pkgInfo {
|
||||||
pkgList = append(pkgList, model.AdditionalRes{
|
pkgList = append(pkgList, model.AdditionalRes{
|
||||||
Size: pkg.Size,
|
Size: pkg.Size,
|
||||||
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip", SifCdnServer, downloadReq.TargetOs, pkgType, pkg.Id, pkg.Order),
|
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip",
|
||||||
})
|
config.Conf.Settings.CdnServer, downloadReq.TargetOs, pkgType, pkg.Id, pkg.Order),
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
addResp := model.AdditionalResp{
|
addResp := model.AdditionalResp{
|
||||||
@@ -69,7 +68,7 @@ func DownloadBatch(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pkgList := []model.BatchRes{}
|
pkgList := []model.BatchRes{}
|
||||||
if downloadReq.ClientVersion == config.PackageVersion && SifCdnServer != "" {
|
if downloadReq.ClientVersion == config.PackageVersion {
|
||||||
pkgType := downloadReq.PackageType
|
pkgType := downloadReq.PackageType
|
||||||
var pkgInfo []PkgInfo
|
var pkgInfo []PkgInfo
|
||||||
err := ss.MainEng.Table("download_m").Where(builder.NotIn("pkg_id", downloadReq.ExcludedPackageIds)).Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.Os).
|
err := ss.MainEng.Table("download_m").Where(builder.NotIn("pkg_id", downloadReq.ExcludedPackageIds)).Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.Os).
|
||||||
@@ -82,7 +81,8 @@ func DownloadBatch(ctx *gin.Context) {
|
|||||||
for _, pkg := range pkgInfo {
|
for _, pkg := range pkgInfo {
|
||||||
pkgList = append(pkgList, model.BatchRes{
|
pkgList = append(pkgList, model.BatchRes{
|
||||||
Size: pkg.Size,
|
Size: pkg.Size,
|
||||||
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip", SifCdnServer, downloadReq.Os, pkgType, pkg.Id, pkg.Order),
|
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip",
|
||||||
|
config.Conf.Settings.CdnServer, downloadReq.Os, pkgType, pkg.Id, pkg.Order),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,7 +107,7 @@ func DownloadUpdate(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pkgList := []model.UpdateRes{}
|
pkgList := []model.UpdateRes{}
|
||||||
if downloadReq.ExternalVersion != config.PackageVersion && SifCdnServer != "" {
|
if downloadReq.ExternalVersion != config.PackageVersion {
|
||||||
pkgType := 99
|
pkgType := 99
|
||||||
var pkgInfo []PkgInfo
|
var pkgInfo []PkgInfo
|
||||||
err := ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.TargetOs).
|
err := ss.MainEng.Table("download_m").Where("pkg_type = ? AND pkg_os = ?", pkgType, downloadReq.TargetOs).
|
||||||
@@ -119,13 +119,15 @@ func DownloadUpdate(ctx *gin.Context) {
|
|||||||
|
|
||||||
for _, pkg := range pkgInfo {
|
for _, pkg := range pkgInfo {
|
||||||
pkgList = append(pkgList, model.UpdateRes{
|
pkgList = append(pkgList, model.UpdateRes{
|
||||||
Size: pkg.Size,
|
Size: pkg.Size,
|
||||||
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip", SifCdnServer, downloadReq.TargetOs, pkgType, pkg.Id, pkg.Order),
|
URL: fmt.Sprintf("%s/%s/archives/%d_%d_%d.zip",
|
||||||
|
config.Conf.Settings.CdnServer, downloadReq.TargetOs, pkgType, pkg.Id, pkg.Order),
|
||||||
Version: config.PackageVersion,
|
Version: config.PackageVersion,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
patchFileUrl := fmt.Sprintf("%s/%s/archives/99_0_115.zip", SifCdnServer, downloadReq.TargetOs)
|
patchFileUrl := fmt.Sprintf("%s/%s/archives/99_0_115.zip",
|
||||||
|
config.Conf.Settings.CdnServer, downloadReq.TargetOs)
|
||||||
resp, err := http.Get(patchFileUrl)
|
resp, err := http.Get(patchFileUrl)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
res, err := io.ReadAll(resp.Body)
|
res, err := io.ReadAll(resp.Body)
|
||||||
@@ -150,8 +152,6 @@ func DownloadUpdate(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DownloadUrl(ctx *gin.Context) {
|
func DownloadUrl(ctx *gin.Context) {
|
||||||
// Extract SQL: SELECT CAST(pkg_type AS TEXT) || '_' || CAST(pkg_id AS TEXT) || '_' || CAST(pkg_order AS TEXT) || '.zip' AS zip_name FROM download_m ORDER BY pkg_type ASC,pkg_id ASC, pkg_order ASC;
|
|
||||||
// Extract Cmd: cat list.txt | while read line; do; unzip -o $line; done
|
|
||||||
ss := session.New(ctx)
|
ss := session.New(ctx)
|
||||||
defer ss.Finalize()
|
defer ss.Finalize()
|
||||||
|
|
||||||
@@ -163,7 +163,8 @@ func DownloadUrl(ctx *gin.Context) {
|
|||||||
|
|
||||||
urlList := []string{}
|
urlList := []string{}
|
||||||
for _, v := range downloadReq.PathList {
|
for _, v := range downloadReq.PathList {
|
||||||
urlList = append(urlList, fmt.Sprintf("%s/%s/extracted/%s", SifCdnServer, downloadReq.Os, strings.ReplaceAll(v, "\\", "")))
|
urlList = append(urlList, fmt.Sprintf("%s/%s/extracted/%s",
|
||||||
|
config.Conf.Settings.BackupCdnServer, downloadReq.Os, strings.ReplaceAll(v, "\\", "")))
|
||||||
}
|
}
|
||||||
urlResp := model.UrlResp{
|
urlResp := model.UrlResp{
|
||||||
ResponseData: model.UrlRes{
|
ResponseData: model.UrlRes{
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
package handler
|
package handler
|
||||||
|
|
||||||
import (
|
|
||||||
"honoka-chan/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
SifCdnServer string
|
ErrorMsg = `{"code":20001,"message":""}`
|
||||||
ErrorMsg = `{"code":20001,"message":""}`
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
|
||||||
SifCdnServer = config.Conf.Settings.SifCdnServer
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user