Skip to content

Instantly share code, notes, and snippets.

Avatar

Shakiba Moshiri shakibamoshiri

View GitHub Profile
@shakibamoshiri
shakibamoshiri / 001-server.bash
Created Aug 30, 2022 — forked from leandronsp/001-server.bash
A complete yet simple Web server (with login & logout system) written in Shell Script
View 001-server.bash
#!/bin/bash
## Create the response FIFO
rm -f response
mkfifo response
function handle_GET_home() {
RESPONSE=$(cat home.html | \
sed "s/{{$COOKIE_NAME}}/$COOKIE_VALUE/")
}
@shakibamoshiri
shakibamoshiri / ANSI.md
Created Jul 18, 2022 — forked from fnky/ANSI.md
ANSI Escape Codes
View ANSI.md

ANSI Escape Sequences

Standard escape codes are prefixed with Escape:

  • Ctrl-Key: ^[
  • Octal: \033
  • Unicode: \u001b
  • Hexadecimal: \x1B
  • Decimal: 27
@shakibamoshiri
shakibamoshiri / README.md
Created Apr 15, 2022 — forked from qdm12/README.md
Wireguard and iptables restrictions for multiple users
View README.md

Wireguard and iptables restrictions for multiple users

If you don't know what Wireguard is, well, you should. It's fast, easy to setup and highly configurable. We will configure Wireguard for multiple users with various restrictions using iptables.

Assumptions

This should fit most setups (not mine though 😉)

View install and test poshtiban CLI
# On linux servers
# cd into a temp dir
cd `mktemp -d`
# install it
npm install poshtiban
# test it
./node_modules/poshtiban/bin/run login --token=YOUR_TOKEN
@shakibamoshiri
shakibamoshiri / curl-websocket.sh
Created Jul 31, 2020 — forked from htp/curl-websocket.sh
Test a WebSocket using curl.
View curl-websocket.sh
curl --include \
--no-buffer \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Host: example.com:80" \
--header "Origin: http://example.com:80" \
--header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
--header "Sec-WebSocket-Version: 13" \
http://example.com:80/
@shakibamoshiri
shakibamoshiri / git-deployment.md
Created Jul 23, 2020 — forked from noelboss/git-deployment.md
Simple automated GIT Deployment using Hooks
View git-deployment.md

Simple automated GIT Deployment using GIT Hooks

Here are the simple steps needed to create a deployment from your local GIT repository to a server based on this in-depth tutorial.

How it works

You are developing in a working-copy on your local machine, lets say on the master branch. Most of the time, people would push code to a remote server like github.com or gitlab.com and pull or export it to a production server. Or you use a service like deepl.io to act upon a Web-Hook that's triggered that service.

@shakibamoshiri
shakibamoshiri / chat-frontend.js
Created Jul 3, 2018 — forked from martinsik/chat-frontend.js
Node.js chat frontend and server
View chat-frontend.js
$(function () {
"use strict";
// for better performance - to avoid searching in DOM
var content = $('#content');
var input = $('#input');
var status = $('#status');
// my color assigned by the server
var myColor = false;