找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 34454|回复: 55

写了一个 OpenWrt 下的网页终端模拟器 ttyd

  [复制链接]
本帖最后由 tsl0922 于 2016-10-3 18:44 编辑

2016.10.03:

补充一个自编译的集成了 ttyd 的斐讯 K2 固件,有这个设备的可以刷这个固件体验 ttyd,看这个帖子:https://www.right.com.cn/forum/thread-195852-1-1.html

=======================

这个项目最初的灵感来源于平时操作无线路由器时想在网页上执行一些命令,但是目前的开源的路由器系统(openwrt)没有一个很好的网页终端模拟器,最多也只是支持执行一个命令然后把结果显示到网页上,完全没有交互。有些路由器还不限制 top 之类的命令执行,一执行就可能会直接卡住网页界面。

一直想自己写一个,最近有时间开工,花点时间开发和完善,现在终于是可以使用了。

项目地址:

https://github.com/tsl0922/ttyd

ttyd 是一个 C 语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux 、 macOS 系统,还可以运行在 OpenWrt 之类的嵌入式系统上。

功能特色:

  • C 语言编写,在速度和内存占用上相比其它实现有一些优势
  • 网页和服务器端使用 websocket 通信(基于 libwebsockets)
  • 前端使用 chromium hterm 实现终端模拟,功能完备
  • 客户端和服务器端支持 SSL 加密通信(基于 OpenSSL)
  • 支持配置用户名密码认证( Basic Auth )
  • 可以执行任意命令行程序,不只是 bash 之类的 shell
  • 跨平台支持,可以在 Linux 、 macOS 、OpenWrt 下运行

OpenWrt 上运行效果:



PC 上运行效果:



安装方法:opkg install ttyd

刚提交到 OpenWrt 官方软件源不久,目前只有 LEDE 的最新开发版本软件源里有二进制安装包,如果你使用的版本还没有二进制安装包,可以自行从官方的 packages feed 编译。

Makefile 地址:https://github.com/openwrt/packages/tree/master/utils/ttyd

PC 上的安装方法请到 github 项目主页 查看。
















评分

参与人数 9恩山币 +15 收起 理由
tc*** + 1 感谢大神```
sorr*** + 1 太好用了,谢谢您!
mu*** + 1 感谢你的分享,无论怎样,你都是最无私的人!
Zzh_*** + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
荒野*** + 2 比shellinabox 好用,赞
james_*** + 1 我来恩山就是为了撩你!
luc*** + 3 我对你的敬仰犹如江水滔滔,我上朝鲜战场后一定写信给你!!!
zsh*** + 3 一看就是觉得高端、大气、上档次!
nets*** + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
太强大了,就是需要这种实用的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这个好像很不错的样子,如何自己安装啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

前来膜拜楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

前排留个脚印,楼主可以先来个编译好的体验一把啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主厉害。造福大家
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 wackejohn 于 2016-9-29 10:28 编辑

之前有个shellinabox,也是跟楼主的这个实现同样功能的,不知效能咋样?昨天刚好同步到了这个ttyd,编译貌似出错。。。
lede编译出错如下:
  1. Collected errors:
  2. * satisfy_dependencies_for: Cannot satisfy the following dependencies for ttyd:
  3. *      openssl *
  4. * opkg_install_cmd: Cannot install package ttyd.
复制代码



点评

貌似lede把openssl改成libopenssl了。。。改了depends就好了。。。  详情 回复 发表于 2016-9-29 11:25
软件包depends里面加一个+libopenssl  发表于 2016-9-29 11:13
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

网页终端模拟器
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

wackejohn 发表于 2016-9-29 09:49
之前有个shellinabox,也是跟楼主的这个实现同样功能的,不知效能咋样?昨天刚好同步到了这个ttyd,编译貌 ...

貌似lede把openssl改成libopenssl了。。。改了depends就好了。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不错 感谢lz 编译了pogo cc下面的 有一点要注意的是cc里面libwebsocket-openssl版本老了 我换到了最新2.0.3编译的

点评

需要 libwebsockets 1.6 或以上版本才行,这个版本开始 API 变动很大,就没有对很旧的版本做兼容。  详情 回复 发表于 2016-9-29 17:55
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
silent_x83 发表于 2016-9-29 14:23
不错 感谢lz 编译了pogo cc下面的 有一点要注意的是cc里面libwebsocket-openssl版本老了 我换到了最新2.0.3 ...

需要 libwebsockets 1.6 或以上版本才行,这个版本开始 API 变动很大,就没有对很旧的版本做兼容。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不错,支持楼主!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
感谢楼主分享。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

支持楼主  命令行大神的最爱。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不错,很好用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 18:14

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表