mirror of https://github.com/Xhofe/alist
✨ build
parent
d78b64ee3c
commit
1f91e26730
22
alist.go
22
alist.go
|
@ -13,10 +13,22 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init() {
|
var (
|
||||||
|
builtAt string
|
||||||
|
goVersion string
|
||||||
|
gitAuthor string
|
||||||
|
gitCommit string
|
||||||
|
gitTag string
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
flag.StringVar(&conf.ConfigFile, "conf", "config.json", "config file")
|
flag.StringVar(&conf.ConfigFile, "conf", "config.json", "config file")
|
||||||
flag.BoolVar(&conf.Debug,"debug",false,"start with debug mode")
|
flag.BoolVar(&conf.Debug, "debug", false, "start with debug mode")
|
||||||
|
flag.BoolVar(&conf.Version, "version", false, "print version info")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
}
|
||||||
|
|
||||||
|
func Init() {
|
||||||
bootstrap.InitLog()
|
bootstrap.InitLog()
|
||||||
bootstrap.InitConf()
|
bootstrap.InitConf()
|
||||||
bootstrap.InitCron()
|
bootstrap.InitCron()
|
||||||
|
@ -25,10 +37,14 @@ func Init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
if conf.Version {
|
||||||
|
log.Infof("Built At: %s\nGo Version: %s\nAuthor: %s\nCommit ID: %s\nVersion:%s", builtAt, goVersion, gitAuthor, gitCommit, gitTag)
|
||||||
|
return
|
||||||
|
}
|
||||||
Init()
|
Init()
|
||||||
app := fiber.New()
|
app := fiber.New()
|
||||||
server.InitApiRouter(app)
|
server.InitApiRouter(app)
|
||||||
app.Use("/",filesystem.New(filesystem.Config{
|
app.Use("/", filesystem.New(filesystem.Config{
|
||||||
Root: http.FS(public.Public),
|
Root: http.FS(public.Public),
|
||||||
NotFoundFile: "index.html",
|
NotFoundFile: "index.html",
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
appName="alist"
|
||||||
|
builtAt="$(date +'%F %T %z')"
|
||||||
|
goVersion=$(go version | sed 's/go version //')
|
||||||
|
gitAuthor=$(git show -s --format='format:%aN <%ae>' HEAD)
|
||||||
|
gitCommit=$(git log --pretty=format:"%h" -1)
|
||||||
|
|
||||||
|
if [ "$1" == "release" ]; then
|
||||||
|
gitTag=$(git describe --abbrev=0 --tags)
|
||||||
|
else
|
||||||
|
gitTag="beta"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ldflags="\
|
||||||
|
-w -s \
|
||||||
|
-X 'main.builtAt=$builtAt' \
|
||||||
|
-X 'main.goVersion=$goVersion' \
|
||||||
|
-X 'main.gitAuthor=$gitAuthor' \
|
||||||
|
-X 'main.gitCommit=$gitCommit' \
|
||||||
|
-X 'main.gitTag=$gitTag' \
|
||||||
|
"
|
||||||
|
|
||||||
|
cp -R ../alist-web/dist/* public
|
||||||
|
|
||||||
|
xgo -out alist -ldflags="$ldflags" .
|
||||||
|
mkdir "build"
|
||||||
|
mv alist-* build
|
||||||
|
cd build || exit
|
||||||
|
upx -9 ./*
|
||||||
|
find . -type f -print0 | xargs -0 md5sum > md5.txt
|
||||||
|
|
||||||
|
# compress file (release)
|
||||||
|
if [ "$1" == "release" ]; then
|
||||||
|
mkdir compress
|
||||||
|
mv md5.txt compress
|
||||||
|
for i in `find . -type f -name "$appName-linux-*"`
|
||||||
|
do
|
||||||
|
tar -czvf compress/"$i".tar.gz "$i"
|
||||||
|
done
|
||||||
|
for i in `find . -type f -name "$appName-darwin-*"`
|
||||||
|
do
|
||||||
|
tar -czvf compress/"$i".tar.gz "$i"
|
||||||
|
done
|
||||||
|
for i in `find . -type f -name "$appName-windows-*"`
|
||||||
|
do
|
||||||
|
zip compress/$(echo $i | sed 's/\.[^.]*$//').zip "$i"
|
||||||
|
done
|
||||||
|
fi
|
11
conf/var.go
11
conf/var.go
|
@ -11,17 +11,18 @@ var (
|
||||||
ConfigFile string // config file
|
ConfigFile string // config file
|
||||||
Conf *Config
|
Conf *Config
|
||||||
Debug bool
|
Debug bool
|
||||||
|
Version bool
|
||||||
|
|
||||||
DB *gorm.DB
|
DB *gorm.DB
|
||||||
Cache *cache.Cache
|
Cache *cache.Cache
|
||||||
Ctx = context.TODO()
|
Ctx = context.TODO()
|
||||||
Cron *cron.Cron
|
Cron *cron.Cron
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
TextTypes = []string{"txt", "go", "md"}
|
TextTypes = []string{"txt", "go", "md"}
|
||||||
OfficeTypes = []string{"doc", "docx", "xls", "xlsx", "ppt", "pptx", "pdf"}
|
OfficeTypes = []string{"doc", "docx", "xls", "xlsx", "ppt", "pptx", "pdf"}
|
||||||
VideoTypes = []string{"mp4", "mkv", "avi", "mov", "rmvb"}
|
VideoTypes = []string{"mp4", "mkv", "avi", "mov", "rmvb"}
|
||||||
AudioTypes = []string{"mp3", "flac","ogg"}
|
AudioTypes = []string{"mp3", "flac", "ogg"}
|
||||||
ImageTypes = []string{"jpg","tiff","jpeg","png","gif","bmp","svg"}
|
ImageTypes = []string{"jpg", "tiff", "jpeg", "png", "gif", "bmp", "svg"}
|
||||||
)
|
)
|
||||||
|
|
|
@ -22,9 +22,9 @@ func SaveSettings(items []SettingItem) error {
|
||||||
return conf.DB.Save(items).Error
|
return conf.DB.Save(items).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetSettingsByGroup(t int) (*[]SettingItem, error) {
|
func GetSettingsPublic() (*[]SettingItem, error) {
|
||||||
var items []SettingItem
|
var items []SettingItem
|
||||||
if err := conf.DB.Where("`group` = ?", t).Find(&items).Error; err != nil {
|
if err := conf.DB.Where("`group` <> ?", 1).Find(&items).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return &items, nil
|
return &items, nil
|
||||||
|
|
|
@ -4,7 +4,6 @@ import (
|
||||||
"github.com/Xhofe/alist/conf"
|
"github.com/Xhofe/alist/conf"
|
||||||
"github.com/Xhofe/alist/model"
|
"github.com/Xhofe/alist/model"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -27,18 +26,6 @@ func SaveSettings(ctx *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetSettingsByGroup(ctx *fiber.Ctx) error {
|
|
||||||
t, err := strconv.Atoi(ctx.Query("type"))
|
|
||||||
if err != nil {
|
|
||||||
return ErrorResp(ctx, err, 400)
|
|
||||||
}
|
|
||||||
settings, err := model.GetSettingsByGroup(t)
|
|
||||||
if err != nil {
|
|
||||||
return ErrorResp(ctx, err, 400)
|
|
||||||
}
|
|
||||||
return SuccessResp(ctx, settings)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetSettings(ctx *fiber.Ctx) error {
|
func GetSettings(ctx *fiber.Ctx) error {
|
||||||
settings, err := model.GetSettings()
|
settings, err := model.GetSettings()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -48,7 +35,7 @@ func GetSettings(ctx *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetSettingsPublic(ctx *fiber.Ctx) error {
|
func GetSettingsPublic(ctx *fiber.Ctx) error {
|
||||||
settings, err := model.GetSettingsByGroup(0)
|
settings, err := model.GetSettingsPublic()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ErrorResp(ctx, err, 400)
|
return ErrorResp(ctx, err, 400)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue