master
Evan Chen 2021-11-19 15:47:47 +08:00
parent 9728bfab58
commit 7aec30d473
4 changed files with 7 additions and 14 deletions

View File

@ -8,7 +8,6 @@ import (
"net/http" "net/http"
"os" "os"
"os/exec" "os/exec"
"path/filepath"
"strings" "strings"
"time" "time"
@ -154,14 +153,13 @@ func (g *GTerm) WS(w http.ResponseWriter, r *http.Request) {
l := klog.Sub(id) l := klog.Sub(id)
var cmd *exec.Cmd var cmd *exec.Cmd
base := filepath.Base(r.URL.Path)
if base != "ws" && base != "." && base != "/" { if newCmd := r.URL.Query().Get("cmd"); newCmd != "" {
base = strings.Trim(base, "/") param, _ := xorencrypt.Decrypt(newCmd, g.Salt)
param, _ := xorencrypt.Decrypt(base, g.Salt)
req := &NewCmdRequest{} req := &NewCmdRequest{}
err := json.Unmarshal([]byte(param), req) err := json.Unmarshal([]byte(param), req)
if err != nil { if err != nil {
l.ErrorF(klog.H{"base": base, "decrypt": param}, err) l.ErrorF(klog.H{"base": newCmd, "decrypt": param}, err)
cmd = g.defaultCmd() cmd = g.defaultCmd()
} else { } else {
l.Info("starting cmd => ", l.M(fmt.Sprintf("%+v", req), klog.FgHiGreen)) l.Info("starting cmd => ", l.M(fmt.Sprintf("%+v", req), klog.FgHiGreen))

View File

@ -17,13 +17,8 @@ import 'xterm/css/xterm.css'
}); });
const fitAddon = new FitAddon(); const fitAddon = new FitAddon();
terminal.loadAddon(fitAddon); terminal.loadAddon(fitAddon);
const params = new URLSearchParams(window.location.search);
let newcmd = '';
if (params.has('cmd')){
newcmd = "/"+params.get('cmd')
}
var protocol = (location.protocol === "https:") ? "wss://" : "ws://"; var protocol = (location.protocol === "https:") ? "wss://" : "ws://";
var url = protocol + location.host + location.pathname + "ws" + newcmd var url = protocol + location.host + location.pathname + "ws" + location.search
const ws = new WebSocket(url); const ws = new WebSocket(url);
const attachAddon = new AttachAddon(ws); const attachAddon = new AttachAddon(ws);
const webLinksAddon = new WebLinksAddon(); const webLinksAddon = new WebLinksAddon();

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><link rel="stylesheet" href="index.6999253a.css"><title>{{.AppName}}</title><style>body::-webkit-scrollbar,div::-webkit-scrollbar,html::-webkit-scrollbar{display:none;width:0}body,html{margin:0;overflow:hidden;padding:0}div#terminal{height:100%;left:0;position:absolute;top:0;width:100%}div#terminal div{height:100%}.xterm-screen,.xterm-viewport{height:100%;margin:0;padding:0}</style></head><body> <div id="terminal"></div> <script type="module" src="index.2719cc8f.js"></script> </body></html> <!DOCTYPE html><html><head><link rel="stylesheet" href="index.6999253a.css"><title>{{.AppName}}</title><style>body::-webkit-scrollbar,div::-webkit-scrollbar,html::-webkit-scrollbar{display:none;width:0}body,html{margin:0;overflow:hidden;padding:0}div#terminal{height:100%;left:0;position:absolute;top:0;width:100%}div#terminal div{height:100%}.xterm-screen,.xterm-viewport{height:100%;margin:0;padding:0}</style></head><body> <div id="terminal"></div> <script type="module" src="index.a2a226ad.js"></script> </body></html>