Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zachflower/fingerer

A finger server for GitHub profile information
https://github.com/zachflower/fingerer

finger linux ruby ruby-gem tcp unix

Last synced: 2 months ago
JSON representation

A finger server for GitHub profile information

Awesome Lists containing this project

README

        

# Finger(er)

[![Code Climate](https://codeclimate.com/github/zachflower/fingerer/badges/gpa.svg)](https://codeclimate.com/github/zachflower/fingerer) [![Build Status](https://travis-ci.org/zachflower/fingerer.svg?branch=master)](https://travis-ci.org/zachflower/fingerer) [![Gem Version](https://badge.fury.io/rb/fingerer.svg)](https://badge.fury.io/rb/fingerer)

Finger(er) is a [finger](https://en.wikipedia.org/wiki/Finger_protocol) server that returns the GitHub profile associated with the provided username. Quickly lookup GitHub user and organization information using a standard `finger` command.

**Syntax**

```
finger [email protected]
```

**Response**

```
+-[ User ]-------------------------------------------------------------------+
| |
| Username: zachflower Full Name: Zachary Flower |
| Website: http://zacharyflower.com Email: [email protected] |
| Location: Boulder, CO |
| |
+-[ Stats ]------------------------------------------------------------------+
| |
| Followers: 26 Following: 11 Repositories: 35 |
| |
+-[ Biography ]--------------------------------------------------------------+
| |
| Professional nerd, avid indoorsman, technical writer, contributor |
| @fixateio, lead developer @emersonstone |
| |
+----------------------------------------------------------------------------+

Member since Sat Jul 16 19:20:34 2011
```

## Background

Via Wikipedia:

> The Name/Finger protocol, written by David Zimmerman, is based on Request for Comments document [RFC 742](https://tools.ietf.org/html/rfc742) (December 1977) as an interface to the **name** and **finger** programs that provide status reports on a particular computer system or a particular person at network sites. The finger program was written in 1971 by [Les Earnest](https://en.wikipedia.org/wiki/Les_Earnest) who created the program to solve the need of users who wanted information on other users of the network. Information on who is logged-in was useful to check the availability of a person to meet. This was probably the earliest form of [presence information](https://en.wikipedia.org/wiki/Presence_information) for remote network users.
>
> Prior to the finger program, the only way to get this information was with a [**who**](https://en.wikipedia.org/wiki/Who_(Unix)) program that showed IDs and terminal line numbers (the server's internal number of the communication line, over which the user's terminal is connected) for logged-in users. Earnest named his program after the idea that people would run their fingers down the who list to find what they were looking for.

## Installation

Add this line to your application's Gemfile:

```
gem 'fingerer'
```

And then execute:

```
bundle install
```

Or install it yourself as:

```
gem install fingerer
```

## Usage

```
Usage: fingerer [options]
-d, --daemonize Run as a background process
-p, --port PORT Port to run on (default: 79)
-l, --listen IP IP to listen on (default: 0.0.0.0)
```

**Note: Finger(er) must be run as root, as fingerd is expected to be listening on port 79.**

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

## License

Fingerer is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).