Skip to content

Instantly share code, notes, and snippets.

View oz123's full-sized avatar
🎯
Focusing

Oz Tiram oz123

🎯
Focusing
View GitHub Profile
@waylan
waylan / foo.sh
Created November 15, 2012 18:39
Simple bash subcommands. Each subcommand is implemented as a function. For example, `sub_funcname` is called for `funcname` subcommand.
#!/bin/sh
ProgName=$(basename $0)
sub_help(){
echo "Usage: $ProgName <subcommand> [options]\n"
echo "Subcommands:"
echo " bar Do bar"
echo " baz Run baz"
echo ""
@Natim
Natim / ini2json.py
Created January 11, 2013 10:21
Convert an ini configuration file into a json file
# -*- coding: utf-8 -*-
import json
import sys
from ConfigParser import (ConfigParser, MissingSectionHeaderError,
ParsingError, DEFAULTSECT)
class StrictConfigParser(ConfigParser):
def _read(self, fp, fpname):
@alexcabrera
alexcabrera / sessiontest.py
Created January 29, 2013 05:20
Example of using beaker sessions with bottle
import bottle
from beaker.middleware import SessionMiddleware
session_opts = {
'session.type': 'memory',
'session.cookie_expires': 300,
'session.auto': True
}
app = SessionMiddleware(bottle.app(), session_opts)
@akaihola
akaihola / salt-bootstrap.sh
Created February 20, 2013 20:22
Salt minion bootstrap script for pristine Debian/Ubuntu virtual hosts
#!/bin/bash
# Salt minion bootstrap script for freshly installed Debian/Ubuntu
# virtual servers
#
# Let's assume you have a newly created Debian/Ubuntu VPS with no
# network interface running. To bootstrap Salt, copy this file into
# your home directory on the [SALT MASTER] and do the following on the
# VPS:
#
@pikhovkin
pikhovkin / weasyprint_complex_headers.py
Last active October 8, 2024 04:49
Repeat on each page of complex headers (eg, tables) except the first page
# coding: utf-8
from weasyprint import HTML, CSS
def get_page_body(boxes):
for box in boxes:
if box.element_tag == 'body':
return box
@sturadnidge
sturadnidge / wheezy.preseed
Created June 22, 2013 14:40
Debian 7.x preseed file for a simple, minimal install.
#### Contents of the preconfiguration file (for wheezy)
### Localization
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/keymap select us
d-i keymap select us
### Network configuration
d-i netcfg/choose_interface select auto
### Mirror settings
@killercup
killercup / pandoc.css
Created July 3, 2013 11:31
Add this to your Pandoc HTML documents using `--css pandoc.css` to make them look more awesome. (Tested with Markdown and LaTeX.)
/*
* I add this to html files generated with pandoc.
*/
html {
font-size: 100%;
overflow-y: scroll;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
@martijnvermaat
martijnvermaat / ssh-agent-forwarding-screen.md
Created December 21, 2013 15:06
SSH agent forwarding and screen

SSH agent forwarding and screen

When connecting to a remote server via SSH it is often convenient to use SSH agent forwarding so that you don't need a separate keypair on that server for connecting to further servers.

This is enabled by adding the

ForwardAgent yes

option to any of your Host entries in ~/.ssh/config (or alternatively with the -A option). Don't set this option in a wildcard Host * section since any user on the remote server that can bypass file permissions can now als use keys loaded in your SSH agent. So only use this with hosts you trust.

@j0lvera
j0lvera / decorator.py
Last active June 1, 2021 20:33
bottle.py basic auth examples
from bottle import route, run, auth_basic
from passlib.hash import sha256_crypt
def check_pass(username, password):
hashed = ''.join(redis.hmget(username, "password"))
return sha256_crypt.verify(password, hashed)
@route('/', method='GET')
@auth_basic(check_pass) # <-- decorator
def index():
@j0lvera
j0lvera / auth.py
Created April 6, 2014 06:42
auth.py
#!/usr/bin/env python
from bottle import route, run, template, static_file, request, parse_auth, auth_basic
from redis import StrictRedis as Redis
from cork import Cork
from hashids import Hashids
from passlib.hash import pbkdf2_sha256
incr1 = Hashids(salt="Eehu6laucelohh3b", min_length="16")
incr2 = Hashids(salt="Phiejapie2ahr9wa", min_length="8")