TeleShellBot - 通过 telegram 机器人远程执行 shell

2017 年 9 月 28 日
 marknote

TeleShellBot 是我脑洞大开的时候写的一个简单的 telegram 机器人,可以帮你远程执行 shell 命令,从而让你可以在手机上操纵你的服务器。 


git 地址: https://github.com/marknote/TeleShellBot

6459 次点击
所在节点    分享创造
19 条回复
Tink
2017 年 9 月 28 日
我在微信公众号上做了个这个,主要是用来给 pac 文件里加网址
marknote
2017 年 9 月 28 日
@Tink 哦,那不错 :)
Acompny
2017 年 9 月 28 日
支持一下 感觉挺有用的
ys0290
2017 年 9 月 28 日
我做了一个用短信发命令给家里网络重启路由器用的
siagasky
2017 年 9 月 28 日
神奇神奇
psirnull
2017 年 9 月 28 日
为什么不直接 ssh
marknote
2017 年 9 月 28 日
@psirnull ssh 在手机上用起来不太方便吧
hnyoumfk
2017 年 9 月 28 日
@psirnull 瞎说什么大实话!
zzlyzq
2017 年 9 月 28 日
挺好。 如果 ssh 还必须搞定服务器有公网地址或者做映射, 这样的话,只要两边都可以连上 telegram 服务器就搞定了。
marknote
2017 年 9 月 29 日
@zzlyzq 是的。反正我弄下来发现可以搞定的事情还是挺多的 :)
psirnull
2017 年 9 月 29 日
n2n 就可以了
codehz
2017 年 9 月 30 日
能支持动态更新命令结果吗》就是 apt update 那种需要一定执行时间的
ericgui
2017 年 10 月 1 日
@ys0290 github 地址?
ys0290
2017 年 10 月 1 日
@ericgui 木有地址,实现思路大概是 asterisk 收到 dongle 里面手机卡短信,在将短信通过微信或者邮件转发给自己之前进行关键词过滤,然后 ssh 免密登陆路由执行 reboot,asterisk 这一步也有别的实现方法
marknote
2017 年 10 月 2 日
@codehz 我测过了,没问题的,是异步的事件流处理。有标准输出就输出。
```
shell.stdout.on('data', (data) => {
msg.reply.text(`stdout:\n ${data}`);
});

shell.stderr.on('data', (data) => {
msg.reply.text(`stderr: ${data}`);
});
```
marknote
2017 年 10 月 2 日
@codehz
更好玩的是这样的:
我先输入 ping 8.8.8.8
然后这个 bot 就不断的把 ping 的结果给我发消息,不终止。
然后我输入 ps,因为是异步的,这条也会执行,所以可以看到 ps 执行的结果,中间包含 ping 8.8.8.8 的进程信息
然后输入 kill -9 {进程 ID} 终止 ping 进程
不断啰嗦的机器人才消停下来
codehz
2017 年 10 月 2 日
@marknote #16 所以为啥不不断的修改同一个消息(直到太长)
hobbyliu
2017 年 10 月 8 日
求教录屏制作 git,用的啥软件?
marknote
2017 年 10 月 8 日
@hobbyliu 用的 QuickTime Player :)
具体做法参考 @quietjosen 的教程:
http://www.jianshu.com/p/eca4db2fc341
我是完全按照 @quietjosen 的方法来的。唯一的不同是 video 转 gif 我用的"GIF Brewery 3"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/394208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX