Updated FAQ (markdown)

S Leibrock 2016-08-16 11:37:09 -04:00
parent 80b13dd265
commit dccd758024

69
FAQ.md

@ -4,16 +4,10 @@ Frequently Answered Questions
## Is this a replacement for IRC? ## Is this a replacement for IRC?
```ssh-chat``` and IRC have overlapping scenarios. ```ssh-chat``` right now doesn't have channels like IRC does, ```ssh-chat``` and IRC have overlapping scenarios. ```ssh-chat``` right now doesn't have channels like IRC does,
but for smaller projects and teams, ssh-chat might be better in the long run. ssh-chat identifies users but for smaller projects and teams, ```ssh-chat``` might be better in the long run. ```ssh-chat``` identifies
by their public keys so authentication is automatically handled by sshd. ```ssh-chat``` is also easier to set up users by their public keys so authentication is automatically handled by sshd. ```ssh-chat``` is also easier to set up since all a user has to do is connect via ssh to a specified IP as opposed to installing an IRC client,
since all a user has to do is connect via ssh to a specified IP as opposed to installing an IRC client,
connecting to a server, and connecting to a specific channel. connecting to a server, and connecting to a specific channel.
## Can I block users from connecting?
Yes. ```ssh-chat``` has a whitelisting feature which allows you to take users' public keys and add them to a
whitelist, so that only they may connect when their public key matches the authorized keys given to ```ssh-chat```.
## How can I build ssh-chat? ## How can I build ssh-chat?
First make sure you have a copy of the Go compiler (1.6+ should be fine). Next you need a workspace for First make sure you have a copy of the Go compiler (1.6+ should be fine). Next you need a workspace for
@ -24,7 +18,7 @@ The next step is setting up our GOPATH so Go knows where it can start building a
After that we can copy the source code into the GOPATH directory for compiling. After that we can copy the source code into the GOPATH directory for compiling.
``` bash ``` bash
mkdir ~/work mkdir ~/work
export GOPATH=~/work export GOPATH=~/work # add this to your .bashrc/.zshrc file to save you time
git clone https://github.com/shazow/ssh-chat ~/work/src/github.com/shazow git clone https://github.com/shazow/ssh-chat ~/work/src/github.com/shazow
cd ~/work/src/github.com/shazow/ssh-chat cd ~/work/src/github.com/shazow/ssh-chat
make make
@ -35,3 +29,60 @@ for you.
If you have any trouble building, please open an issue on the tracker and let us know what problems you run If you have any trouble building, please open an issue on the tracker and let us know what problems you run
into during the build process. into during the build process.
## How can I contribute to ssh-chat?
So once you've set up the build phase, you can start contributing right away! ```ssh-chat``` uses
Golang, so if you are familiar with C/C++ or Java, Golang should be a snap. Check out the following
sites for quick insight into the Go language.
* [A Tour of Go](https://tour.golang.org/welcome/1)
* [Go By Example](https://gobyexample.com/)
Next, before you start committing changes, you will want to create a different branch to work on, and
fork ```ssh-chat``` so you can create Pull Requests. First create a fork, then we will go over how to
create a branch.
Once you've forked ```ssh-chat```, go into your shell and create a new Git branch. Name it something
based on what you're adding to the project. Try for simple names like ```readme-fix``` or ```new-themes```,
something short and easy that describes a feature or addition. Then, you check out into that new branch
you made.
``` bash
git branch my-branch # change my-branch to your desired branch name
git checkout my-branch
```
Now you can make your changes. Once you've finished that, you will then have to add these files to be
staged for committing. Once added, we can create a commit message, and push it to your fork repository.
```
git add file.txt # add more files if you've made changes in more places
git commit -m "Fixed not having a file.txt in the project"
```
Now the changes are ready to be pushed. Currently, Git doesn't know where to push these changes, since
we're on a different branch. We need to set a remote that we can push these changes to.
```
git remote add myrepo https://github.com/my-username/ssh-chat
git push -u myrepo
```
That should push your changes to your repository instead of the ```ssh-chat``` repository. Now you can
create a Pull Request which will compare your changes to the upstream's (original repository) Git, and
if the changes are approved by the owner, then they will get merged!
## What features are planned for ssh-chat?
Check the [milestones page](https://github.com/shazow/ssh-chat/milestones) which should have
a list of features planned.
## How can I click on URLs posted in chat?
Do you have clickable/yankable URL support in your terminal emulator? Depending on your terminal, you
might be able to check the settings to see if it has URL support.
## Can I block users from connecting?
Yes. ```ssh-chat``` has a whitelisting feature which allows you to take users' public keys and add them to a
whitelist, so that only they may connect when their public key matches the authorized keys given to ```ssh-chat```.