From dccd7580249eb32d7c4957078d3527513eb4df73 Mon Sep 17 00:00:00 2001 From: S Leibrock Date: Tue, 16 Aug 2016 11:37:09 -0400 Subject: [PATCH] Updated FAQ (markdown) --- FAQ.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 9 deletions(-) diff --git a/FAQ.md b/FAQ.md index da722a4..592d983 100644 --- a/FAQ.md +++ b/FAQ.md @@ -4,16 +4,10 @@ Frequently Answered Questions ## Is this a replacement for IRC? ```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 -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, +but for smaller projects and teams, ```ssh-chat``` might be better in the long run. ```ssh-chat``` identifies +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, 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? 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. ``` bash 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 cd ~/work/src/github.com/shazow/ssh-chat 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 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```. + +