diff --git a/base/nfs/dir.go b/base/nfs/dir.go index 01112896..bd85cdf7 100644 --- a/base/nfs/dir.go +++ b/base/nfs/dir.go @@ -140,14 +140,25 @@ const ( VAR = "var/" USR = "usr/" - SRC_TEMPLATE = ice.SRC_TEMPLATE - USR_ICEBERGS = ice.USR_ICEBERGS - USR_PUBLISH = ice.USR_PUBLISH - USR_PORTAL = ice.USR_PORTAL - USR_LOCAL = ice.USR_LOCAL - USR_LOCAL_WORK = ice.USR_LOCAL_WORK - USR_PACKAGE = "usr/package.json" - USR_MODULES = "usr/node_modules/" + ETC_LOCAL_SH = "etc/local.sh" + SRC_DOCUMENT = "src/document/" + SRC_TEMPLATE = ice.SRC_TEMPLATE + USR_ICEBERGS = ice.USR_ICEBERGS + USR_PUBLISH = ice.USR_PUBLISH + USR_PORTAL = ice.USR_PORTAL + USR_LOCAL = ice.USR_LOCAL + USR_LOCAL_WORK = ice.USR_LOCAL_WORK + USR_LOCAL_IMAGE = "usr/local/image/" + USR_LEARNING_PORTAL = "usr/learning/portal/" + USR_MODULES = "usr/node_modules/" + USR_PACKAGE = "usr/package.json" + + USR_ICONS_AVATAR = "usr/icons/avatar.jpg" + USR_ICONS_CONTEXTS = "usr/icons/contexts.jpg" + USR_ICONS_ICEBERGS = "usr/icons/icebergs.png" + USR_ICONS_VOLCANOS = "usr/icons/volcanos.png" + USR_ICONS = "usr/icons/" + REQUIRE_MODULES = "/require/modules/" REQUIRE_USR = "/require/usr/" REQUIRE_SRC = "/require/src/" @@ -158,15 +169,6 @@ const ( PATHNAME = "pathname" FILENAME = "filename" - SRC_DOCUMENT = "src/document/" - USR_LEARNING_PORTAL = "usr/learning/portal/" - USR_ICONS_AVATAR = "usr/icons/avatar.jpg" - USR_ICONS_CONTEXTS = "usr/icons/contexts.jpg" - USR_ICONS_ICEBERGS = "usr/icons/icebergs.png" - USR_ICONS_VOLCANOS = "usr/icons/volcanos.png" - USR_ICONS = "usr/icons/" - USR_LOCAL_IMAGE = "usr/local/image/" - TYPE_ALL = "all" TYPE_BIN = "bin" TYPE_CAT = "cat" diff --git a/base/web/serve.go b/base/web/serve.go index 3ad9aade..9765a555 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -212,6 +212,7 @@ const ( SERVE_START = "serve.start" PROXY_CONF = "proxyConf" PROXY_PATH = "usr/local/daemon/10000/" + PROXY_CMDS = "./sbin/nginx" ) const SERVE = "serve" @@ -230,7 +231,7 @@ func init() { cli.SYSTEM: {Help: "系统", Hand: func(m *ice.Message, arg ...string) { cli.Opens(m, "System Settings.app") }}, cli.START: {Name: "start dev proto host port=9020 nodename username usernick", Hand: func(m *ice.Message, arg ...string) { if runtime.GOOS == cli.LINUX { - m.Cmd(nfs.SAVE, "etc/local.sh", m.Spawn(ice.Maps{"pwd": kit.Path(""), "user": kit.UserName(), "args": kit.JoinCmds(arg...)}).Template("local.sh")+lex.NL) + m.Cmd(nfs.SAVE, nfs.ETC_LOCAL_SH, m.Spawn(ice.Maps{cli.PWD: kit.Path(""), aaa.USER: kit.UserName(), ctx.ARGS: kit.JoinCmds(arg...)}).Template("local.sh")+lex.NL) } _serve_start(m) }}, @@ -248,6 +249,9 @@ func init() { }) if runtime.GOOS == cli.LINUX { m.Cmd("", PROXY_CONF, ice.Info.NodeName) + if dir := m.OptionDefault(nfs.PATH, PROXY_PATH); nfs.Exists(m, dir) { + m.Cmd(cli.SYSTEM, "sudo", PROXY_CMDS, "-s", "reload", kit.Dict(cli.CMD_DIR, dir)) + } } }}, PROXY_CONF: {Name: "proxyConf name* port path", Hand: func(m *ice.Message, arg ...string) { diff --git a/misc/ssh/relay/relay.go b/misc/ssh/relay/relay.go index 7712e9b4..2dbc3ff7 100644 --- a/misc/ssh/relay/relay.go +++ b/misc/ssh/relay/relay.go @@ -76,8 +76,7 @@ type relay struct { } func (s relay) Init(m *ice.Message, arg ...string) { - s.Hash.Init(m).TransInput( - MACHINE, "机器", + s.Hash.Init(m).TransInput(MACHINE, "机器", PACKAGE, "软件包", SHELL, "命令行", KERNEL, "内核", ARCH, "架构", VCPU, "虚拟核", NCPU, "处理器", MHZ, "频率", MEM, "内存", DISK, "磁盘", NETWORK, "流量", LISTEN, "服务", SOCKET, "连接", PROC, "进程", ice.DEV, "上位机", tcp.NODENAME, "节点名", @@ -100,8 +99,7 @@ func (s relay) Inputs(m *ice.Message, arg ...string) { case cli.PARAM: m.Push(arg[0], `forever start`) case ice.DEV: - s.Hash.List(m).CutTo(web.LINK, arg[0]) - m.Push(arg[0], "http://localhost:9020") + s.Hash.List(m).CutTo(web.LINK, arg[0]).Push(arg[0], "http://localhost:9020") case web.PORTAL: kit.If(m.Option(tcp.LISTEN), func(p string) { m.Push(arg[0], kit.Split(p)) }) m.Push(arg[0], tcp.PORT_443, tcp.PORT_80, tcp.PORT_9020, "9030", "9040", "9050") @@ -278,15 +276,13 @@ func (s relay) AdminCmd(m *ice.Message, arg ...string) { s.shell(m, "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM))+"; "+s.admin(m, m.Option(ice.CMD)), arg...) } func (s relay) Xterm(m *ice.Message, arg ...string) { - m.ProcessXterm(kit.JoinWord(m.Option(MACHINE), - ice.INIT, kit.Format("%q", "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM))), - ), arg...) + m.ProcessXterm(kit.JoinWord(m.Option(MACHINE), ice.INIT, kit.Format("%q", "cd "+kit.Select(ice.CONTEXTS, m.Option(web.DREAM)))), arg...) } func (s relay) Login(m *ice.Message, arg ...string) { if m.Options(s.Hash.List(m.Spawn(), m.Option(MACHINE)).AppendSimple()); m.Option(ice.BACK) == "" { defer m.ToastProcess()() ssh.CombinedOutput(m.Message, s.admins(m, kit.JoinCmds(web.HEADER, mdb.CREATE, - "--", mdb.TYPE, "oauth", mdb.NAME, m.CommandKey(), mdb.ICONS, "usr/icons/ssh.png", mdb.ORDER, "100", + "--", mdb.TYPE, "oauth", mdb.NAME, m.CommandKey(), mdb.ICONS, html.ICONS_SSH, mdb.ORDER, "100", web.LINK, m.MergePodCmd("", "", ctx.ACTION, m.ActionKey(), MACHINE, m.Option(MACHINE)), )), func(res string) { m.ProcessHold() }) m.ProcessOpen(kit.MergeURL2(m.Option(mdb.LINK), web.C(web.HEADER))) @@ -306,7 +302,7 @@ func (s relay) Dream(m *ice.Message, arg ...string) { s.iframe(m, "", arg...) func (s relay) Desktop(m *ice.Message, arg ...string) { s.iframe(m, "", arg...) } func (s relay) Portal(m *ice.Message, arg ...string) { s.iframe(m, "", arg...) } -func init() { ice.Cmd("ssh.relay", relay{}) } +func init() { ice.Cmd(SSH_RELAY, relay{}) } func (s relay) iframe(m *ice.Message, cmd string, arg ...string) { p := kit.MergeURL2(m.Option(web.LINK), web.C(kit.Select(m.ActionKey(), cmd)))