您的位置:首页 > 运维架构 > Linux

浏览器linux终端交互工具--tty.js

2015-11-14 13:03 603 查看
关键字:

Web linux terminal tty.js

需求:

普遍开发 都喜欢使用linux服务器作为运行环境,和linux打交道,一般使用基于SSH的模拟终端实现。

常见的windows下模拟仿真终端如putty,secure CRT,个人推荐secure CRT,用起来真是如丝顺滑。

好用,但是有局限性,你一定要安装这个软件才能实现与linux系统打交道。

所以像今天的猪脚 tty.js 这样的浏览器linux终端诞生。当然还有其他的,以后慢慢积累。

部署:

环境:ubuntu 14.04 lts

基础软件环境: nodejs、npm

为什么:A terminal in your browser using node.js and socket.io.
Based on Fabrice Bellard's vt100 for jslinux.(作者说的)

如果没有这两个环境的话,我们需要安装一下:

sudo apt-get install nodejs

sudo apt-get install npm

sudo npm install tty.js #安装tty,js


使用:
创建tty.js 文件并写入以下内容。

var tty = require('tty.js');

var app = tty.createServer({
shell: 'bash',
users: {
foo: 'bar',
hello:'world'
},
port: 8000
});

app.get('/foo', function(req, res, next) {
res.send('bar');
});
<pre name="code" class="plain">app.get('/hello', function(req, res, next) {
res.send('world');
});
app.listen();



可以看出用户名是foo 密码是bar 登陆端口8000

或者用户 hello 密码world

启动命令:

node tty.js


这样访问http://127.0.0.1:8000 然后登陆 就可以访问了。

高级设置:

创建配置文件
.tty.js/config.json
或者
.tty.js

以.tty.js 为例,写入:

{
"users": {
"hello": "world"
},
"https": {
"key": "./server.key",
"cert": "./server.crt"
},
"port": 8080,
"hostname": "127.0.0.1",
"shell": "sh",
"shellArgs": ["arg1", "arg2"],
"static": "./static",
"limitGlobal": 10000,
"limitPerUser": 1000,
"localOnly": false,
"cwd": ".",
"syncSession": false,
"sessionTimeout": 600000,
"log": true,
"io": { "log": false },
"debug": false,
"term": {
"termName": "xterm",
"geometry": [80, 24],
"scrollback": 1000,
"visualBell": false,
"popOnBell": false,
"cursorBlink": false,
"screenKeys": false,
"colors": [
"#2e3436",
"#cc0000",
"#4e9a06",
"#c4a000",
"#3465a4",
"#75507b",
"#06989a",
"#d3d7cf",
"#555753",
"#ef2929",
"#8ae234",
"#fce94f",
"#729fcf",
"#ad7fa8",
"#34e2e2",
"#eeeeec"
]
}
}


其他启动方式:

node tty.js --port 3000 #启动并监听3000端口
node tty.js --daemonize # 启动并放在后台运行
node tty.js --config ~/.tty.js #以配置文件设置启动


其他问题:
将tty.js中的端口去掉,

以配置文件启动 使用配置文件中的用户名密码,并使用8080访问 还是没有成功。

但是配置文件中的其他参数是可以生效的。

当使用8080访问的时候,

这个地方使用的时basic Authorization 经过sha1加密的,但是我尝试了下替换配置文件中的user中的用户名和密码为sha1加密后的值 还是不行。

待解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: