Muthu Kumar
7 years ago
1 changed files with 44 additions and 0 deletions
@ -0,0 +1,44 @@ |
|||||
|
# tsh |
||||
|
|
||||
|
## Telegram Shell |
||||
|
|
||||
|
Proof of concept of remote shell over Telegram. |
||||
|
|
||||
|
## Up and running |
||||
|
|
||||
|
Clone this repo, and create a config.js file with the following fields (You'll need to get a bot API key from [@BotFather](https://t.me/BotFather)): |
||||
|
|
||||
|
```JavaScript |
||||
|
module.exports = { |
||||
|
botApiKey: '94365321:AAGM6_3QK_RC49SA1281zC5U_nmMF', |
||||
|
masterID: 12345678, |
||||
|
}; |
||||
|
``` |
||||
|
|
||||
|
Do `npm install` to install dependencies (I recommend [pnpm](https://github.com/pnpm/pnpm) instead). |
||||
|
|
||||
|
Run `npm start`. |
||||
|
|
||||
|
Try running `/start` in your bot's private. |
||||
|
|
||||
|
## Commands |
||||
|
|
||||
|
- `/start` creates a new session. |
||||
|
- `/ls` list of active sessions. |
||||
|
- `/detach [session-identifier]` disconnect from session. |
||||
|
- `/attach <session-identifier>` reconnect to session. |
||||
|
- `/kill <session-identifier>` kill session. |
||||
|
|
||||
|
## Known issues |
||||
|
|
||||
|
- `tsh` doesn't play well with commands that require password from stdin, like `sudo`, or any command that creates a new shell (like `bash`). As a workaround, you could use `sudo -S` to read password from stdin. These may be fixed in a later version. |
||||
|
|
||||
|
- Some times, the same response will be sent several times as the stream is triggered. This is fixable, and will be done soon. |
||||
|
|
||||
|
## Security |
||||
|
|
||||
|
`tsh` is recommended to be used by a single user only, for your personal needs. Therefore, you must host your own bot on the server. Support for multiple machines may come in future. |
||||
|
|
||||
|
If you wouldn't trust Telegram with your content (especially sensitive content like passwords), please refrain from using this bot at all costs. It's a proof of concept and should be seen as such, and would be a massive breach of security to have sensitive content over Telegram. |
||||
|
|
||||
|
Finally, feel free to fork or contribute. `tsh` is licensed under the terms of the permissive MIT license. |
Loading…
Reference in new issue