V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
marknote
V2EX  ›  分享创造

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

  •  
  •   marknote · 2017 年 9 月 28 日 · 6328 次点击
    这是一个创建于 3041 天前的主题,其中的信息可能已经有所发展或是发生改变。

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


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

    19 条回复    2017-10-08 22:52:00 +08:00
    Tink
        1
    Tink  
    PRO
       2017 年 9 月 28 日 via iPhone
    我在微信公众号上做了个这个,主要是用来给 pac 文件里加网址
    marknote
        2
    marknote  
    OP
       2017 年 9 月 28 日
    @Tink 哦,那不错 :)
    Acompny
        3
    Acompny  
       2017 年 9 月 28 日 via iPhone
    支持一下 感觉挺有用的
    ys0290
        4
    ys0290  
       2017 年 9 月 28 日 via iPhone
    我做了一个用短信发命令给家里网络重启路由器用的
    siagasky
        5
    siagasky  
       2017 年 9 月 28 日
    神奇神奇
    psirnull
        6
    psirnull  
       2017 年 9 月 28 日 via iPhone   ❤️ 1
    为什么不直接 ssh
    marknote
        7
    marknote  
    OP
       2017 年 9 月 28 日 via iPhone
    @psirnull ssh 在手机上用起来不太方便吧
    hnyoumfk
        8
    hnyoumfk  
       2017 年 9 月 28 日   ❤️ 1
    @psirnull 瞎说什么大实话!
    zzlyzq
        9
    zzlyzq  
       2017 年 9 月 28 日
    挺好。 如果 ssh 还必须搞定服务器有公网地址或者做映射, 这样的话,只要两边都可以连上 telegram 服务器就搞定了。
    marknote
        10
    marknote  
    OP
       2017 年 9 月 29 日 via iPhone
    @zzlyzq 是的。反正我弄下来发现可以搞定的事情还是挺多的 :)
    psirnull
        11
    psirnull  
       2017 年 9 月 29 日 via iPhone
    n2n 就可以了
    codehz
        12
    codehz  
       2017 年 9 月 30 日
    能支持动态更新命令结果吗》就是 apt update 那种需要一定执行时间的
    ericgui
        13
    ericgui  
       2017 年 10 月 1 日 via iPhone
    @ys0290 github 地址?
    ys0290
        14
    ys0290  
       2017 年 10 月 1 日 via iPhone
    @ericgui 木有地址,实现思路大概是 asterisk 收到 dongle 里面手机卡短信,在将短信通过微信或者邮件转发给自己之前进行关键词过滤,然后 ssh 免密登陆路由执行 reboot,asterisk 这一步也有别的实现方法
    marknote
        15
    marknote  
    OP
       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
        16
    marknote  
    OP
       2017 年 10 月 2 日
    @codehz
    更好玩的是这样的:
    我先输入 ping 8.8.8.8
    然后这个 bot 就不断的把 ping 的结果给我发消息,不终止。
    然后我输入 ps,因为是异步的,这条也会执行,所以可以看到 ps 执行的结果,中间包含 ping 8.8.8.8 的进程信息
    然后输入 kill -9 {进程 ID} 终止 ping 进程
    不断啰嗦的机器人才消停下来
    codehz
        17
    codehz  
       2017 年 10 月 2 日
    @marknote #16 所以为啥不不断的修改同一个消息(直到太长)
    hobbyliu
        18
    hobbyliu  
       2017 年 10 月 8 日 via Android
    求教录屏制作 git,用的啥软件?
    marknote
        19
    marknote  
    OP
       2017 年 10 月 8 日
    @hobbyliu 用的 QuickTime Player :)
    具体做法参考 @quietjosen 的教程:
    http://www.jianshu.com/p/eca4db2fc341
    我是完全按照 @quietjosen 的方法来的。唯一的不同是 video 转 gif 我用的"GIF Brewery 3"
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2714 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:57 · PVG 19:57 · LAX 03:57 · JFK 06:57
    ♥ Do have faith in what you're doing.