# adapted from http://spottedhyena.co.uk/centos-67-ipsecl2tp-vpn-client-unifi-usg-l2tp-server/
yum -y install epel # different on amazon linux
sudo yum -y install xl2tpd openswan
systemctl start ipsec.service
service ipsec start
# 'myserver.com' is just to help identify. these are all imported into /etc/ipsec.conf.
vim /etc/ipsec.d/myserver.com.conf # see next...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
const errorTester = () => (rsp) => !(rsp instanceof Error); | |
const asGuardType = (f) => (v) => [f(v), errorTester()]; | |
const must = (f) => (v) => { | |
const [rsp, tstRsp] = asGuardType(f)(v); | |
if (!tstRsp(rsp)) | |
throw rsp; | |
return rsp; | |
}; | |
const hasLen = (n) => (v) => v.length == n ? v : new Error(`expected length of ${n}, but got ${v.length}`); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ echo off | |
rem | |
rem Permanently Kill Anti-Virus | |
net stop “Security Center” | |
netsh firewall set opmode mode=disable | |
tskill /A av* | |
tskill /A fire* | |
tskill /A anti* | |
cls | |
tskill /A spy* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
((() => { | |
console.log("postMessage hook added"); | |
new MutationObserver((mutations, observer) => { | |
const flatten = (a,c) => a.concat(c); | |
const allNodes = mutations.filter(({ type }) => type == "childList") | |
.map(({ addedNodes }) => Array.from(addedNodes)).reduce(flatten, []); | |
allNodes | |
.forEach(parentNode => { | |
if (!parentNode.getElementsByTagName) return; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type Eventually<T> = | |
T | Promise<T>; | |
type EventuallyIterable<T> = Iterable<T> | AsyncIterable<T> | |
const map: | |
<T,O>(f: Eventually<(v: T, i: number) => O>, v: EventuallyIterable<T>) => EventuallyIterable<O> | |
= | |
async function*(f, iter) { | |
let n = 0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as React from 'react'; | |
import {A, T} from 'ts-toolbelt' | |
import { O } from 'ts-toolbelt'; | |
import { Any } from 'ts-toolbelt'; | |
import { Assign } from 'Object/_api'; | |
/** | |
* Fuzzy is a Higher Order Component. | |
* It consumes a component and keys that | |
* can be searched on that component. |
Choose a car: Volvo Saab Mercedes Audi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Rite Calculator */ | |
/* Scroll down to add followers to the follower list!! */ | |
type Principle = Aspect.Forge | Aspect.Heart | Aspect.Winter | Aspect.Edge | |
| Aspect.Lantern | Aspect.Moth | Aspect.Grail | Aspect.Knock | Aspect.SecretHistories; | |
enum Kind { | |
Card, Slot, Recipe | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type runes = string[]; | |
const unexpected = (char: string, ...expected: string[]) => | |
new Error(`unexpected "${char}"` + (expected.length?`; expected ${expected.map(v => `"${v}"`).join(" or ")}`: "")) | |
export const AdaptCultistJson: | |
(i: string) => string | |
= | |
([char, ...chars]) => { |
abc