Blog 2020/2/4
<- previous | index | next ->
This is a tutorial on how setup a Raspberry Pi as a NAT router, with custom local DNS.
| #!/usr/bin/env bash | |
| set -eou pipefail | |
| profile=$1 | |
| frameRate=${2:-10} | |
| timeline='timeline.json' | |
| cat $profile \ | |
| | jq '.[] | select(.args.snapshot | . and (type == "string") and contains("/9j"))' \ | |
| | jq -s . \ | |
| > $timeline |
| <!doctype html> | |
| <html lang="en"> | |
| <head> | |
| </head> | |
| <body> | |
| <!-- Quantcast CMP, pasted un-modified from Quantcast interface --> | |
| <script type="text/javascript" async=true> | |
| (function() { | |
| var host = window.location.hostname; |
| var list = []; | |
| document.querySelectorAll("body *") | |
| .forEach(function(elem){ | |
| if(elem.getBoundingClientRect().width > document.body.getBoundingClientRect().width){ | |
| list.push(elem.outerHTML.split('>')[0] + '>'); | |
| } | |
| }); | |
| confirm( "these elements are wider than the viewport:\n\n " + list.join("\n") ) |
| let url = "https://www.amazon.com/SanDisk-128GB-microSDXC-Memory-Adapter/dp/B073JYC4XM/"; | |
| let kwparse = (url.replace('https://','').replace('http://','').replace('www','').replace('com','').split('-').join().split('/').join().split('.')).join(',').replace(/^,/, '') | |
| let kwuniq = [...new Set(kwparse.split(','))].filter(function(e){return e}); | |
| console.log(kwuniq) | |
| // ["amazon", "SanDisk", "128GB", "microSDXC", "Memory", "Adapter", "dp", "B073JYC4XM"] | |
| // Hat Tip - Find a cleaner version at https://gist.github.com/dsottimano/52060e6a43d96804f33c59366c472305 |
| # ------Instructions--------- | |
| # Install (and configure) subfinder, assetfinder, and httprobe | |
| # go get -v github.com/projectdiscovery/subfinder/cmd/subfinder && go get -v github.com/tomnomnom/httprobe && go get -v github.com/tomnomnom/assetfinder | |
| # cat firefox.sh >> ~/.bashrc | |
| # source ~/.bashrc | |
| # Usage - subf_ff target.tld | |
| # asset_ff target.tld | |
| subf_ff () { | |
| subfinder -d $1 -silent -t 100 | httprobe -c 50 | sort -u | while read line; do firefox $line; sleep 10; done |
| /* eslint-disable no-unused-vars */ | |
| /* eslint-disable no-else-return */ | |
| // JSX constructor, similar to createElement() | |
| export const h = (type, props, ...children) => { | |
| return { | |
| type, | |
| // Props will be an object for components and DOM nodes, but a string for | |
| // text nodes | |
| props, |
Blog 2020/2/4
<- previous | index | next ->
This is a tutorial on how setup a Raspberry Pi as a NAT router, with custom local DNS.
Blog 2020/2/1
<- previous | index | next ->
This is a tutorial on how to use a Raspberry Pi to make an existing ethernet network visible to wifi clients.
| Seven different types of CSS attribute selectors | |
| // This attribute exists on the element | |
| [value] | |
| // This attribute has a specific value of cool | |
| [value='cool'] | |
| // This attribute value contains the word cool somewhere in it | |
| [value*='cool'] |
| Mute these words in your settings here: https://twitter.com/settings/muted_keywords | |
| ActivityTweet | |
| generic_activity_highlights | |
| generic_activity_momentsbreaking | |
| RankedOrganicTweet | |
| suggest_activity | |
| suggest_activity_feed | |
| suggest_activity_highlights | |
| suggest_activity_tweet |