Some useful bookmarklets which may or may not still work.
Visit page in device emulation mode (Chrome dev tools)
| [package] | |
| name = "http2-example" | |
| version = "0.1.0" | |
| authors = ["Walfie"] | |
| [dependencies] | |
| futures = "0.1.18" | |
| h2 = "0.1.0" | |
| http = "0.1.4" | |
| rustls = "0.12.0" |
| // Valid as of yew commit a6c87e48b42e4977b008ce31281242e2b8684f9f and stdweb 0.3.0 | |
| extern crate stdweb; | |
| #[macro_use] | |
| extern crate yew; | |
| use yew::prelude::*; | |
| type Context = (); |
| (function(d) { | |
| d.open(); | |
| d.write('<textarea id="input" spellcheck="false" style="flex:1;height:100%;resize:none;outline:none;font:15px monospace;color:#fff;background:#111;padding:10px;"><html>\n<head></head>\n<body>\nClick here to render\n</body>\n</html></textarea>'); | |
| d.write('<iframe id="iframe" style="flex:1;height:100%;"></iframe>'); | |
| d.close(); | |
| var s = d.body.style; | |
| s.display = 'flex'; | |
| s.margin = 0; | |
| var i = d.getElementById('input'); | |
| i.onkeydown = function(e) { |
| function isKanji(char) { | |
| return /^[\u4e00-\u9faf]+$/.test(char); | |
| } | |
| function getKanji(string) { | |
| var chars = string.split(''); | |
| var map = chars.reduce(function(acc, char) { | |
| if (isKanji(char)) { acc[char] = true; }; | |
| return acc; |
| # configure cache directory with 20G and holding old objects for max 31 days | |
| proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=s3:500m max_size=30g inactive=31d; | |
| server { | |
| server_name files.example.com; | |
| gzip off; | |
| # need to setup external DNS resolver | |
| resolver 8.8.8.8 valid=300s; |
Some useful bookmarklets which may or may not still work.
Visit page in device emulation mode (Chrome dev tools)
| 010000 ARTIST_NAME | |
| 020000 SONG_NAME | |
| // ジャンル>新曲 | |
| 030100 NEW_SONG_ALL_SONG // 全曲 | |
| // ジャンル>新曲>映像 | |
| 030201 NEW_SONG_LIVE_KARAOKE // LIVEカラオケ | |
| 030202 NEW_SONG_CAST_PICTURE // 本人出演映像 | |
| 030203 NEW_SONG_CLIP_JUST_NOW // 今だけクリップ |
ClubDAM has a mobile app called デンモクmini ("Denmoku mini") which uses an undocumented API.
Twitter's default offline archive search is slow as heck. If you do it in a web worker, the search itself is actually pretty fast.
search.html and worker.js to the root directory of your twitter archive (the same directory as index.html)search.html in browserctrl shift j)search("insert some regex here") and press enter| <script> | |
| function createWebWorkerFromFunction(f) { | |
| var blobContents = ['(', f.toString(), ')();']; | |
| var blob = new Blob(blobContents, { type: 'application/javascript'}); | |
| var blobUrl = URL.createObjectURL(blob); | |
| var worker = new Worker(blobUrl); | |
| URL.revokeObjectURL(blobUrl); |