mirror of
https://shylinux.com/x/icebergs
synced 2025-04-28 18:22:02 +08:00
opt some
This commit is contained in:
parent
bd5c98ceca
commit
3bd1ab44e5
@ -72,13 +72,15 @@ func _dream_show(m *ice.Message, name string) {
|
|||||||
|
|
||||||
if m.Richs(SPACE, nil, name, nil) == nil {
|
if m.Richs(SPACE, nil, name, nil) == nil {
|
||||||
m.Option(cli.CMD_DIR, p)
|
m.Option(cli.CMD_DIR, p)
|
||||||
// m.Conf(cli.RUNTIME, "conf.ctx_dev"),
|
|
||||||
m.Optionv(cli.CMD_ENV, kit.Simple(
|
m.Optionv(cli.CMD_ENV, kit.Simple(
|
||||||
"ctx_dev", strings.Split(m.Option(ice.MSG_USERWEB), "?")[0],
|
// "ctx_dev", m.Conf(cli.RUNTIME, "conf.ctx_dev"),
|
||||||
|
"ctx_dev", "http://:"+m.Cmd(SERVE).Append(tcp.PORT),
|
||||||
"PATH", kit.Path(path.Join(p, "bin"))+":"+kit.Path("bin")+":"+os.Getenv("PATH"),
|
"PATH", kit.Path(path.Join(p, "bin"))+":"+kit.Path("bin")+":"+os.Getenv("PATH"),
|
||||||
"USER", ice.Info.UserName, m.Confv(DREAM, "meta.env"),
|
"USER", ice.Info.UserName, m.Confv(DREAM, "meta.env"),
|
||||||
))
|
))
|
||||||
// 启动任务
|
// 启动任务
|
||||||
|
kit.Path(os.Args[0])
|
||||||
|
|
||||||
m.Optionv(cli.CMD_STDERR, path.Join(p, m.Conf(DREAM, "meta.env.ctx_log")))
|
m.Optionv(cli.CMD_STDERR, path.Join(p, m.Conf(DREAM, "meta.env.ctx_log")))
|
||||||
m.Cmd(cli.DAEMON, m.Confv(DREAM, "meta.cmd"), SPIDE_DEV, SPIDE_DEV, kit.MDB_NAME, name)
|
m.Cmd(cli.DAEMON, m.Confv(DREAM, "meta.cmd"), SPIDE_DEV, SPIDE_DEV, kit.MDB_NAME, name)
|
||||||
m.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
m.Event(DREAM_CREATE, kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, name)
|
||||||
|
@ -59,6 +59,9 @@ func _serve_main(m *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
|||||||
if r.Method == "GET" && r.URL.Path == "/" {
|
if r.Method == "GET" && r.URL.Path == "/" {
|
||||||
msg := m.Spawn()
|
msg := m.Spawn()
|
||||||
if msg.W, msg.R = w, r; strings.Contains(r.Header.Get("User-Agent"), "curl") {
|
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, kit.Path(m.Conf(SERVE, "meta.intshell.path"), m.Conf(SERVE, "meta.intshell.index")))
|
||||||
} else {
|
} else {
|
||||||
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
|
if ice.DumpBinPack(w, r.URL.Path, func(name string) { RenderType(w, name, "") }) {
|
||||||
|
@ -45,7 +45,7 @@ func _pack_dir(m *ice.Message, pack *os.File, dir string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
pack.WriteString(fmt.Sprintf(" \"/%s\": %s,\n",
|
pack.WriteString(fmt.Sprintf(" \"%s\": %s,\n",
|
||||||
path.Join(dir, value[kit.MDB_PATH]), _pack_file(m, path.Join(dir, value[kit.MDB_PATH]))))
|
path.Join(dir, value[kit.MDB_PATH]), _pack_file(m, path.Join(dir, value[kit.MDB_PATH]))))
|
||||||
})
|
})
|
||||||
pack.WriteString("\n")
|
pack.WriteString("\n")
|
||||||
@ -100,7 +100,7 @@ func init() {
|
|||||||
_pack_dir(m, pack, "usr/learning")
|
_pack_dir(m, pack, "usr/learning")
|
||||||
// _pack_dir(m, pack, "usr/icebergs")
|
// _pack_dir(m, pack, "usr/icebergs")
|
||||||
// _pack_dir(m, pack, "usr/toolkits")
|
// _pack_dir(m, pack, "usr/toolkits")
|
||||||
// _pack_dir(m, pack, "usr/intshell")
|
_pack_dir(m, pack, "usr/intshell")
|
||||||
// _pack_contexts(m, pack)
|
// _pack_contexts(m, pack)
|
||||||
|
|
||||||
_pack_write(pack, ` }`)
|
_pack_write(pack, ` }`)
|
||||||
|
@ -10,6 +10,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -23,6 +24,9 @@ func _publish_file(m *ice.Message, file string, arg ...string) string {
|
|||||||
defer func() { os.Remove(p) }()
|
defer func() { os.Remove(p) }()
|
||||||
file = p
|
file = p
|
||||||
}
|
}
|
||||||
|
if strings.HasSuffix(file, "ice.bin") {
|
||||||
|
arg = append(arg, kit.Keys("ice", runtime.GOOS, runtime.GOARCH))
|
||||||
|
}
|
||||||
|
|
||||||
// 发布文件
|
// 发布文件
|
||||||
target := path.Join(m.Conf(PUBLISH, kit.META_PATH), kit.Select(path.Base(file), arg, 0))
|
target := path.Join(m.Conf(PUBLISH, kit.META_PATH), kit.Select(path.Base(file), arg, 0))
|
||||||
@ -36,15 +40,47 @@ func init() {
|
|||||||
Index.Merge(&ice.Context{
|
Index.Merge(&ice.Context{
|
||||||
Configs: map[string]*ice.Config{
|
Configs: map[string]*ice.Config{
|
||||||
PUBLISH: {Name: PUBLISH, Help: "发布", Value: kit.Data(
|
PUBLISH: {Name: PUBLISH, Help: "发布", Value: kit.Data(
|
||||||
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_PATH, "usr/publish",
|
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_PATH, "usr/publish", "contexts", _contexts,
|
||||||
"contexts", _contexts,
|
|
||||||
)},
|
)},
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
PUBLISH: {Name: "publish path auto create ish ice can", Help: "发布", Action: map[string]*ice.Action{
|
PUBLISH: {Name: "publish path auto create can ice ish", Help: "发布", Action: map[string]*ice.Action{
|
||||||
mdb.CREATE: {Name: "create file", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
mdb.CREATE: {Name: "create file", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_publish_file(m, m.Option(kit.MDB_FILE))
|
_publish_file(m, m.Option(kit.MDB_FILE))
|
||||||
}},
|
}},
|
||||||
|
"can": {Name: "can", Help: "火山架", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
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") }()
|
||||||
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, "bin/ice.sh")
|
||||||
|
m.Cmd(PUBLISH, mdb.CREATE, kit.MDB_FILE, "bin/ice.bin")
|
||||||
|
|
||||||
|
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
|
ls := strings.Split(strings.TrimSpace(m.Cmd(cli.SYSTEM, "bash", "-c", "ls |xargs file |grep executable").Append(cli.CMD_OUT)), "\n")
|
||||||
|
for _, ls := range ls {
|
||||||
|
if file := strings.TrimSpace(strings.Split(ls, ":")[0]); file != "" {
|
||||||
|
if s, e := os.Stat(path.Join(p, file)); e == nil {
|
||||||
|
m.Push(kit.MDB_TIME, s.ModTime())
|
||||||
|
m.Push(kit.MDB_SIZE, kit.FmtSize(s.Size()))
|
||||||
|
m.Push(kit.MDB_FILE, file)
|
||||||
|
m.PushDownload(file, path.Join(p, file))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.SortTimeR(kit.MDB_TIME)
|
||||||
|
}},
|
||||||
|
"ish": {Name: "ish", Help: "神农架", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
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) {
|
"contexts": {Name: "contexts", Help: "环境", Hand: func(m *ice.Message, arg ...string) {
|
||||||
u := kit.ParseURL(m.Option(ice.MSG_USERWEB))
|
u := kit.ParseURL(m.Option(ice.MSG_USERWEB))
|
||||||
m.Option("httphost", fmt.Sprintf("%s://%s:%s", u.Scheme, strings.Split(u.Host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(u.Host, ":"), 1)))
|
m.Option("httphost", fmt.Sprintf("%s://%s:%s", u.Scheme, strings.Split(u.Host, ":")[0], kit.Select(kit.Select("80", "443", u.Scheme == "https"), strings.Split(u.Host, ":"), 1)))
|
||||||
@ -63,44 +99,14 @@ func init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
"ish": {Name: "ish", Help: "神农架", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
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")
|
|
||||||
}},
|
|
||||||
"ice": {Name: "ice", Help: "冰山架", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
|
||||||
ls := strings.Split(m.Cmdx(cli.SYSTEM, "bash", "-c", "ls |xargs file |grep executable"), "\n")
|
|
||||||
for _, ls := range ls {
|
|
||||||
if file := strings.TrimSpace(strings.Split(ls, ":")[0]); file != "" {
|
|
||||||
if s, e := os.Stat(path.Join(p, file)); m.Assert(e) {
|
|
||||||
m.Push(kit.MDB_TIME, s.ModTime())
|
|
||||||
m.Push(kit.MDB_SIZE, kit.FmtSize(s.Size()))
|
|
||||||
m.Push(kit.MDB_FILE, file)
|
|
||||||
m.PushDownload(file, path.Join(p, file))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m.SortTimeR(kit.MDB_TIME)
|
|
||||||
m.Cmdy(PUBLISH, "contexts", "base")
|
|
||||||
m.PushAction(mdb.REMOVE)
|
|
||||||
}},
|
|
||||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||||
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
p := m.Option(cli.CMD_DIR, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
os.Remove(path.Join(p, m.Option(kit.MDB_FILE)))
|
os.Remove(path.Join(p, m.Option(kit.MDB_PATH)))
|
||||||
}},
|
|
||||||
"can": {Name: "can", Help: "火山架", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
m.Option(nfs.DIR_DEEP, true)
|
|
||||||
m.Option(nfs.DIR_REG, ".*\\.(js|css|html)$")
|
|
||||||
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")
|
|
||||||
}},
|
}},
|
||||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
m.Option(nfs.DIR_ROOT, m.Conf(PUBLISH, kit.META_PATH))
|
||||||
m.Cmdy(nfs.DIR, kit.Select("", arg, 0), "time size path link")
|
m.Cmdy(nfs.DIR, kit.Select("", arg, 0), "time size path link")
|
||||||
|
m.PushAction(mdb.REMOVE)
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user