小改造gotty,使之适合接收经过一层加密的URL
当然,比起密码设置,这个安全性也不是特别高,
但比起直接传参数。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。还是要专业一些的。
其实现思路分两种:
第一种是在gotty.js之内加入解url的函数。
第二种在是go源代码时,加入同等的解密函数。
哈,第一种快,只要懂js。
第二种要懂go。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
但,就算是第一种,你以为,只要更改resources目录下的gotty.js就可以了么?
否!!!这里只是一个js的原文件,而gotty的实现思路,是将resources下的资源文件,
通过一个叫go-bindata的东东,
把静态文件封装到go的源文件中来实现文件打包,并通过统一的接口来调用。
不信的话,看与app.go平行的resource.go文件前几行:
// Code generated by go-bindata.
// sources:
// bindata/static/favicon.png
// bindata/static/index.html
// bindata/static/js/gotty.js
// bindata/static/js/hterm.js
// DO NOT EDIT!
package app
import (
"bytes"
"compress/gzip"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("Read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("Read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
so,为了向gotty.js中加入几行,我得先改gotty.js里的文件,
然后,通过go-bindata将这个js文件更新到代码中。
https://www.b612.me/golang/103.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
go-bindata通过把静态文件封装到go的源文件中来实现文件打包,并通过统一的接口来调用
安装
go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...
go install
使用
go-bindata -pkg main -o data/bindata.go data/
上述命令便能把data中文件打包为bindata.go
或下述命令
go-bindata-assetfs data/...
使用相对路径获得文件数据
datas, err := Asset("data/someting")
更多精彩

