All Projects → georoot → ristretto

georoot / ristretto

Licence: GPL-3.0 license
Git server and api in nodejs

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ristretto

Sshserver
This is a tutorial on how to build a basic SSH Server in C#, but you are welcome to try following in any language.
Stars: ✭ 114 (+418.18%)
Mutual labels:  ssh-server
Pyrexecd
Standalone SSH server for Windows
Stars: ✭ 207 (+840.91%)
Mutual labels:  ssh-server
tallow
Block hosts that attempt to bruteforce SSH using the journald API.
Stars: ✭ 79 (+259.09%)
Mutual labels:  ssh-server
Coco
Jumpserver ssh/ws server
Stars: ✭ 139 (+531.82%)
Mutual labels:  ssh-server
Ssh
Easy SSH servers in Golang
Stars: ✭ 2,254 (+10145.45%)
Mutual labels:  ssh-server
Bastillion
Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys.
Stars: ✭ 2,730 (+12309.09%)
Mutual labels:  ssh-server
Mockssh
Mock an SSH server and define all commands it supports (Python, Twisted)
Stars: ✭ 107 (+386.36%)
Mutual labels:  ssh-server
FxSsh
FxSsh is a lightweight SSH server side application as SSH reinforcement of GitCandy.
Stars: ✭ 103 (+368.18%)
Mutual labels:  ssh-server
Secure Wireguard Implementation
A guide on implementing a secure Wireguard server on OVH (or any other Debian VPS) with DNSCrypt, Port Knocking & an SSH-Honeypot
Stars: ✭ 200 (+809.09%)
Mutual labels:  ssh-server
waycup
A minimal tool that hides your online assets from online security scanners, researchers and hackers.
Stars: ✭ 100 (+354.55%)
Mutual labels:  ssh-server
Dos ssh
Use BIOS ram hacks to make a SSH server out of any INT 10 13h app (MS-DOS is one of those)
Stars: ✭ 139 (+531.82%)
Mutual labels:  ssh-server
Ssh2docker
🐳 standalone SSH server that connects you to your Docker containers
Stars: ✭ 159 (+622.73%)
Mutual labels:  ssh-server
Jumpserver
JumpServer 是全球首款开源的堡垒机,是符合 4A 的专业运维安全审计系统。
Stars: ✭ 17,563 (+79731.82%)
Mutual labels:  ssh-server
Centos Ssh
OpenSSH / Supervisor / EPEL/IUS/SCL Repos - CentOS - Docker image build.
Stars: ✭ 126 (+472.73%)
Mutual labels:  ssh-server
devops kkit
django2.1写的自动化运维系统
Stars: ✭ 51 (+131.82%)
Mutual labels:  ssh-server
Addon Ssh
SSH & Web Terminal - Home Assistant Community Add-ons
Stars: ✭ 114 (+418.18%)
Mutual labels:  ssh-server
Git Server Docker
Git Server in Docker
Stars: ✭ 218 (+890.91%)
Mutual labels:  ssh-server
ssh-chess
Chess over a ssh connection
Stars: ✭ 13 (-40.91%)
Mutual labels:  ssh-server
ssh-auth-logger
A low/zero interaction ssh authentication logging honeypot
Stars: ✭ 17 (-22.73%)
Mutual labels:  ssh-server
SSH-PuTTY-login-bruteforcer
Turn PuTTY into an SSH login bruteforcing tool.
Stars: ✭ 222 (+909.09%)
Mutual labels:  ssh-server

Join the chat at https://gitter.im/ristretto-git/Lobby Twitter URL

Ristretto

Ristretto is a very light-weight git server written in nodejs. After a night of sleep deprivation and over caffination the initial version is released. Current release has two components

  1. Git server that manages requests over ssh
  2. Simple api that currently support authentication and creating new user repo.

Testing

I have hosted a version of code over here. Remember that the server is only for test and i don't take any backups on the same.

Installation

Most of the parts about installation is pretty straight as you see in a node project.

git clone https://github.com/georoot/ristretto.git
cd ristretto
npm install

Now both servers are written in separate files. Git server comes under app.js and the api under api.js. You can run the both using

pm2 start app.js
pm2 start api.js

If you are developing the app, you can use

npm run devDaemon
npm run devApi

Which is configured with nodemon to autoreload the server on file change.

Environment variables

There are some environment variables that you do need to define

privateKey = { Location of your private key file, needed by ssh server}
             { EX : /home/user/.ssh/id_rsa}
GitBase    = { Where exactly do you want to store the repository}
             { EX : /home/user/git}
DbHost     = { mongodb host}
DbName     = { Name of database you want to use}
SaltRound  = { Used for password hashing, just set that to 10 ;) }
Secret     = { This is needed to generate token... Its a secret}
             { In linux you can generate using `xxd -l 20 -p /dev/urandom`}
HttpPort   = { The port where your api should run at}
GitPort    = { The port where your ssh server should run at}

Documentation

Although you can generate documentation on you own using

npm run genDocs

But again i have uploaded a version of the same over here

User interface

Using api you can always create one, if you do create a very nice one, share the repo link and i will merge that with codebase. I hate writing HTMl so this probably takes the back of my seat.

Docker support

It's in the pipeline once i get the codebase stable.

Why not to use this ?

As i wrote above, most of the codebase is hack and currently lacks some very important features.

Why to use this ?

If you are a programer, which i pretty much believe you are because you are looking at this site, you can fork the code and make PR to further this project.

My condition

I took me around 10 hours to get though this code-base and now i look more like

Random dude with coffee mug

Feel free to make PR ;) happy hacking !!

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].