{{result.text}}</pre></div><divng-hide="result != undefined"><formname="paste"ng-submit="Encrypt(o)"><divclass="form form-inline"><olclass="breadcrumb"><li><label>Syntax</label><selectclass="form-control input-sm"ng-model="o.lang"ng-options="i.key as i.val for i in HighliteLang | orderBy:"+val""ng-init="o.lang = "text""></select></li><li><label>Expires</label><selectclass="form-control input-sm"ng-model="o.exp"ng-options="i.key as i.val for i in ExpireTimes | orderBy:"+key""ng-init="o.exp = 604800"></select></li><li><label><inputtype="checkbox"ng-model="o.burn"> Burn on Read</label></li></ol></div><textareastyle="font-family:hack,""requiredclass="form-control"rows="20"ng-model="o.text"></textarea><pre>Additional Entropy: {{entropy}} bytes / Content size: {{o.text|blength|default:0}} bytes</pre><buttontype="submit"class="btn btn-default btn-lg btn-block"ng-disabled="o.text == undefined || o.text.length == 0">Encrypt</button></form><p>Create pastes from the command line! <ahref="./paste.sh">paste.sh</a><pre>
</pre></div><divng-if="store.err != undefined"><h3>Error: {{store.err}}</h3></div></script></head><body><divid="wrapper"><divclass="container-responsive"><articleng-view></article><aonclick="var elm = document.getElementById("debug"); elm.parentNode.style.display="block"; window.scrollTop = window.scrollHeight"style="margin:3px;cursor:context-menu;font-family:monospace;position:fixed;bottom:0;right:0">π</a><divclass="panel panel-default"style="height:13em;margin-bottom:0;margin-top:2em;display:none;position:relative;bottom:0"><b>Debug Log</b><divstyle="float:right"><aclass="btn"onclick="document.getElementById("debug").parentNode.style.display="none""><iclass="glyphicon glyphicon-remove"></i></a><br><aclass="btn"onclick="var elm=document.getElementById("debug");while (elm.firstChild) {elm.removeChild(elm.firstChild);}"><iclass="glyphicon glyphicon-ban-circle"></i></a></div><preid="debug"style="height:12em;overflow:scroll"></pre><footer></footer></div></div></div><linkrel="stylesheet"href="style.css"><scriptsrc="app.js"></script><noscript><divclass="container-responsive"><h1>PasteBox</h1><p>It looks like yo don't have javascript enabled for this site. But thats ok. You can still submit and read the content of pastes by using a few curl/openssl/gunzip commands.</p><h2>Get the paste</h2><p>Lets say you have the following link <code>https://domain.tld/#/FeLq42kIQV69hQCJA8m9lg!5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w</code>. Query the REST endpoint for the ID or part before the ! in the url hash.</p><pre><code>$ curl -i https://domain.tld/api/FeLq42kIQV69hQCJA8m9lg</code></pre><h2>Decrypt</h2><p>Using Openssl you want to remove the header and pass the remaining base64 for decryption. The cypher used is aes-256-cbc. The key is the portion after the ! in the link.</p><pre><code>... | sed '1,/^$/d' | openssl aes-256-cbc -d -a -k 5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w</code></pre><h2>Deflate</h2><p>If as in the provided example the paste has been compressed pass it through gunzip. The header will have "zip: true" if it has been compressed.</p><pre><code> ... | gzip -dc </code></pre><h2>Example Output</h2><pre><code>$ curl -s "https://domain.tld/api/FeLq42kIQV69hQCJA8m9lg" | sed "1,/^$/d" | openssl aes-256-cbc -d -a -k 5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w | gzip -dc