2014-08-02 12:13:58 +00:00
# Shout [![](https://badge.fury.io/js/shout.png)](https://www.npmjs.org/package/shout)
2014-07-20 23:14:36 +00:00
2014-08-18 12:50:12 +00:00
__What is it?__
Shout is a web IRC client that you host on your own server.
__What features does it have?__
- Multiple user support
- Stays connected even when you close the browser
- Connect from multiple devices at once
- Responsive layout — works well on your smartphone
2014-08-18 12:55:27 +00:00
- _.. and more!_
2014-08-18 12:50:12 +00:00
2014-08-18 12:55:27 +00:00
__Ok, you caught my attention. I want to try it!__
Here's a Shout server running in public mode, which allows for anonymous connections:
2014-08-18 12:50:12 +00:00
2014-09-09 23:00:52 +00:00
### [Try the Demo](http://shout-irc.com:9000/)
2014-07-20 23:14:36 +00:00
## Install
2014-08-13 01:27:53 +00:00
```
sudo npm install -g shout
```
2014-07-20 23:14:36 +00:00
2014-09-13 18:36:56 +00:00
__Experimental Heroku Deployment__
2014-09-09 23:00:52 +00:00
2014-09-13 18:36:56 +00:00
In order to run your own Shout instance, just hit the following button: [![Deploy ](https://www.herokucdn.com/deploy/button.png )](https://heroku.com/deploy)
Please note, that this will result in a public Shout instance. In order to make it private
and to register users, you need to do these steps:
```
git clone git@heroku.com:< your-app > .git
cd your-app
npm install
vim config.js
# set public to false
# set home to __dirname
git add config.js
git commit -m "Make shout private and use repo dir as shout home"
node src/command-line/index.js add < username >
git add -f users/< username >
git commit -m "Add user < username > "
git push heroku master
```
2014-09-09 23:00:52 +00:00
2014-08-13 01:27:53 +00:00
## Usage
2014-07-20 23:14:36 +00:00
2014-08-13 01:27:53 +00:00
When the install is complete, go ahead and start the server:
2014-07-20 23:14:36 +00:00
2014-08-13 01:27:53 +00:00
```
2014-08-17 15:40:28 +00:00
shout
```
For more information:
2014-08-19 01:53:17 +00:00
2014-08-17 15:40:28 +00:00
```
shout --help
2014-08-13 01:27:53 +00:00
```
2014-07-20 23:14:36 +00:00
2014-08-17 15:17:18 +00:00
## Screenshot
2014-07-20 23:14:36 +00:00
2014-08-17 15:40:28 +00:00
![](https://raw.github.com/erming/shout/master/screenshots/shout.png)
## Configuration
2014-08-19 01:53:17 +00:00
Open the `config.json` file by running:
```
shout config
```
The settings:
2014-08-17 15:40:28 +00:00
__port__
The default port to be used.
You can override this by running `shout --port 80`
__public__
Set to either `true|false` .
When set to `false` , a login will be required for connecting users.
2014-07-20 23:14:36 +00:00
2014-08-19 01:53:17 +00:00
2014-08-17 22:05:27 +00:00
## User Management
Go ahead and run `shout --help` :
```
2014-09-11 21:01:53 +00:00
$ shout --help
2014-08-17 22:05:27 +00:00
2014-09-11 21:01:53 +00:00
Usage: shout [options] [command]
2014-08-17 22:05:27 +00:00
2014-09-11 21:01:53 +00:00
Commands:
2014-08-25 10:35:19 +00:00
2014-09-11 21:01:53 +00:00
start
Start the server
config
Edit config: '/usr/lib/node_modules/shout/config.json'
list
List all existing users
add < name >
Add a new user
remove < name >
Remove an existing user
2014-09-11 21:02:57 +00:00
reset < name >
Reset user password
2014-09-11 21:01:53 +00:00
edit < name >
Edit user: '/home/erming/.shout/users/< name > /user.json'
Options:
-h, --help output usage information
-h, --host < ip > host
-p, --port < port > port
2014-08-17 22:05:27 +00:00
```
Pretty simple, huh?
If you want to edit users manually, see `users/example/user.json` .
2014-09-13 12:23:17 +00:00
## Custom paths
You can define Shout's file storage path via the following options:
- Add an entry called `home` to the `config.json` file.
- Set the environment variable `SHOUT_HOME` before calling the shout executable.
- Use the default of `$HOME/.shout` .
2014-08-17 15:40:28 +00:00
## Commands
2014-07-20 23:14:36 +00:00
These are the commands currently implemented:
- [x] /close
- [x] /connect
- [x] /deop
- [x] /devoice
- [x] /disconnect
- [x] /invite
- [x] /join
- [x] /kick
- [x] /leave
- [x] /me
- [x] /mode
- [x] /msg
- [x] /nick
- [x] /notice
- [x] /op
- [x] /part
- [x] /query
- [x] /quit
2014-08-25 10:35:19 +00:00
- [x] /quote
2014-07-20 23:14:36 +00:00
- [x] /raw
- [x] /say
- [x] /send
- [x] /server
- [x] /slap
- [x] /topic
- [x] /voice
- [x] /whois
## License
Available under [the MIT license ](http://mths.be/mit ).