o            o
  \          /
   \        /
    :-'""'-:
 .-'  ____  `-.
( (  (_()_)  ) )
 `-.   ^^   .-'
    `._==_.'
    ___)(___
GleebleGlob

Welcome to GleebleGlob.Club

Home of GG CLI & API


Links

Authors

Contents

  1. GleebleGlob
  2. StormHacks Track: Social / Connectivity
  3. Usage
  4. Installation
  5. Try Streaming These!

GleebleGlob

GleebleGlob is something we came up because it was funny - it doesn't mean anything.

Thanks for that, Saarang.

To describe GleebleGlob, I'm going to use its initialism rather than its expanded form: GG.

The domain however, we will always argue, is the greatest domain known to humanity.

(Good luck remembering it, as we've all gone through mistakes of geebleglop, beegleblog, gooblegleb, ...)


StormHacks Track: Social / Connectivity

GG fits into the Social / Connectivity track of the SFU Surge StormHacks 2024 Hackathon, which GG was created during/for.

But... what does GG do in this track?

To put it simply, GG enhances your social experience in the terminal, with digital connectivity in the form of convenient video sharing among friends.

GG is like YouTube, but for private videos shared among your friends, and viewed entirely from the terminal, in ASCII.

Yeah, that's right, friggin' ASCII.

Here's an example:

Screenshot of a GG stream

Usage

As mentioned, GG is meant to be utilized via the terminal.

Here is the usage information as given by the command gg help:

gg - v0.2 - [g]leeble[g]lob command line interface.
Check out https://gleebleglob.club for service information.
GENERAL USAGE:
	gg [command] [...arguments]
	NOTE: excess arguments will be ignored.
COMMANDS:
	gg help
	gg version
	gg register [username]
	gg login [username]
	gg logout
	gg status
	gg upload [file path]
	gg stream [file token]

It should be noted that GG keeps track of your current session (previously uploaded and streamed videos) in ~/.ggsession and ~/.gg{user} files.

To check and see if you are currently logged in, simply run gg status.

It should be noted that [file path] must refer to a video file, and that [file token] will be provided upon successful uploading of a given file.

You can share the file token given by the upload command with your friends on different machines, as GG interacts with a GG API to store and stream video data.

Remember, like YouTube, but on the CLI!


Installation

To install GG, you'll need to compile the C++ source code for the client on your machine.

The GG API is currently deployed to api.gleebleglob.club, and the client will automatically connect to this API.

Compiling and using the client has been thoroughly tested on MacOS, and minorly tested for Linux (don't trust us on that though - venture at your own risk).

You will need to install the following dependencies, either with homebrew, apt, or another package manager:

Networking is accomplished with BSD Sockets, which is provided by any POSIX-compliant OS (such as MacOS and Linux), so no additional dependencies need be installed for that.

With these dependencies installed properly, clone the source code from GG's GitHub repo, and run the following commands in order:

  1. cd GG
  2. cd client
  3. cmake -S . -B build
  4. ./build.sh
  5. sudo cp build/gg /usr/local/bin/gg

After which, the gg command utility will be available from your terminal.

Read the Usage section for more information on how to use GG as a CLI.


Try Streaming These!

(Run gg stream v_0123456789... when installed.)

Or upload your own with gg upload [file path]!

NOTE: identifiers will not appear on this site. However, anyone with the identifier can stream the video.