1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-03-06 14:45:10 +08:00
parent a8af5a6797
commit 661f77afc1
3 changed files with 29 additions and 27 deletions

View File

@ -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"

View File

@ -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) {

View File

@ -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)))