diff --git a/Dockerfile b/Dockerfile index d76895a..fbce0c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk add gcc g++ RUN go env && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags "-static"' -o next-terminal main.go -FROM guacamole/guacd:1.2.0 +FROM guacamole/guacd:1.1.0 LABEL MAINTAINER="helloworld1024@foxmail.com" diff --git a/docs/install-naive.MD b/docs/install-naive.MD index 9514498..5295376 100644 --- a/docs/install-naive.MD +++ b/docs/install-naive.MD @@ -80,7 +80,7 @@ ln -s /usr/local/lib/freerdp/guacdr.so /usr/lib64/freerdp/ 配置guacamole-server ```shell -cat <> /etc/guacamole/guacd.conf +mkdir /etc/guacamole/ & cat <> /etc/guacamole/guacd.conf [daemon] pid_file = /var/run/guacd.pid log_level = info diff --git a/pkg/api/asset.go b/pkg/api/asset.go index f1f9577..625b0ac 100644 --- a/pkg/api/asset.go +++ b/pkg/api/asset.go @@ -58,7 +58,6 @@ func AssetUpdateEndpoint(c echo.Context) error { item.PrivateKey = "-" item.Passphrase = "-" case "private-key": - item.Username = "-" item.Password = "-" item.CredentialId = "-" case "custom": diff --git a/pkg/api/tunnel.go b/pkg/api/tunnel.go index 1ba7440..70f7614 100644 --- a/pkg/api/tunnel.go +++ b/pkg/api/tunnel.go @@ -91,6 +91,7 @@ func TunEndpoint(c echo.Context) error { break case "ssh": if len(session.PrivateKey) > 0 && session.PrivateKey != "-" { + configuration.SetParameter("username", session.Username) configuration.SetParameter("private-key", session.PrivateKey) configuration.SetParameter("passphrase", session.Passphrase) } else { diff --git a/web/src/components/access/Access.js b/web/src/components/access/Access.js index 2b8f896..c54cca4 100644 --- a/web/src/components/access/Access.js +++ b/web/src/components/access/Access.js @@ -81,6 +81,7 @@ class Access extends Component { confirmLoading: false, uploadVisible: false, uploadLoading: false, + startTime: new Date() }; async componentDidMount() { @@ -226,7 +227,11 @@ class Access extends Component { this.showMessage('资源已关闭'); break; case 519: - this.showMessage('远程服务未找到'); + if (new Date().getTime() - this.state.startTime.getTime() <= 1000 * 30) { + this.showMessage('认证失败'); + } else { + this.showMessage('远程服务未找到'); + } break; case 520: this.showMessage('远程服务不可用'); @@ -472,6 +477,11 @@ class Access extends Component { message.error(result['message']); } else { let session = result['data']; + if (session['status'] === 'connected') { + clearInterval(stateChecker); + return + } + if (session['status'] === 'disconnected') { this.showMessage(session['message']); clearInterval(stateChecker); @@ -697,6 +707,8 @@ class Access extends Component { let result = await request.get(url); if (result.code !== 1) { + message.error(result['message']); + message.error(result['message']); return []; } diff --git a/web/src/components/asset/AssetModal.js b/web/src/components/asset/AssetModal.js index 87588ad..a41c779 100644 --- a/web/src/components/asset/AssetModal.js +++ b/web/src/components/asset/AssetModal.js @@ -67,7 +67,7 @@ const AssetModal = function ({title, visible, handleOk, handleCancel, confirmLoa handleAccountTypeChange('custom'); break; case 'vnc': - port = 5901; + port = 5900; setAccountTypes(protocolMapping['vnc']); form.setFieldsValue({ accountType: 'custom', @@ -188,6 +188,10 @@ const AssetModal = function ({title, visible, handleOk, handleCancel, confirmLoa { accountType === 'private-key' ? <> + + + +