Web 登录 Linux 终端C 语言源码

#源码介绍

小伙伴们中午好,今天给大家带来一款能够通过 Web 登录 Linux 终端的开源项目。采用 C 语言实现,算上依赖库体积不到 100KB,可用于嵌入式 Linux 设备。拥有 Web 管理界面,用此项目可以方便地远程维护 Linux 设备,感兴趣的小伙伴自行下载啦。别忘了加群讨论哦。

下面附上一些说明,其他的说明我会放到文件夹里面。

# 说明

API 路径

    /cmd/:devid?wait=10

wait 参数为可选,默认等待 30s,如果不关心命令执行结果,可设置为 0

请求消息格式

    {

        “username”: “test”,

        “password”: “test”,

        “cmd”: “echo”,

        “params”: [“hello rtty”]

    }

其中 username、cmd 必须提供。password、params 为可选项。params 为一个 JSON 数组。

如果命令执行完成,服务器将返回 json 格式的命令执行结果:

    {

        “code”: 0,

        “stdout”: “aGVsbG8gcnR0eQo=”,

        “stderr”: “”

    }

响应中的 stdout 和 stderr 是经过 base64 编码的。

如果任何一步操作失败,服务器都将返回 json 格式的错误信息:

    

    {

        “err”: 1002,

        “msg”: “device offline”

    }

所有错误码如下

    1001    invalid format

    1002    device offline

    1003    timeout

    1       operation not permitted

    2       not found

    3       no mem

    4       sys error

    5       stdout+stderr is too big

# Example

## [Shell](/tools/sendcmd.sh)

## Jquery

“`javascript

var data = {username: ‘test’, password: ‘test’, cmd: ‘echo’, params: [‘hello rtty’]};

$.post(‘http://your-server:5913/cmd/test’, JSON.stringify(data), function(r) {

    if (r.stdout) {

        console.log(window.atob(r.stdout))

    } else {

        console.log(r)

    }

});

“`

## Axios

“`javascript

var data = {username: ‘test’, password: ‘test’, cmd: ‘echo’, params: [‘hello rtty’]};

axios.post(‘http://your-server:5913/cmd/test’, data).then(function(r) {

    var resp = r.data;

    if (resp.stdout) {

        console.log(window.atob(resp.stdout))

    } else {

        console.log(resp)

    }

});

# 直接在设备里面安装

    opkg update

    opkg list | grep rtty

    opkg install rtty-nossl

# 自己编译

## 更新feed

    ./scripts/feeds update packages

    ./scripts/feeds install -a -p packages

***如果您的openwrt中的rtty不是最新版本,您可以从这里获取最新的package***

    https://gitee.com/zhaojh329/rtty/tree/openwrt-package

## 在menuconfig中选择rtty,然后重新编译固件。

    Utilities  —>

    Terminal  —>

        <*> rtty-mbedtls…………….. Access your terminals from anywhere via the web

        < > rtty-nossl………………. Access your terminals from anywhere via the web

        < > rtty-openssl…………….. Access your terminals from anywhere via the web

        < > rtty-wolfssl…………….. Access your terminals from anywhere via the web

# 配置

配置服务器参数

    uci add rtty rtty   # 如果是第一次配置

    uci set rtty.@rtty[0].host=’your server host’

    uci set rtty.@rtty[0].port=’your server port’

你可以给你的设备自定义一个ID。如果未指定,RTTY将使用指定的网络接口的MAC地址作为其ID

uci set rtty.@rtty[0].id=’your-device-id’

给你的设备添加一个描述

    uci set rtty.@rtty[0].description=’My device’

使用SSL

    uci set rtty.@rtty[0].ssl=’1′

认证

    uci set rtty.@rtty[0].token=’your-token’

保存配置并应用

    uci commit

    /etc/init.d/rtty restart

#效果展示

Web 登录 Linux 终端C 语言源码12580code
Web 管理界面,用此项目可以方便地远程维护 Linux 设备

#源码已上传阿里云oss,请看右侧下载

源码已上传阿里云OSS不限速下载

会员用户请登录后使用右侧高速下载通道

普通用户请支付相关费用使用高速下载通道

提示:未登录用户为游客购买,购买记录缓存在浏览器内七天,建议注册后再操作可享受永久下载权限

 

#小二有话说

为了提升小伙伴们的体验感,小二开通了阿里云oss下载,超过100mb的文件小二会放到阿里云oss里,小于100mb的小二会放到高速网盘下,小伙伴们可以开通会员后免费不限速下载哦,或者花两元购买资源[会员专享资源5元],网站的盈利都会用来给大家提升体验感,望大家理解小二,欢迎入群讨论[QQ群:825433992]

12580Code是一个提供优质游戏源码/小程序源码/网站源码/App源码/Pc源码下载的一个平台
12580Code - 网站源码_App源码_Pc源码_游戏源码 » Web 登录 Linux 终端C 语言源码

发表评论

提供最优质的编程源码

加入群聊 查看更多