{"version":3,"sources":["paste/RemoteService.js","paste/Paste.js","App.js","registerServiceWorker.js","index.js"],"names":["s","COUNTER","localStorage","getItem","replace","c","crypto","getRandomValues","Uint8Array","toString","split","parseInt","SESSION","join","remoteService","url","fn","config","undefined","headers","execute","method","query","payload","i","hasOwnProperty","needle","search","body","String","JSON","stringify","fetch","get","put","post","patch","del","setItem","rng","seedrandom","req","b64","BASE64","chk","RIPEMD160","SHA256","zip","text","ua","length","slice","HEX","parse","u16a","pako","gzip","dec","p","z","tx","AES","decrypt","wa","v","j","w","words","b","k","u8a","byteLength","fromCharCode","str8","inflate","UTF8","blength","o","utf8length","n","charCodeAt","PASTE_API","syntaxItems","expireItems","PasteCreate","error","onSubmit","onChange","syntax","expire","burn","entropy","plain","className","warning","name","for","id","value","map","key","type","required","rows","href","window","location","origin","download","PasteView","hash","decryptKey","expires","cipher","onNew","onCopy","gzipOpts","onClick","readOnly","e","target","select","source","Paste","props","substring","state","startEntropy","bind","addEntropy","encrypt","events","count","t","push","pageX","pageY","keyCode","Date","this","document","addEventListener","setState","event","checked","preventDefault","history","then","header","l","trim","d","splice","exp","toLocaleDateString","toLocaleTimeString","lang","input","rnd","sha","now","Object","entries","r","console","log","ok","res","catch","nextProps","Component","App","api","response","basename","Fragment","path","component","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","ReactDOM","render","getElementById","URL","process","status","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.b55c2acb.chunk.js","sourcesContent":["const uuid = () =>\n ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>\n ((c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & 15)) >> c / 4).toString(16))\n\n\nlet COUNTER = 0, s\nif (localStorage.getItem(\"session-id\") === null) {\n s = [uuid(), 0]\n} else {\n s = localStorage.getItem(\"session-id\").split(\":\");\n s[1] = (parseInt(s[1], 16) + 1).toString(36)\n}\nconst SESSION = s.join(\":\");\nlocalStorage.setItem(\"session-id\", SESSION);\n\nexport function remoteService() {\n return function(url, fn, config) {\n if (config === undefined) config = {};\n if (config.headers === undefined) config.headers = {};\n\n const execute = function (fn, method, url, query, payload, headers) {\n if (query === undefined) query = {};\n for (var i in query) if (query.hasOwnProperty(i)) {\n var needle = ':'+i;\n if (url.search(needle)>0) {\n url = url.replace(needle, query[i]);\n delete(query[i]);\n }\n }\n\n config.method = method;\n\n if (payload !== undefined)\n if (typeof payload === 'string' || payload instanceof String)\n config.body = payload;\n else config.body = JSON.stringify(payload);\n\n if (fn !== undefined) config = fn(config);\n config.headers[\"session-id\"] = SESSION+\":\"+(COUNTER++).toString(36)\n\n return fetch(url, config);\n };\n\n return {\n get: function (query, headers) { return execute(fn, 'GET', url, query, undefined, headers); },\n put: function (query, payload, headers) { return execute(fn, 'PUT', url, query, payload, headers); },\n post: function (query, payload, headers) { return execute(fn, 'POST', url, query, payload, headers); },\n patch: function (query, payload, headers) { return execute(fn, 'PATCH', url, query, payload, headers); },\n del: function (query, headers) { return execute(fn, 'DELETE', url, query, undefined, headers); },\n 'delete': function (query, headers) { return execute(fn, 'DELETE', url, query, undefined, headers); },\n 'remove': function (query, headers) { return execute(fn, 'DELETE', url, query, undefined, headers); },\n };\n };\n}\n\nexport function sessionRemoteService() {\n const req = remoteService();\n\n return function(url) {\n var fn = function(config) {\n if (localStorage.getItem(\"session\") !== null)\n config.headers['authorization'] = \"session \" + localStorage.getItem(\"session\");\n\n return config;\n };\n\n return req(url, fn);\n };\n}\n\nexport function sourisRemoteService() {\n const req = remoteService();\n\n return function(url, aspect) {\n if (aspect === undefined) aspect = 'default';\n\n var fn = function(config) {\n if (localStorage.getItem('souris_token') !== undefined)\n config.headers['authorization'] = \"souris \" + aspect + \" \" + localStorage.getItem('souris_token');\n\n return config;\n };\n\n return req(url, fn);\n };\n}\n\nexport default remoteService;\n","import React, { Component } from \"react\";\nimport { Form, Button, Alert } from \"bootstrap-4-react\";\n\nimport \"./paste.css\";\n\nimport \"highlight.js/styles/github.css\";\nimport Highlight from \"react-highlight\";\nimport Markdown from 'react-markdown';\n\nimport pako from \"pako\";\nimport seedrandom from \"seedrandom\";\nimport { remoteService } from \"./RemoteService\"\n\nimport RIPEMD160 from \"crypto-js/ripemd160\";\nimport SHA256 from \"crypto-js/sha256\";\nimport AES from \"crypto-js/aes\";\nimport BASE64 from \"crypto-js/enc-base64\";\nimport HEX from \"crypto-js/enc-hex\";\nimport UTF8 from \"crypto-js/enc-utf8\"\n\nconst rng = seedrandom();\nconst req = remoteService();\n\nconst b64 = (s) => (!!s?BASE64.stringify(s).replace(/[=]+/, '').replace(/\\//g, '_').replace(/\\+/g, '-'):'');\nconst sha = (s) => b64(SHA256(s));\nconst chk = (s) => b64(RIPEMD160(SHA256(s)));\nconst enc = (t, p) => AES.encrypt(t, p).toString();\nconst u16a = (ua) => {\n let s = '';\n for (let i = 0; i < ua.length; i++) {\n s += ('0' + ua[i].toString(16)).slice(-2);\n }\n return HEX.parse(s);\n};\nconst u8a = (wa) => {\n const w = wa.words;\n let b = new Uint8Array(w.length * 4), v, i, j, k = 0;\n for (i = 0; i < w.length; ++i) {\n v = w[i];\n for (j = 3; j >= 0; --j) {\n b[k++] = ((v >> 8 * j) & 0xFF);\n }\n }\n return b;\n};\nconst str8 = (ua) => {\n let s = '';\n for (let i = 0; i < ua.byteLength; i++) {\n if ((ua[i]&0x80) === 0) s += String.fromCharCode(ua[i]);\n else if ((ua[i]&0xe0) === 0xc0 && (ua[i+1]&0xc0) === 0x80) {\n s += String.fromCharCode(((ua[i]&0x1f)<<6) + (ua[i+1]&0x3f));\n i += 1;\n }\n else if ((ua[i]&0xf0) === 0xe0 && (ua[i+1]&0xc0) === 0x80 && (ua[i+2]&0xc0) === 0x80){\n s += String.fromCharCode(((ua[i]&0x0f)<<12) + ((ua[i+1]&0x3f)<<6) + (ua[i+2]&0x3f));\n i += 2;\n }\n else if ((ua[i]&0xf8) === 0xf0 && (ua[i+1]&0xc0) === 0x80 && (ua[i+2]&0xc0) === 0x80 && (ua[i+3]&0xc0) === 0x80) {\n s += String.fromCharCode(((ua[i]&0x0f)<<18) + ((ua[i+1]&0x3f)<<12) + ((ua[i+2]&0x3f)<<6) + (ua[i+3]&0x3f));\n i += 3;\n }\n else { s += String.fromCharCode(65533); }\n }\n return s;\n};\nconst zip = (text) => u16a(pako.gzip(text));\nconst dec = (c, p, z) => {\n if (z) {\n let tx = AES.decrypt(c, p);\n tx = u8a(tx);\n return str8(pako.inflate(tx));\n } else {\n return AES.decrypt(c, p).toString(UTF8);\n }\n}\nconst blength = (o) => {\n if (!(typeof o === 'string' || o instanceof String)) return 0;\n if (o === undefined || o.length === undefined) return 0;\n var utf8length = 0;\n for (var n = 0; n < o.length; n++) {\n var c = o.charCodeAt(n);\n if (c < 128) {\n utf8length++;\n }\n else if ((c > 127) && (c < 2048)) {\n utf8length = utf8length + 2;\n } else {\n utf8length = utf8length + 3;\n }\n }\n return utf8length;\n};\n\nconst PASTE_API = \"https://paste.dn42.us/paste\"\n\nconst syntaxItems = [\n [\"text\", \"Plain Text\"],\n [\"markdown\", \"Markdown\"],\n\n [\"apache\", \"Apache\"],\n [\"bash\", \"Bash\"],\n [\"coffeescript\", \"CoffeeScript\"],\n [\"cpp\", \"C++\"],\n [\"cs\", \"C#\"],\n [\"css\", \"CSS\"],\n [\"diff\", \"Diff\"],\n [\"http\", \"HTTP\"],\n [\"ini\", \"Ini\"],\n [\"java\", \"Java\"],\n [\"javascript\", \"JavaScript\"],\n [\"json\", \"JSON\"],\n [\"makefile\", \"Makefile\"],\n [\"nginx\", \"Nginx\"],\n [\"objectivec\", \"Objective C\"],\n [\"perl\", \"Perl\"],\n [\"php\", \"PHP\"],\n [\"python\", \"Python\"],\n [\"ruby\", \"Ruby\"],\n [\"sql\", \"SQL\"],\n [\"xml\", \"HTML, XML\"]\n];\nconst expireItems = [\n [3600, \"1 Hour\"],\n [86400, \"1 Day\"],\n [604800, \"1 Week\"],\n [2419200, \"4 Weeks\"],\n [15778463, \"6 Months\"],\n [31556926, \"1 Year\"]\n];\n\n\nclass Paste extends Component {\n constructor(props) {\n super(props);\n\n const { location } = props;\n\n const [ hash, key ] = location.hash.substring(2).split(\"!\");\n\n this.state = {\n error: \"\",\n syntax: \"text\",\n expire: 604800,\n expires: \"\",\n burn: false,\n plain: \"\",\n cipher: \"\",\n decryptKey: hash !== \"new\" ? key : \"\",\n hash: hash !== \"new\" ? hash : \"\",\n entropy: 0,\n gzip: false,\n syntaxItems,\n expireItems\n };\n\n this.startEntropy = this.startEntropy.bind(this);\n this.addEntropy = this.addEntropy.bind(this);\n this.onChange = this.onChange.bind(this);\n this.onSubmit = this.onSubmit.bind(this);\n this.onNew = this.onNew.bind(this);\n this.onCopy = this.onCopy.bind(this);\n this.encrypt = this.encrypt.bind(this);\n this.decrypt = this.decrypt.bind(this);\n }\n\n startEntropy(events, count) {\n let t = [];\n\n let fn = (e) => {\n t.push([e.pageX, e.pageY, e.keyCode, +new Date()]);\n if (t.length < count) {\n return;\n }\n this.addEntropy(t);\n t = [];\n };\n fn = fn.bind(this);\n\n for (let i in events) {\n if (events.hasOwnProperty(i))\n document.addEventListener(events[i], fn);\n }\n };\n\n addEntropy(s) {\n this.setState(function(state, props) {\n return {entropy: state.entropy + s.length};\n } );\n seedrandom(s, {entropy: true});\n };\n\n onChange(event) {\n const target = event.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState({\n [name]: value\n });\n }\n\n onSubmit(event) {\n event.preventDefault();\n const { plain } = this.state;\n const { history } = this.props;\n\n this.encrypt(plain).then(([hash, decryptKey]) => { history.push('/#/' + hash + '!' + decryptKey) });\n }\n onNew(event) {\n const { history } = this.props;\n this.setState({cipher:\"\", plain:\"\", hash: \"\", decryptKey: \"\", syntax: \"text\", expire: 604800, burn: false}, () => history.push('/'));\n }\n onCopy(event) {\n const { history } = this.props;\n this.setState({hash: \"\", decryptKey: \"\"}, () => history.push('/'))\n }\n\n decrypt(tx) {\n if (tx === \"\") {\n this.setState({hash: \"\", decryptKey: \"\", error: \"Unable to retrieve paste.\"})\n return;\n }\n\n let s = tx.split('\\n');\n let i = 0;\n\n let header = {};\n while (true) {\n if (s[i] === \"\") break;\n\n var l = s[i].trim().split(':\\t');\n header[l[0]] = l[1];\n\n i++;\n }\n const cipher = s.splice(i).join('');\n const zip = !!header.zip && header.zip === \"true\";\n\n const { decryptKey } = this.state;\n const plain = dec(cipher, decryptKey, zip);\n const expires = !!header.exp ? (!!header.burn ? \"Burn on Read\" : ((d) => d.toLocaleDateString() + \" \" + d.toLocaleTimeString())(new Date(header.exp*1000))) : \"Never\";\n this.setState({cipher: tx, plain: plain, expires, syntax: header.lang});\n }\n\n encrypt(input) {\n const rnd = rng(40);\n const decryptKey = sha(rnd);\n\n const gzip = blength(input)>4000;\n const plain = gzip?zip(input):input;\n\n const { syntax, expire, burn } = this.state;\n\n const header = {\n chk: chk(rnd),\n lang: syntax,\n exp: parseInt(expire, 10) + (Date.now() / 1000 | 0),\n zip: gzip,\n burn: burn\n }\n\n let s = '', e = enc(plain, decryptKey);\n while (e.length > 79) {\n s += e.slice(0, 79) + \"\\n\";\n e = e.slice(79);\n }\n s += e + \"\\n\";\n\n const expires = !!header.exp ? (!!header.burn ? \"Burn on Read\" : ((d) => d.toLocaleDateString() + \" \" + d.toLocaleTimeString())(new Date(header.exp*1000))) : \"Never\";\n const cipher = Object.entries(header).map(([k, v]) => !!v ? k + \":\\t\" + v + \"\\n\" : \"\").join('') + \"\\n\" + s;\n\n return req(PASTE_API).post({}, cipher)\n .then((r) => r.text())\n .then((d) => {\n console.log(\"Received:\\n\" + d);\n const [ok='', hash=''] = d.split(' ', 2);\n if (ok === \"OK\")\n this.setState((state) => ({cipher, gzip, decryptKey, hash, expires}));\n else console.log(d);\n return [hash, decryptKey];\n });\n }\n\n componentDidMount() {\n this.startEntropy(['mousemove', 'keydown', 'keypress', 'click', 'scroll'], 16);\n req(`${PASTE_API}/rng`).get().then((res)=>res.text()).then(this.addEntropy).catch();\n\n const { hash } = this.state;\n if (hash !== \"\")\n req(`${PASTE_API}/${hash}`).get().then((res)=> res.ok ? res.text() : \"\").then(this.decrypt).catch();\n }\n componentWillReceiveProps(nextProps) {\n const { location } = nextProps;\n const { hash:nextHash } = location;\n const [ hash='', key='' ] = nextHash.substring(2).split(\"!\");\n\n if (hash === this.state.hash) return;\n\n if (hash === '') this.setState({cipher:\"\", plain:\"\", hash: \"\", decryptKey: \"\", syntax: \"text\", expire: 604800, burn: false})\n else {\n this.setState({hash: hash, decryptKey: key});\n req(`${PASTE_API}/${hash}`).get().then((res)=> res.ok ? res.text() : \"\").then(this.decrypt).catch();\n }\n }\n\n render() {\n const { hash } = this.state;\n return hash === '' ? : ;\n }\n}\n\n\nfunction PasteCreate({error, onSubmit, onChange, syntax, syntaxItems, expire, expireItems, burn, entropy, plain}) {\n return (\n
\n
\n {!!error &&\n \n Holy guacamole! {error}\n }\n\n
\n
\n \n \n\n \n \n\n
\n \n \n
\n
\n\n \n
Additional Entropy: {entropy} bytes / Content size: {blength(plain)} bytes
\n\n \n
\n
\n\n
\n
\n

Create pastes from the command line! paste.sh

\n
{`$ echo /etc/passwd | ./paste.sh\n\nenv options:\nPASTE_URL  - Set the url base for paste operations (default: HTTPS://paste.dn42.us)\nPASTE_GZIP - 0 = No Compression,  1 = Use gzip compression (default: 0)\nPASTE_BURN - 0 = No Burn on Read, 1 = Burn on read         (default: 0)\nPASTE_DATE - Value to be used when setting expire date.    (default: next-week)`}\n            
\n
\n
\n
\n
\n );\n}\n\nfunction PasteView({hash, decryptKey, expires, burn, gzip, cipher, plain, syntax, onNew, onCopy}) {\n const gzipOpts = gzip ? '| gzip -dc' : '';\n return (\n
\n
\n \n \n \n e.target.select()}/>\n \n \n \n
\n\n
\n\n
\n
\n Lang: {syntax}\n  \n Expires: {expires}\n  \n {burn && ( BURN ON READ )}\n
\n
\n {syntax===\"markdown\" ? (\n \n ) : (\n {plain}\n )}\n
\n\n
\n
{`# Command Line:\n  curl -s \"${PASTE_API}/${hash}\" \\\\\n    | sed \"1,/^\\\\$/d\" \\\\\n    | openssl aes-256-cbc -md md5 \\\\\n              -d -a -k \"${decryptKey}\" ${gzipOpts}\n\n${cipher}`}
\n
\n
\n
\n );\n}\n\nexport default Paste;\n","import React, { Component } from 'react';\nimport { BrowserRouter, Route, Switch } from 'react-router-dom';\n\nimport './paste/Framework.css';\n\nimport Paste from './paste/Paste';\nimport { remoteService } from \"./paste/RemoteService\";\n\nconst req = remoteService();\nconst APP_NAME = \"DN42 Paste UI\";\n\nclass App extends Component {\n constructor(){\n super();\n\n this.state = {\n name: APP_NAME,\n api: \"Paste API (Version Snapshot)\",\n }\n }\n\ncomponentDidMount() {\n req('https://paste.dn42.us/app-info').get()\n .then((response) => {\n if (response.ok) return response.text().catch(()=>\"\");\n else return \"Unknown API\"; })\n .then((text) => { this.setState({api: text}); });\n}\n\n render() {\n const {api, name} = this.state;\n return (\n \n \n
\n \n \n \n
\n\n
\n {name}\n {api}\n
\n
\n
\n );\n }\n}\n\nexport default App;\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport registerServiceWorker from './registerServiceWorker';\n\nReactDOM.render(, document.getElementById('root'));\nregisterServiceWorker();\n"],"sourceRoot":""}