- Install DNSMasq
$ brew install dnsmasq
- Install DNSCrypt-proxy
$ brew install dnscrypt-proxy
OSX | |
BUILD nsis v2.46 on OSX >= 10.9 | |
scons PREFIX=/home/arturo/Programmi/nsis-2.46 ZLIB_W32=/home/arturo/Programmi/Zlib-1.2.7-win32-x86 \ | |
STRIP=no install-stubs install-plugins install-data install-utils install-examples install-doc install-conf | |
scons APPEND_CCFLAGS=--stdlib=libstdc++ APPEND_LINKFLAGS=--stdlib=libstdc++ \ | |
PREFIX=/home/arturo/Programmi/nsis-2.46 ZLIB_W32=/home/arturo/Programmi/Zlib-1.2.7-win32-x86 \ | |
STRIP=no install-compiler |
/** | |
* (c) 2013 - 2014 Rob Wu <[email protected]> | |
*/ | |
/* exported openCRXasZip */ | |
/* jshint browser:true, devel:true */ | |
'use strict'; | |
// Strips CRX headers from zip | |
// Input: Anything that is accepted by the Uint8Array constructor. | |
// Output: Blob (to callback) |
on run {input, parameters} | |
tell application "Finder" | |
set sel to selection | |
if (count sel) > 0 then | |
set myTarget to item 1 of sel | |
else if (count window) > 0 then | |
set myTarget to target of window 1 | |
else | |
set myTarget to path to home folder | |
end if |
#!/usr/bin/env ruby -wKU | |
# Adapted from Brett Terpstra’s original “Markdown to Evernote” service (http://brettterpstra.com/a-better-os-x-system-service-for-evernote-notes-with-multimarkdown/) | |
# Martin Kopischke 2011 – License: Creative Commons Attribution Share-Alike (CC BY-SA) 3.0 Unported (http://creativecommons.org/licenses/by-sa/3.0/) | |
# Changes: – create only one Evernote note per (Multi)Markdown input passed (instead of one per line) | |
# – do not choke on shell escape characters (use Tempfile instead of shell pipe for osascript) | |
# – default to MultiMarkdown 3 executable (instead of MMD 2 Perl script) | |
# – make smart typography processing optional (set SMARTY to 'false' to bypass processing; | |
# note smart typography cannot be disabled in MMD 3.0 and 3.0.1 | |
# – handle both smart typography processing scripts (ie. SmartyPants.pl) |
var performance = (function () { | |
var my = {}; | |
// Wrap a function body in this to return a copy that instruments itself | |
// If you want this to be useful, you should give your profiled function a name, | |
// otherwise it will be identified as "", which is less than useful. | |
my.profile = function (func) { | |
return function () { | |
var start = new Date().getTime(), | |
time, |
source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash | |
source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh | |
GIT_PS1_SHOWDIRTYSTATE=true | |
export PS1='\u@\h:\w$(__git_ps1)$ ' | |
git config --global color.branch auto | |
git config --global color.diff auto | |
git config --global color.status auto | |
git config --global color.ui auto |
package cn.outofmemory.ip; | |
/** | |
* <pre> | |
* 一条IP范围记录,不仅包括国家和区域,也包括起始IP和结束IP | |
* </pre> | |
*/ | |
public class IPEntry { | |
public String beginIp; | |
public String endIp; |
static { | |
// Create a trust manager that does not validate certificate chains | |
TrustManager[] trustAllCerts = new TrustManager[] { | |
new X509TrustManager() { | |
public java.security.cert.X509Certificate[] getAcceptedIssuers() { | |
return null; | |
} | |
public void checkClientTrusted( | |
java.security.cert.X509Certificate[] certs, String authType) { | |
} |
#!/bin/sh | |
# by [email protected] | |
#see https://github.com/Miserlou/NodeDeploy/blob/master/etc/init.d/node_app | |
DIR=/kingdee/node | |
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |
NODE_PATH=/usr/local/lib/node_modules | |
NODE=/usr/local/bin/node | |
start_app() { | |
nohup "$NODE" "$DIR/emit.js" 1>>"$DIR/logs/emit.log" 2>&1 & |