Skip to content

routrohan/go-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖥️ Go-shell - Your IRC playground

📄 Description

Go-shell is an experimental IRC client that runs entirely on the terminal. It is built using Golang. The implementation is based on TCP standards. The app follows the standard procedures of any IRC server (setting up nicknames, joining channels/rooms, broadcast etc).
Hope you like it :)

🛠️ Local Setup

Requirements

  1. To run the following application in your local machine, you need to have the following.
  • A stable version of Golang (I used go1.16.3).
  • If you don't have Golang installed, find one that suits your OS here.
  • Check if Go is installed by running go version.
  1. Telnet (to connect to the server)

Build and Run

1. To start the server

  • Switch to the folder App in the project root cd Go-shell/App.
  • Build the project go build -o bin/main.
  • Run the compiled file /bin/.main.
  • The server is up and running!

    server

2. To interact within the app

  • Open two different terminal sessions
  • Connect to localhost:8888 using telnet: telnet localhost 8888 and you are good to go!

    client

    The app has the following commands as of now:
  1. /nick : Set your nickname
  2. /join : Join a particular channel/room
  3. /rooms: View all active rooms
  4. /msg : Send a message to all the users in the room
  5. /quit : Quit the app

    An example of an interaction is given below:

    clientint

Note: There are no rooms that are automatically created. The rooms are created only when the /join command is used (if the room has been created by another user then you will enter that room, else a fresh room will be created)

About

An experimental IRC playground

Resources

License

Stars

Watchers

Forks

Languages