1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-25 17:18:05 +08:00
This commit is contained in:
shaoying 2021-02-23 18:46:33 +08:00
parent 3bd1ab44e5
commit 2c13b454f9
5 changed files with 19 additions and 22 deletions

View File

@ -44,7 +44,7 @@ func Render(msg *ice.Message, cmd string, args ...interface{}) {
case ice.RENDER_DOWNLOAD: // file [type [name]]
msg.W.Header().Set("Content-Disposition", fmt.Sprintf("filename=%s", kit.Select(path.Base(arg[0]), arg, 2)))
if RenderType(msg.W, arg[0], kit.Select("", arg, 1)); !ice.DumpBinPack(msg.W, arg[0], nil) {
http.ServeFile(msg.W, msg.R, arg[0])
http.ServeFile(msg.W, msg.R, kit.Path(arg[0]))
}
case ice.RENDER_QRCODE: // text [size]

View File

@ -59,15 +59,12 @@ func _serve_main(m *ice.Message, w http.ResponseWriter, r *http.Request) bool {
if r.Method == "GET" && r.URL.Path == "/" {
msg := m.Spawn()
if msg.W, msg.R = w, r; strings.Contains(r.Header.Get("User-Agent"), "curl") {
if ice.DumpBinPack(w, "usr/intshell/index.sh", func(name string) { RenderType(w, name, "") }) {
return false
}
Render(msg, ice.RENDER_DOWNLOAD, kit.Path(m.Conf(SERVE, "meta.intshell.path"), m.Conf(SERVE, "meta.intshell.index")))
Render(msg, ice.RENDER_DOWNLOAD, path.Join(m.Conf(SERVE, "meta.intshell.path"), m.Conf(SERVE, "meta.intshell.index")))
} else {
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
return false
}
Render(msg, ice.RENDER_DOWNLOAD, kit.Path(m.Conf(SERVE, "meta.volcanos.path"), m.Conf(SERVE, "meta.volcanos.index")))
Render(msg, ice.RENDER_DOWNLOAD, path.Join(m.Conf(SERVE, "meta.volcanos.path"), m.Conf(SERVE, "meta.volcanos.index")))
}
return false
}
@ -209,7 +206,7 @@ func init() {
), "logheaders", false,
"static", kit.Dict("/", "usr/volcanos/"),
"volcanos", kit.Dict("path", "usr/volcanos", "index", "index.html",
"volcanos", kit.Dict("path", "usr/volcanos", "index", "page/index.html",
"repos", "https://github.com/shylinux/volcanos", "branch", "master",
), "publish", "usr/publish/",

View File

@ -109,12 +109,11 @@ func init() {
}
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(nfs.DIR_ROOT, path.Join(m.Conf(PUBLISH, kit.META_PATH)))
m.Option(nfs.DIR_TYPE, nfs.FILE)
m.Cmdy(nfs.DIR, BINPACK).Table(func(index int, value map[string]string, head []string) {
m.PushDownload(value[kit.MDB_PATH])
})
for k, v := range ice.BinPack {
m.Push(kit.MDB_NAME, k)
m.Push(kit.MDB_SIZE, len(v))
}
m.Sort(kit.MDB_NAME)
}},
},
})

View File

@ -49,11 +49,14 @@ func init() {
_publish_file(m, m.Option(kit.MDB_FILE))
}},
"can": {Name: "can", Help: "火山架", Hand: func(m *ice.Message, arg ...string) {
defer func() { m.Cmdy(PUBLISH, "contexts", "miss") }()
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, "etc/miss.sh")
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, "go.mod")
m.Option(nfs.DIR_DEEP, true)
m.Option(nfs.DIR_REG, `.*\.(html|css|js)$`)
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
m.Cmdy(PUBLISH, "contexts", "miss")
}},
"ice": {Name: "ice", Help: "冰山架", Hand: func(m *ice.Message, arg ...string) {
defer func() { m.Cmdy(PUBLISH, "contexts", "base") }()
@ -75,11 +78,13 @@ func init() {
m.SortTimeR(kit.MDB_TIME)
}},
"ish": {Name: "ish", Help: "神农架", Hand: func(m *ice.Message, arg ...string) {
defer func() { m.Cmdy(PUBLISH, "contexts", "tmux") }()
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, "etc/miss.sh")
m.Option(nfs.DIR_DEEP, true)
m.Option(nfs.DIR_REG, ".*\\.(sh|vim|conf)$")
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
m.Cmdy(nfs.DIR, "./", "time,size,line,path,link")
m.Cmdy(PUBLISH, "contexts", "tmux")
}},
"contexts": {Name: "contexts", Help: "环境", Hand: func(m *ice.Message, arg ...string) {
u := kit.ParseURL(m.Option(ice.MSG_USERWEB))

View File

@ -16,19 +16,15 @@ func init() {
SERVE: {Name: SERVE, Help: "服务", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,name,branch,commit",
"owner", "https://github.com/shylinux",
kit.MDB_PATH, ".ish/pluged",
)},
},
Commands: map[string]*ice.Command{
web.WEB_LOGIN: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Render(ice.RENDER_RESULT)
m.Render(ice.RENDER_VOID)
}},
"/github.com/": {Name: "github.com", Help: "github.com", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Render(ice.RENDER_VOID)
p := kit.Path(".ish/pluged")
m.Debug("what %v", p)
git := githttp.New(p)
m.Debug("what %v", p)
git.ServeHTTP(m.W, m.R)
githttp.New(kit.Path(m.Conf(SERVE, kit.META_PATH))).ServeHTTP(m.W, m.R)
}},
},
})