All Projects → command-line-bootcamp → Cli Boot.camp

command-line-bootcamp / Cli Boot.camp

Licence: other
💻 command-line bootcamp adventure in your browser

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Cli Boot.camp

Ed
A modern UNIX ed (line editor) clone written in Go
Stars: ✭ 44 (-50%)
Mutual labels:  terminal, command-line, unix
Mocha Chrome
☕️ Run Mocha tests using headless Google Chrome
Stars: ✭ 66 (-25%)
Mutual labels:  terminal, command-line
Nanvix
Educational Spinoff of Nanvix
Stars: ✭ 65 (-26.14%)
Mutual labels:  teaching, unix
Cross Platform Node Guide
📗 How to write cross-platform Node.js code
Stars: ✭ 1,161 (+1219.32%)
Mutual labels:  terminal, unix
Estrutura De Dados Em Java
Repositório do Material Estrutura de Dados em Java, contendo os principais tópicos de disciplinas sobre Estrutura de Dados. CURSO SOBRE ED: https://luisaraujo.github.io/Estrutura-de-Dados-em-Java/index.html
Stars: ✭ 58 (-34.09%)
Mutual labels:  learning, teaching
Fsq
A tool for querying the file system with a SQL-like language.
Stars: ✭ 60 (-31.82%)
Mutual labels:  terminal, command-line
Lua cliargs
A command-line argument parsing module for Lua.
Stars: ✭ 84 (-4.55%)
Mutual labels:  terminal, command-line
Lucid
A simple mock-application for programs that work with child processes
Stars: ✭ 45 (-48.86%)
Mutual labels:  terminal, command-line
Navi
An interactive cheatsheet tool for the command-line
Stars: ✭ 10,055 (+11326.14%)
Mutual labels:  terminal, command-line
Oh
A new Unix shell.
Stars: ✭ 1,206 (+1270.45%)
Mutual labels:  command-line, unix
Unix Text Commands
Unix Text Processing Command Reference
Stars: ✭ 78 (-11.36%)
Mutual labels:  command-line, unix
Cmd
A simple package to execute shell commands on linux, windows and osx
Stars: ✭ 56 (-36.36%)
Mutual labels:  terminal, unix
Rang
A Minimal, Header only Modern c++ library for terminal goodies 💄✨
Stars: ✭ 1,080 (+1127.27%)
Mutual labels:  terminal, command-line
Jsonf
A Unix-y utility for formatting JSON in a more stream-friendly way
Stars: ✭ 65 (-26.14%)
Mutual labels:  command-line, unix
Crossline
A small, self-contained, zero-config, MIT licensed, cross-platform, readline and libedit replacement.
Stars: ✭ 53 (-39.77%)
Mutual labels:  terminal, command-line
Rat
Compose shell commands to build interactive terminal applications
Stars: ✭ 1,158 (+1215.91%)
Mutual labels:  terminal, command-line
Awesome Terminals
Terminal Emulators
Stars: ✭ 80 (-9.09%)
Mutual labels:  terminal, command-line
Blockchain Learning
Learn and promote blockchain together by writing
Stars: ✭ 44 (-50%)
Mutual labels:  learning, teaching
Yes
yes - Implementation of simple and dangerous yes command in various languages. 👍
Stars: ✭ 72 (-18.18%)
Mutual labels:  terminal, command-line
Window Size
Reliable way to to get the height and width of the terminal/console in a node.js environment.
Stars: ✭ 79 (-10.23%)
Mutual labels:  terminal, command-line

Command-line bootcamp

Learn the unix command-line by using it in your browser.

contributors

Contributing

build and deploy the frontend

You'll need node.js

# install and set up nvm and node
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
source ~/.bashrc

# some dependencies don't work with node 1+, so stick with 0.12
nvm install 0.12
nvm use 0.12

Once you've got node installed, grab this repo and let node install the dependencies:

git clone https://github.com/Blahah/command_line_bootcamp.git
cd command_line_bootcamp
npm install

Make your changes (if any) and then deploy:

npm run deploy

setup and run the docker server backend

Instructions for running on digitalocean:

Create a new instance of the Ubuntu+docker image.

then ssh in and...

# keep it running
tmux

# need some basics
apt-get update
apt-get install -y build-essential g++

# install and set up nvm and node
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
source ~/.bashrc

# use node version 4.1
nvm install 4.1
nvm use 4.1

# major dependencies
npm install --global docker-browser-server

# setup docker
docker pull ubuntu
git clone https://github.com/Blahah/command_line_bootcamp.git
cd command_line_bootcamp
docker build -t "command_line_bootcamp" .
docker-browser-server command_line_bootcamp -p 8080

Maintainers

* probably only relevant for maintainers or if you run a public version of this site somewhere else

public docker server backend

If you want to run this on a public site with https enabled then you'll need to setup the websocket backend run run on ssl too (wss://).

  • set up a certificate for the address that points to the backend

  • set up nginx as an ssl terminator and install the new certificates

  • run docker-browser-server on a differnt port so it doesn't conflict with nginx (8000 here)

server {
    listen 8080;
    listen 8443 ssl;
    server_name command-line-bootcamp-backend.alexmorley.me

    # Cloudflare can generate al of these files for you.
    ssl on;
    ssl_certificate         /etc/nginx/ssl/command-line-bootcamp-backend.alexmorley.me/server.pem;
    ssl_certificate_key     /etc/nginx/ssl/command-line-bootcamp-backend.alexmorley.me/server.key;
    ssl_trusted_certificate /etc/nginx/ssl/command-line-bootcamp-backend.alexmorley.me/cloudflare_origin_rsa.pem;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;

        # Need these headers to upgrade http connection to websocket
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;

        # These you might not need
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

cleaning up long-running containers

Sometimes people leave their browser windows open for a really long time. If you don't want to fund the docker container running for that time, you can clean up long-running containers:

docker stop $(docker ps | grep hours | cut -d ' ' -f1 | paste - - - - )
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].