- 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 & |