Skip to content

Instantly share code, notes, and snippets.

@greensea
greensea / OpenVPN-2.2.2-obfs.patch
Last active March 22, 2023 09:17
The obfs patch obsfucate OpenVPN traffic, make it looks like random traffic. The obfs patch add two options for OpenVPN. --obfs-salt <string> is a secret to generate the input XOR stream. To enable the obfs patch, this options must be set. --obfs-padlen <num> is a positive integer max to 255. This option tells obfs patch to padding random conten…
--- openvpn-2.2.2.orig/options.c 2011-12-14 00:58:56.000000000 +0800
+++ openvpn-2.2.2/options.c 2012-12-21 10:44:57.683130505 +0800
@@ -54,6 +54,10 @@
#include "memdbg.h"
+extern char* _socket_obfs_salt;
+extern int _socket_obfs_salt_len;
+extern int _socket_obfs_padlen;
+
@nickleefly
nickleefly / forever.md
Last active December 13, 2016 10:26
forever your node app

Install Forever:

npm install forever -g

now your can run forever

forever --help
forever start app.js
@adamjimenez
adamjimenez / gist:5917897
Created July 3, 2013 13:36
Generate thumbnails from video files using HTML5's video tag and canvas
<?php
//where you want your thumbnails to go
$thumbs_dir = 'uploads/thumbs/';
//this should be an array of video paths
$videos = array();
if( $_POST["name"] ){
// Grab the MIME type and the data with a regex for convenience
if (!preg_match('/data:([^;]*);base64,(.*)/', $_POST['data'], $matches)) {
@laurentiuc
laurentiuc / addThis-directives.js
Last active February 8, 2017 19:29
AngularJS addThis directive
angular.module('myApp').directive('addthisToolbox', ['$timeout', function($timeout) {
return {
restrict : 'A',
transclude : true,
replace : true,
template : '<div ng-transclude></div>',
link : function($scope, element, attrs) {
$timeout(function () {
addthis.init();
addthis.toolbox($(element).get(), {}, {
@plentz
plentz / nginx.conf
Last active September 29, 2026 22:19
Best nginx configuration for improved security(and performance)
# to generate your dhparam.pem file, run in the terminal
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
@matheusoliveira
matheusoliveira / json_manipulator.sql
Last active January 13, 2025 00:56
Simple PostgreSQL functions to manipulate json objects. (Note: performance is not a concern for those functions)
CREATE OR REPLACE FUNCTION public.json_append(data json, insert_data json)
RETURNS json
IMMUTABLE
LANGUAGE sql
AS $$
SELECT ('{'||string_agg(to_json(key)||':'||value, ',')||'}')::json
FROM (
SELECT * FROM json_each(data)
UNION ALL
SELECT * FROM json_each(insert_data)
@mattlanham
mattlanham / x-editable angularjs directive
Last active May 19, 2016 07:55
Really simple directive for http://vitalets.github.io/x-editable/, created this because i wanted to use the popover, and not the inline version provided by the existing angularJS directive. It's really simple to use, just add 'editable' to your modules, then use like: <h2 ng-model="form.name" editable></h2> you can also pass through options i.e.…
(function() {
"use strict";
angular.module("editableModule", ['ng']).directive("editable", function($timeout) {
return {
restrict: "AE",
scope: true,
require:"ngModel",
link: function(scope, element, attrs, ngModel) {
element.editable({
@nvgrw
nvgrw / TP_Mac_Setup.markdown
Last active July 27, 2025 02:12
TurboPascal setup tutorial for Mac

TurboPascal on Mac

Note: probably 99% of this tutorial (excluding installation and folder structure) is DOSBox- and not Mac-specific. As long as your computer can run DOSBox you should be able to convert the steps to work on Windows.

1. Downloading & Installing DOSBox

DOS apps don't run natively on OS X, so we use DOSBox to emulate DOS for us.

1a. Downloading DOSBox

Navigate to the official DOSBox download page

@JumboLove
JumboLove / social-buttons.html
Created October 16, 2014 20:20
Social Buttons Facebook, Twitter, Pinterest, and Google Plus
<iscomment>
Social Media Buttons
All dependent libary files to make these buttons work are included once per page
as socialmedia.js. This template may be included multiple times per page
so long as the following exist in the pdict :
--Required--
SitePreference FacebookAppID
pdict.Product
</iscomment>
@rictorres
rictorres / headerfooter.js
Created November 19, 2014 18:04
A simple way of rendering page headers/footers using https://github.com/sgentle/phantomjs-node
var phantom = require('node-phantom');
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open("http://www.google.com", function (status) {
var paperConfig = {
format: 'A4',
orientation: 'portrait',
border: '1cm',