forked from x/icebergs
add some
This commit is contained in:
parent
e4102f6c60
commit
5cfe19e5b2
@ -29,6 +29,7 @@ func _dream_list(m *ice.Message, simple bool) *ice.Message {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if space, ok := list[value[mdb.NAME]]; ok {
|
if space, ok := list[value[mdb.NAME]]; ok {
|
||||||
|
value[mdb.ICONS] = space[mdb.ICONS]
|
||||||
m.Push("", value, kit.Slice(head, 0, -1))
|
m.Push("", value, kit.Slice(head, 0, -1))
|
||||||
if m.IsCliUA() || simple {
|
if m.IsCliUA() || simple {
|
||||||
m.Push(mdb.TYPE, space[mdb.TYPE]).Push(cli.STATUS, cli.START)
|
m.Push(mdb.TYPE, space[mdb.TYPE]).Push(cli.STATUS, cli.START)
|
||||||
@ -95,15 +96,14 @@ func _dream_list_icon(m *ice.Message) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
||||||
list := m.CmdMap(SPIDE, CLIENT_NAME)
|
// list := m.CmdMap(SPIDE, CLIENT_NAME)
|
||||||
m.Cmds(SPACE).Table(func(value ice.Maps) {
|
m.Cmds(SPACE).Table(func(value ice.Maps) {
|
||||||
value[mdb.ICONS] = nfs.USR_ICONS_VOLCANOS
|
// value[mdb.ICONS] = nfs.USR_ICONS_VOLCANOS
|
||||||
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
|
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
|
||||||
value[aaa.ACCESS] = kit.Select("", value[aaa.USERROLE], value[aaa.USERROLE] != aaa.VOID)
|
value[aaa.ACCESS] = kit.Select("", value[aaa.USERROLE], value[aaa.USERROLE] != aaa.VOID)
|
||||||
value[mdb.STATUS] = cli.START
|
value[mdb.STATUS] = cli.START
|
||||||
switch value[mdb.TYPE] {
|
switch value[mdb.TYPE] {
|
||||||
case SERVER:
|
case SERVER:
|
||||||
value[mdb.ICONS] = m.FileURI(nfs.USR_ICONS_ICEBERGS)
|
|
||||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||||
if simple {
|
if simple {
|
||||||
defer m.PushButton("")
|
defer m.PushButton("")
|
||||||
@ -112,9 +112,6 @@ func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
|||||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||||
}
|
}
|
||||||
case ORIGIN:
|
case ORIGIN:
|
||||||
if spide, ok := list[value[mdb.NAME]]; ok {
|
|
||||||
value[mdb.ICONS] = kit.Select(value[mdb.ICONS], spide[mdb.ICONS])
|
|
||||||
}
|
|
||||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||||
if simple {
|
if simple {
|
||||||
defer m.PushButton("")
|
defer m.PushButton("")
|
||||||
@ -123,7 +120,6 @@ func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
|||||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||||
}
|
}
|
||||||
case aaa.LOGIN:
|
case aaa.LOGIN:
|
||||||
value[mdb.ICONS] = kit.Select(value[mdb.ICONS], agentIcons[value[AGENT]])
|
|
||||||
value[mdb.TEXT] = kit.JoinWord(value[AGENT], value[cli.SYSTEM], value[aaa.IP])
|
value[mdb.TEXT] = kit.JoinWord(value[AGENT], value[cli.SYSTEM], value[aaa.IP])
|
||||||
defer m.PushButton(GRANT)
|
defer m.PushButton(GRANT)
|
||||||
default:
|
default:
|
||||||
@ -421,9 +417,13 @@ func init() {
|
|||||||
OPEN: {Role: aaa.VOID, Hand: func(m *ice.Message, arg ...string) {
|
OPEN: {Role: aaa.VOID, Hand: func(m *ice.Message, arg ...string) {
|
||||||
if m.Option(mdb.TYPE) == ORIGIN && m.IsLocalhost() {
|
if m.Option(mdb.TYPE) == ORIGIN && m.IsLocalhost() {
|
||||||
m.ProcessOpen(SpideOrigin(m, m.Option(mdb.NAME)))
|
m.ProcessOpen(SpideOrigin(m, m.Option(mdb.NAME)))
|
||||||
|
} else {
|
||||||
|
if p := ProxyDomain(m, m.Option(mdb.NAME)); p != "" {
|
||||||
|
m.ProcessOpen(p)
|
||||||
} else {
|
} else {
|
||||||
m.ProcessOpen(S(m.Option(mdb.NAME)))
|
m.ProcessOpen(S(m.Option(mdb.NAME)))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}},
|
}},
|
||||||
GRANT: {Hand: func(m *ice.Message, arg ...string) {
|
GRANT: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmd(CHAT_GRANT, aaa.CONFIRM, kit.Dict(SPACE, m.Option(mdb.NAME)))
|
m.Cmd(CHAT_GRANT, aaa.CONFIRM, kit.Dict(SPACE, m.Option(mdb.NAME)))
|
||||||
|
@ -297,7 +297,7 @@ func ParseUA(m *ice.Message) (res []string) {
|
|||||||
res = append(res, cli.DAEMON, m.Option(ice.MSG_DAEMON))
|
res = append(res, cli.DAEMON, m.Option(ice.MSG_DAEMON))
|
||||||
for _, p := range html.AgentList {
|
for _, p := range html.AgentList {
|
||||||
if strings.Contains(m.Option(ice.MSG_USERUA), p) {
|
if strings.Contains(m.Option(ice.MSG_USERUA), p) {
|
||||||
res = append(res, mdb.ICONS, agentIcons[p], AGENT, p)
|
res = append(res, mdb.ICONS, kit.Select(agentIcons[p], m.Option(mdb.ICONS)), AGENT, p)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -314,6 +314,9 @@ func ProxyDomain(m *ice.Message, name string) string {
|
|||||||
m.Cmd(nfs.CAT, path.Join(PROXY_PATH, "conf/portal", name, "server.conf"), func(ls []string) {
|
m.Cmd(nfs.CAT, path.Join(PROXY_PATH, "conf/portal", name, "server.conf"), func(ls []string) {
|
||||||
kit.If(ls[0] == "server_name", func() { domain = ls[1] })
|
kit.If(ls[0] == "server_name", func() { domain = ls[1] })
|
||||||
})
|
})
|
||||||
|
if domain == "" {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return "https://" + domain
|
return "https://" + domain
|
||||||
}
|
}
|
||||||
func Script(m *ice.Message, str string, arg ...ice.Any) string {
|
func Script(m *ice.Message, str string, arg ...ice.Any) string {
|
||||||
|
@ -29,7 +29,7 @@ func _space_qrcode(m *ice.Message, dev string) {
|
|||||||
}
|
}
|
||||||
func _space_dial(m *ice.Message, dev, name string, arg ...string) {
|
func _space_dial(m *ice.Message, dev, name string, arg ...string) {
|
||||||
origin := m.Cmdv(SPIDE, dev, CLIENT_ORIGIN)
|
origin := m.Cmdv(SPIDE, dev, CLIENT_ORIGIN)
|
||||||
u := kit.ParseURL(kit.MergeURL2(strings.Replace(origin, HTTP, "ws", 1), PP(SPACE), mdb.TYPE, ice.Info.NodeType, mdb.NAME, name, mdb.NAME, "",
|
u := kit.ParseURL(kit.MergeURL2(strings.Replace(origin, HTTP, "ws", 1), PP(SPACE), mdb.TYPE, ice.Info.NodeType, mdb.NAME, name, mdb.NAME, "", mdb.ICONS, mdb.Config(m, mdb.ICONS),
|
||||||
mdb.TIME, ice.Info.Make.Time, nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), cli.GOOS, runtime.GOOS, cli.GOARCH, runtime.GOARCH, arg))
|
mdb.TIME, ice.Info.Make.Time, nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), cli.GOOS, runtime.GOOS, cli.GOARCH, runtime.GOARCH, arg))
|
||||||
args := kit.SimpleKV("type,name,host,port", u.Scheme, dev, u.Hostname(), kit.Select(kit.Select(tcp.PORT_443, tcp.PORT_80, u.Scheme == "ws"), u.Port()))
|
args := kit.SimpleKV("type,name,host,port", u.Scheme, dev, u.Hostname(), kit.Select(kit.Select(tcp.PORT_443, tcp.PORT_80, u.Scheme == "ws"), u.Port()))
|
||||||
gdb.Go(m, func() {
|
gdb.Go(m, func() {
|
||||||
@ -74,10 +74,14 @@ func _space_fork(m *ice.Message) {
|
|||||||
if msg := m.Cmd(TOKEN, m.Option(TOKEN)); msg.Append(mdb.TIME) > m.Time() && kit.IsIn(msg.Append(mdb.TYPE), SERVER, SPIDE) {
|
if msg := m.Cmd(TOKEN, m.Option(TOKEN)); msg.Append(mdb.TIME) > m.Time() && kit.IsIn(msg.Append(mdb.TYPE), SERVER, SPIDE) {
|
||||||
aaa.SessAuth(m, kit.Dict(m.Cmd(aaa.USER, m.Option(ice.MSG_USERNAME, msg.Append(mdb.NAME))).AppendSimple()))
|
aaa.SessAuth(m, kit.Dict(m.Cmd(aaa.USER, m.Option(ice.MSG_USERNAME, msg.Append(mdb.NAME))).AppendSimple()))
|
||||||
name = SpaceName(kit.Select(name, msg.Append(mdb.TEXT)))
|
name = SpaceName(kit.Select(name, msg.Append(mdb.TEXT)))
|
||||||
|
kit.If(ProxyDomain(m, name), func(p string) { text = p })
|
||||||
safe = aaa.IsTechOrRoot(m)
|
safe = aaa.IsTechOrRoot(m)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
args := kit.Simple(mdb.TYPE, m.Option(mdb.TYPE), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(mdb.TIME, nfs.MODULE, nfs.VERSION, cli.DAEMON))
|
if m.Option(mdb.ICONS) != "" && !kit.HasPrefix(m.Option(mdb.ICONS), nfs.PS, HTTP) {
|
||||||
|
m.Option(mdb.ICONS, kit.MergeURL("/require/"+m.Option(mdb.ICONS), ice.POD, name))
|
||||||
|
}
|
||||||
|
args := kit.Simple(mdb.TYPE, m.Option(mdb.TYPE), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(mdb.ICONS, mdb.TIME, nfs.MODULE, nfs.VERSION, cli.DAEMON))
|
||||||
args = append(args, aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME), aaa.USERROLE, m.Option(ice.MSG_USERROLE))
|
args = append(args, aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME), aaa.USERROLE, m.Option(ice.MSG_USERROLE))
|
||||||
args = append(args, ParseUA(m)...)
|
args = append(args, ParseUA(m)...)
|
||||||
if c, e := websocket.Upgrade(m.W, m.R); !m.WarnNotValid(e) {
|
if c, e := websocket.Upgrade(m.W, m.R); !m.WarnNotValid(e) {
|
||||||
@ -99,7 +103,7 @@ func _space_fork(m *ice.Message) {
|
|||||||
case SERVER:
|
case SERVER:
|
||||||
defer gdb.EventDeferEvent(m, SPACE_OPEN, args)(SPACE_CLOSE, args)
|
defer gdb.EventDeferEvent(m, SPACE_OPEN, args)(SPACE_CLOSE, args)
|
||||||
m.Go(func() {
|
m.Go(func() {
|
||||||
m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(
|
m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(mdb.ICONS, mdb.Config(m, mdb.ICONS),
|
||||||
mdb.TIME, ice.Info.Make.Time, nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(),
|
mdb.TIME, ice.Info.Make.Time, nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(),
|
||||||
AGENT, "Go-http-client", cli.SYSTEM, runtime.GOOS))
|
AGENT, "Go-http-client", cli.SYSTEM, runtime.GOOS))
|
||||||
m.Cmd(SPACE).Table(func(value ice.Maps) {
|
m.Cmd(SPACE).Table(func(value ice.Maps) {
|
||||||
@ -180,7 +184,7 @@ func _space_exec(m *ice.Message, name string, source, target []string, c *websoc
|
|||||||
m.Warn(true, ice.ErrNotValid)
|
m.Warn(true, ice.ErrNotValid)
|
||||||
return
|
return
|
||||||
case cli.PWD:
|
case cli.PWD:
|
||||||
mdb.HashModify(m, mdb.HASH, name, ParseUA(m), m.OptionSimple(mdb.TIME, nfs.MODULE, nfs.VERSION, AGENT, cli.SYSTEM))
|
mdb.HashModify(m, mdb.HASH, name, ParseUA(m), m.OptionSimple(mdb.ICONS, mdb.TIME, nfs.MODULE, nfs.VERSION, AGENT, cli.SYSTEM))
|
||||||
m.Push(mdb.LINK, m.MergePod(kit.Select("", source, -1)))
|
m.Push(mdb.LINK, m.MergePod(kit.Select("", source, -1)))
|
||||||
default:
|
default:
|
||||||
if m.IsErr() {
|
if m.IsErr() {
|
||||||
@ -332,8 +336,9 @@ func init() {
|
|||||||
}},
|
}},
|
||||||
nfs.PS: {Hand: func(m *ice.Message, arg ...string) { _space_fork(m) }},
|
nfs.PS: {Hand: func(m *ice.Message, arg ...string) { _space_fork(m) }},
|
||||||
}, gdb.EventsAction(SPACE_LOGIN), mdb.HashAction(
|
}, gdb.EventsAction(SPACE_LOGIN), mdb.HashAction(
|
||||||
|
mdb.ICONS, "src/main.ico",
|
||||||
mdb.LIMIT, 1000, mdb.LEAST, 500,
|
mdb.LIMIT, 1000, mdb.LEAST, 500,
|
||||||
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,type,name,text,module,version,agent,system,ip,usernick,username,userrole",
|
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,type,name,text,icons,module,version,agent,system,ip,usernick,username,userrole",
|
||||||
ctx.ACTION, OPEN, REDIAL, kit.Dict("a", 1000, "b", 100, "c", 1000),
|
ctx.ACTION, OPEN, REDIAL, kit.Dict("a", 1000, "b", 100, "c", 1000),
|
||||||
), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
|
), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
|
||||||
if len(arg) < 2 {
|
if len(arg) < 2 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user