Skip to content

Instantly share code, notes, and snippets.

View yegorg's full-sized avatar

Yegor G. yegorg

View GitHub Profile
@yegorg
yegorg / video_to_gif.sh
Created January 11, 2023 15:55 — forked from Olshansk/video_to_gif.sh
A handy bash function to convert a video (e.g. a screen cap) to a gif using ffmpeg in your shell
function video_to_gif {
local input_video_path="$1"
local output_gif_path="$2"
local fps="${3:-10}"
local scale="${4:-1080}"
local loop="${5:-0}"
ffmpeg -i "${input_video_path}" -vf "setpts=PTS/1,fps=${fps},scale=${scale}:-2:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop $loop "${output_gif_path}"
}
@yegorg
yegorg / homebrew.md
Created August 17, 2017 07:40 — forked from indiesquidge/homebrew.md
How to and Best of Homebrew

Homebrew

How To

Homebrew is a package management system for OS X. You can read more about it here, or simply run

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

to install it.

@yegorg
yegorg / bak.sh
Created August 7, 2017 10:50
Full backup from all instances to local HDD
#!/bin/bash
###
### Backing up data from everywhere to local HDD
### duplicity, rsync, scp
###
echo "Today is: `date`"
@yegorg
yegorg / vpn.sh
Last active August 7, 2017 09:49
Starting OpenVPN and Shadowsocks
#!/bin/bash
###
### Ubuntu, OpenVPN, Shadowsocks
### Be smart, stay secure!
###
echo " Establishing OpenVPN full-routing tunnel to New-York, USA..."
myip="$(dig +short myip.opendns.com @resolver1.opendns.com)"
@yegorg
yegorg / upd.sh
Last active August 7, 2017 09:57
Full update Debian/Ubuntu system packages & Full update all Python packages installed
#!/bin/bash
###
### Automatic updates
### Debian 8+ / Ubuntu 16.04+
### Full system upgrade with APT
### Python 2.x/3.x upgrade installed packages with PIP
###
echo " "
@yegorg
yegorg / DNS tunneling with iodine.md
Created May 31, 2017 19:03 — forked from nukeador/DNS tunneling with iodine.md
How to install and use iodine for DNS tunneling.

##Domain

We need some records on our domain (mydomain.com) DNS for connections. Add these records:

t1              IN      NS      t1ns.mydomain.com. ; note final the dot!
t1ns            IN      A       OUR_SERVER_IP

##Server

@yegorg
yegorg / blocksync.py
Created March 31, 2017 08:07 — forked from shodanshok/blocksync.py
Block device sync between remote hosts. Based off http://www.bouncybouncy.net/programs/blocksync.py
#!/usr/bin/env python
"""
Synchronise block devices over the network
Copyright 2006-2008 Justin Azoff <[email protected]>
Copyright 2011 Robert Coup <[email protected]>
License: GPL
Getting started:
@yegorg
yegorg / sysctl.conf
Created September 20, 2016 09:28
ubuntu sysctl performance tuning
# Kernel sysctl configuration file for Linux
#
# Version 1.12 - 2015-09-30
# Michiel Klaver - IT Professional
# http://klaver.it/linux/ for the latest version - http://klaver.it/bsd/ for a BSD variant
#
# This file should be saved as /etc/sysctl.conf and can be activated using the command:
# sysctl -e -p /etc/sysctl.conf
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and sysctl.conf(5) for more details.
@yegorg
yegorg / sysctl.conf
Created September 20, 2016 09:25 — forked from jgeiger/sysctl.conf
Tweaked sysctl.conf for ubuntu
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#
#kernel.domainname = example.com
# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3
@yegorg
yegorg / README.md
Created November 12, 2015 05:38 — forked from schickling/README.md
Install OpenVPN on Ubuntu 14.04 for yourserver.se

Preconditions

  • You need to have TUN/TAP enabled

Install dependencies

$ apt-get install -y openvpn easy-rsa