├── .gitignore ├── LICENSE ├── README.md ├── active.py ├── active.txt ├── cbir.py ├── clustering.py ├── config.txt ├── docs ├── css │ ├── bootstrap.min.css │ └── viewer.min.css ├── images │ ├── loading.svg │ └── www.torproject.png ├── index.html └── js │ ├── imagesloaded.min.js │ ├── jquery.lazyload.min.js │ ├── masonry.pkgd.min.js │ └── viewer.min.js ├── format.sh ├── images ├── 404.png ├── blank.png ├── blank2.png └── onionstack.png ├── item.py ├── list.txt ├── onionstack.py └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.png 2 | ghostdriver.log 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 ntddk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # onionstack 2 | onionstack is a project to create a pictorial book of Tor hidden services.
3 | You can see our sample page at [ntddk.github.io/onionstack](https://ntddk.github.io/onionstack/). 4 | 5 | ![onionstack](images/onionstack.png) 6 | 7 | ## Requirements 8 | * Python 2.7.* 9 | * Node.js 10 | 11 | ## Installation 12 | ``` 13 | sudo apt-get install tor 14 | /etc/init.d tor restart 15 | npm install -g phantomjs 16 | pip install -r requirements.txt 17 | python onionstack.py -c config.txt -l list.txt 18 | ``` 19 | 20 | ## Contents 21 | * `format.sh` 22 | - Outputs `list.txt` from given files. 23 | * `list.txt` 24 | - The list of targets to crawl. 25 | * `onionstack.py` 26 | - The crawler. 27 | * `active.py` 28 | - Outputs `active.txt` from crawling results. 29 | * `active.txt` 30 | - The list of active onion domains. 31 | * `cbir.py` 32 | - Content-based image retrieval script. 33 | * `clustering.py` 34 | - k-means++. 35 | * `item.py` 36 | - Outputs html snippets for sample page. 37 | 38 | ## Disclaimer 39 | This repository is for research purposes only.
40 | We do NOT in any way promote or encourage any criminal or illegal activity. 41 | 42 | -------------------------------------------------------------------------------- /active.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #coding: utf-8 3 | 4 | import sys 5 | import os 6 | import hashlib 7 | 8 | def md5(filename): 9 | with open(filename, 'rb') as f: 10 | data = f.read() 11 | return hashlib.md5(data).hexdigest() 12 | 13 | filenames = os.listdir(sys.argv[1]) 14 | for filename in sorted(filenames): 15 | if md5(filename) != md5('blank.png') and md5(filename) != md5('blank2.png') and md5(filename) != md5('404.png') : 16 | print filename[0:16] 17 | 18 | -------------------------------------------------------------------------------- /active.txt: -------------------------------------------------------------------------------- 1 | 222222222g4bgdec 2 | 22222222m4cetz5t 3 | 2222222afubjlbhm 4 | 222222c6hrrxbydu 5 | 22222uacnky7x5jr 6 | 22l22fplmj5cqpbp 7 | 23bteufi2kcqza2l 8 | 23tjl3xpt5btiqms 9 | 25ffhnaechrbzwf3 10 | 25wp5luwovha6j4v 11 | 25xcyznj3pny7mzz 12 | 264nglqbtqlabsxl 13 | 2arj33oil5dbrpyu 14 | 2c5whdbcb6m2c2xx 15 | 2fh6luk4mj5h7nfz 16 | 2h3xkc7wmxthijqb 17 | 2i7aalqdpiuw36nu 18 | 2iyjlunzxbakok3y 19 | 2j6ye677oebe37id 20 | 2jv5r7k66ralyk3g 21 | 2kka4f23pcxgqkpv 22 | 2ljaiqrixmmzbda3 23 | 2mk7bri2ipshbxtq 24 | 2ogmrlfzdthnwkez 25 | 2pdkdy3eo552mpiz 26 | 2qrdpvonwwqnic7j 27 | 2ttafocrkv7gx3op 28 | 2ulc6nqxtyi5gwzm 29 | 2uteam7ttsrvcycq 30 | 2wkwv7m4hetvqo3d 31 | 2zmcyrryihrpdzka 32 | 32b5oz2bbtn6gqj3 33 | 32ixi6myw3things 34 | 32pbf32xi6ccm63z 35 | 32rfckwuorlf4dlv 36 | 33oifeg53souby5f 37 | 33y6fjyhs3phzfjj 38 | 35flmpspwpnarbos 39 | 37wo6hs5ab77aapr 40 | 3bsrl4nmq24spp5a 41 | 3cpleimu2getp5q7 42 | 3cvpkfx4gdnkcduj 43 | 3dbr5t4pygahedms 44 | 3djgibyu5osi4na5 45 | 3g2upl4pq6kufc4m 46 | 3kyfs67npblqmxua 47 | 3kyl4i7bfdgwelmf 48 | 3m2myjbdihroaven 49 | 3mrdrr2gas45q6hp 50 | 3pedopedqayeyvhp 51 | 3pq7hs3cxj7xzuqn 52 | 3pxbaujkbpakemzo 53 | 3rtgk3cv3u4ey2kr 54 | 3rzlwnpkzbkxvv2h 55 | 3t5rtkkm46gqeg6o 56 | 3tnqzaoam4g3v5sj 57 | 3tumodulirepiweb 58 | 3vkadf6hj266nkv4 59 | 3xdvknchriugpjjh 60 | 3xjowtfvv6tetjyt 61 | 3yghy67deqs47vgx 62 | 3yzrrt7pylahuxm6 63 | 3z3aemj4a2xmxg3t 64 | 3zop6bkkb46vqpjz 65 | 43dckqf6x7gyuirq 66 | 43qzvceo6ondd6wt 67 | 44skw7aj6mho2pt6 68 | 453hlx7nqc7zytlz 69 | 45k4h4kei56wiozx 70 | 46ztm2ype6uaopce 71 | 47au5m4eukoxy2a7 72 | 4b4otdmj4cfdtcvx 73 | 4c3uka6yb2jaqcra 74 | 4dmavioww6random 75 | 4dp5s6jkxpe6fcl4 76 | 4ecwfvbvxojjequ4 77 | 4emy3qafiomnygu4 78 | 4fvfamdpoulu2nms 79 | 4ge3uua3uaxuhhaq 80 | 4hk4hz35gmpa6fih 81 | 4hltmu5ywvjivcfe 82 | 4hpqiootvyeovr2o 83 | 4iahqcjrtmxwofr6 84 | 4m6omb3gmrmnwzxi 85 | 4mxperkbp7q7dlbj 86 | 4npgivcm6opyytjg 87 | 4ocjd3ubbxq6ykw7 88 | 4os63v6lqvlaiyz7 89 | 4pe62vd5g3k22icr 90 | 4php6mnkteaouewp 91 | 4qt45wbulqipigwa 92 | 4r2msaoab35wc6yy 93 | 4ryvrw3zjw7tcsuk 94 | 4sf3dqfwpcpdnj6g 95 | 4sy6ebszykvcv2n6 96 | 4twenty2ltimeeop 97 | 4ulztymoocewpojo 98 | 4wgyje4xhbqqskan 99 | 4xbyhccttuuvdahr 100 | 4xiz3doafaqvbxjh 101 | 4yjes6zfucnh7vcj 102 | 4zpinp6gdkjfplhk 103 | 52wdeibt3ivmcapq 104 | 53flpnlls43fcguy 105 | 53n2lkhj2lfz23kr 106 | 53nr2wn3ig7fr5ij 107 | 54ogum7gwxhtgiya 108 | 54ogum7tkwzlrayr 109 | 54tw7fw77llionsf 110 | 575wqy3pdg45pywf 111 | 5b5yrc7j27i3jc3k 112 | 5bcs4ugdya2a2fap 113 | 5cqzpj5d6ljxqsj7 114 | 5dgg7y5viysvvrxf 115 | 5eme2auqilcux2wq 116 | 5h5ps743nnqsjq4l 117 | 5i3gqg3jz7zs6x62 118 | 5i3kydqkfig5n7ay 119 | 5i4zmry6jyql2jsq 120 | 5ibpimzptwzjgbny 121 | 5ifblitg2ywjjo2t 122 | 5jlofek2ajaywwk3 123 | 5jp7xtmox6jyoqd5 124 | 5kiuc45pat3qr6gd 125 | 5kqjxgwzrbvgrdnd 126 | 5l2fikyudbqg2pse 127 | 5p6s4vkwdapnsiaw 128 | 5pu4bdevev3dwoqn 129 | 5pu4bdevjc2xq2xk 130 | 5q736ltgak2qfxtl 131 | 5sn2hxofsu6b55lo 132 | 5tgfndrsdinqdfwf 133 | 5tmoz5dkuedsunti 134 | 5tnjjnr2jbrt6244 135 | 5uainfj3jaiys3tk 136 | 5v4igzib6nfke74l 137 | 5x5uj6em4qhvwok2 138 | 5x63lhaz2z5nhno2 139 | 5xgrs443ogbyfoh2 140 | 5xhqttw43fhsd367 141 | 5xxqhn7qbtug7cag 142 | 5zf5yc2vwcnxgugv 143 | 5zkfuvtrpotg2nzd 144 | 62gs2n5ydnyffzfy 145 | 65y3g34c4zk3xkh2 146 | 663wbgqczxp445am 147 | 67d45ijoysurpcbv 148 | 67p4weg7hoowpvc3 149 | 67qyszbzdlzc6lym 150 | 6b57dcnonk2edf5a 151 | 6dvj6v5imhny3anf 152 | 6f6ejaiiixypfqaf 153 | 6g5nli7lx4gtty7n 154 | 6gprsi33qvzcun7u 155 | 6hgchounjuuwxewa 156 | 6ib35o7vd3ia7zzd 157 | 6ktcfgx5gqarh2fc 158 | 6nv3ix7omzrty6cm 159 | 6php2xx6vczbmgcr 160 | 6qcll3kmt7grddeo 161 | 6rf4j27gnmfqf4jk 162 | 6sfndqkrvxizazpb 163 | 6si6n32yngq63b75 164 | 6ubux6ppafr24izl 165 | 6uufxh6kf3k572x3 166 | 6v6q4eim5b2rrhd4 167 | 6w2nyvsf77q72ue6 168 | 6w5vyezrvsce6ntm 169 | 6w6vcynl6dumn67c 170 | 6xukrlqedfabdjrb 171 | 6zc6sejeho3fwrd4 172 | 6zdgh5a5e6zpchdz 173 | 6zjktg7i2qdld3xi 174 | 6zpnjnytdocvncyw 175 | 6zwctlqtpilbkl47 176 | 72kkhupynpkdgevn 177 | 73lgals6htl7akfm 178 | 74ypjqjwf6oejmax 179 | 76qugh5bey5gum7l 180 | 76ssfjn22svo4vyl 181 | 76xkbxgntgu2uwxb 182 | 7aiwdmr4oojlegdz 183 | 7bpctwm7axcaycud 184 | 7bpp64gz27coxhjg 185 | 7cbqhjnlkivmigxf 186 | 7faq6ixireuaiksj 187 | 7foxdbidl3agaalj 188 | 7g5bqm7htspqauum 189 | 7hk64iz2vn2ewi7h 190 | 7hst7dcpypl5tjcp 191 | 7i42x3kjxjldvcqw 192 | 7j3ncmar4jm2r3e7 193 | 7jiak6nv5dysw3cs 194 | 7k6nazykus5qb5nn 195 | 7lbc3gjafuckgwif 196 | 7ln4cubdfhs7tvtz 197 | 7pxhy63lo4pdhhh5 198 | 7pxqnijc2ypov3wm 199 | 7rkkc422cdjyurnm 200 | 7rmath4ro2of2a42 201 | 7uvijlsswycvih2p 202 | 7w65g63fgumvpuvd 203 | 7ws4mgbfmrvi43q4 204 | 7z4nl4ojzggwicx5 205 | MATRIXtxri745dfw 206 | SpaceChadxxpkf6t 207 | a2kcinqz2lh4qdiq 208 | a4yedjgciupu7zzt 209 | a5gvhrpulvq33b3q 210 | a5pkunmiz362wiau 211 | a7fbqyhnab7xm7lp 212 | a7og6p4lfv7x37ra 213 | aaaaabbbbbiabh6y 214 | aaaajqiyzj34rhjm 215 | aaouiyrt23njidey 216 | abbujjh5vqtq77wg 217 | abfze4omo4afbsft 218 | abigispddied4mec 219 | abyssopyps3z4xof 220 | acabtd4btrxjjrvr 221 | aceat45q47wrpco5 222 | acropol4ti6ytzeh 223 | acteam2nmbucjnht 224 | active.py 225 | active.txt 226 | aeriszyr4wbpvuo2 227 | aewfdl3tyohbcenp 228 | africae3vo64mzux 229 | africagdzf2ae5aw 230 | agcardsxujh3vu5u 231 | agirnygw2gthk2c7 232 | agorahoo3yigtggf 233 | agorahoob6wgtbre 234 | akaoxb4ek4hm7vau 235 | akmb7t5w56jcfgwf 236 | aknsdc3jku7of5qe 237 | akvilonom27p5hvb 238 | alienxfjeu3jzyfl 239 | allyour4nert7pkh 240 | alphabay54qdm7bn 241 | amazingd64el2zty 242 | amazonfkuuy6g3ou 243 | amazonhutgpb57xu 244 | amputefruj4rzgz5 245 | amznqken2wvujmd7 246 | anarchy3fa3bcada 247 | andcorb2cnq4uoi5 248 | anjosp2t7yv47qvc 249 | anna4nvrvn6fgo6d 250 | anon3vukb6poutg6 251 | anonymizer5lg2fz 252 | anonymous744wjcx 253 | anonymzn3twqpxq5 254 | aor7exhyqwdm7nbu 255 | apbv6itrkcr7k3ny 256 | apfront5qxkubpis 257 | apkx44pmf7fyd63e 258 | apple5e3lqymppzp 259 | applesf6emggp2pz 260 | appleze2rg3on25s 261 | arch3rsecgjqcmjb 262 | archmail5fanreo5 263 | armoryohajjhou5m 264 | armoryx7kvdq3jds 265 | armsmhmd4c3hb5xu 266 | asocialfz7ncw5ui 267 | atlas777hhh7mcs7 268 | auutwvpt2zktxwng 269 | auw6fzx756f6gqcd 270 | aviktou2sjbh5iv6 271 | awsyja6cjl2qmy7m 272 | ax52mmrlw2by5x6q 273 | ayp3gd4pm4qduff3 274 | ays3742ohpasvdoq 275 | azhw2cuqqhe5v7wu 276 | b34xhb2kjf3nbuyk 277 | b7a47fuyrp35bppj 278 | b7cxf4dkdsko6ah2 279 | ba434tkccyddp2oq 280 | bah37war75xzkpla 281 | bbbwt37dnie3ash4 282 | bcbm4y7yusdxthg3 283 | bcguyqync45rcddr 284 | bdlbvzqddbcti37i 285 | be34ley54kwgjjc6 286 | beast7ruvpc3qjhv 287 | bestescrfn274dvb 288 | betcoinahk4j27yb 289 | bettorzztykidrx2 290 | bfvfq7hjcdoinzo4 291 | bigsexzwankdb27a 292 | binario5yvaed5ie 293 | bitcheseuwebep7e 294 | bitlox2twvzwbzpk 295 | bitmixegkuerln7q 296 | bitmixer2whesjgj 297 | bitphar76n5t3qag 298 | bittexttizfec375 299 | bitzztn6yzua4oct 300 | biwvi4oeyo4fflzr 301 | bjw5ngvuevhh7vma 302 | bkhjas5ml57str7e 303 | blackhau4shlmdvg 304 | blackph5fuiz72bf 305 | blackshopd7kvadt 306 | blenderi54mbtyhz 307 | blenderri3sud4e6 308 | blkbook3fxhcsn3u 309 | bm26rwk32m7u7rec 310 | bm6hsivrmdnxmw2f 311 | boc3t6wsquex7s7r 312 | bodytomind5hql5r 313 | bookssutzsay4so3 314 | bostqmjfz64etvkf 315 | boytorqln5fxsokd 316 | bpo4ybbs2apk4sk4 317 | bprfw6gac5tdjymm 318 | bptfp7py2wclht26 319 | bptimju5re5m2o7u 320 | bq2ncjv5qb6zw42p 321 | braveb6iyacflzc2 322 | brightqzfz5svaah 323 | bskoid4l5redrw5m 324 | btce7mfnhnpdkg5k 325 | btcjaww2avywtadz 326 | btcmixxihego4qyg 327 | btctic74pykkotsy 328 | btcwassndakf7wyc 329 | burgerfroz4jrjwt 330 | buybtcstbl2d3igz 331 | buyccoq36hlj6etg 332 | bw6q53ranhnpgml6 333 | bwbvcvmbpnan6xsd 334 | bx26hthu5tk7qedw 335 | bznjtqphs2lp4xdd 336 | c2djzrn6qx6kupkn 337 | c3jemx2ube5v5zpg 338 | c4br2yayzdfcfkae 339 | c6q2m57ts2crvtiz 340 | c6wtpvznm4pk6q5u 341 | c6zmcgi46tlgkx5t 342 | c7ooac5dc5iub6jc 343 | cannabi4ewmalq3g 344 | cards5yvy44gucvo 345 | cardsm4fgcw5po3v 346 | cardsp2g54ybnvpg 347 | cardsunwqrzhg5cw 348 | cartvs55wtzng5v3 349 | casesvrcgem4gnb5 350 | casinou2gs2xlkfw 351 | castorz2lijmrc5f 352 | cbnujyutccrk267j 353 | ccccrckysxxm6avu 354 | ccghmfd2x74s7i22 355 | ccgoldchgewmd5kz 356 | ccpalym5nu3elh5y 357 | ccqvltabnwq57ivi 358 | ccrewvvvj2x2itow 359 | ccxdnvotswsk2c3f 360 | cdic2v5mnilpxwuo 361 | cfwl3urfcsml22hb 362 | cfxubw3jr2usabqq 363 | cgmcoopwhempo6a5 364 | chainspz7gu33k77 365 | chaoscd6qmxifwas 366 | chat7zlxojqcf3nv 367 | chatlistea3zbsck 368 | chatslf537c7qa6k 369 | chattorci7bcgygp 370 | china2ltxuwdntrl 371 | chws5ibwliag4fyc 372 | cidr6kt4la4slizf 373 | cigs7cviqbi4bvuy 374 | citizen47m7jfpad 375 | cityzenp4d2eytjh 376 | cjakglmv3vidqwgt 377 | cjtjunfc4ykpdw5v 378 | cleancoikmh6uamc 379 | cleancondgqja34b 380 | cleversfsg2ctqk4 381 | clgs64523yi2bkhz 382 | clivl6rf3vft7ihw 383 | cln62wylhyoyz4yr 384 | clockwise3rldkgu 385 | cmhs5wai3bzl2iyr 386 | cmoqohtgyilgec7y 387 | cnekwx4kmgztzgxq 388 | cnrfdwrftsuw6mch 389 | cocahze7fqy4qwwx 390 | cocain2xkqiesuqd 391 | cocaineweogeta6y 392 | coincloo5wdlx2n7 393 | coindrk42so2x5fe 394 | compass6vpxj32p3 395 | cosmista6thgibvv 396 | costeiraumsbdt2q 397 | countermltd42g4x 398 | countrfoioed4ckx 399 | countuwelx4r7qi5 400 | cplm66mos5766o5t 401 | cqxalq3h7uynx7th 402 | cra7ia5ktgxxed65 403 | cratedvnn5z57xhl 404 | crdclub4wraumez4 405 | cryptomixns23scr 406 | cryptorffquolzz6 407 | cryptsen7fo43rr6 408 | crypty22ijtotell 409 | cstoreav7i44h2lr 410 | csxtih62vmohxptm 411 | cthonlhzx52m3427 412 | cthulhuuap7ch47k 413 | ctsxciusuws3yxch 414 | cukggkk6enbnihte 415 | cvalleyeo5lm7gyr 416 | cw3zeqqmnr4yyqd5 417 | cwu7eglxcabwttzf 418 | cww4mgb635hjpkti 419 | czeusi2cjuey57hf 420 | czt4clbt5fbrencu 421 | d3sumtdpzsngiijr 422 | d4aik5sbzkdap5up 423 | d4jqm4tnsnffcyu7 424 | d5bw4nhlwcfiojtp 425 | d5eyi24facorsljv 426 | d5ykgbnwdoa65op7 427 | daemon4jidu2oig6 428 | darkdirmpmoq3uur 429 | darkheroesfmmp6n 430 | darkheroesq46awl 431 | darknetco4i4prlp 432 | darknetncj7k6wzk 433 | darksdsp6iexyidx 434 | dc5gee72qyaayr4d 435 | ddtjmpnfbcoirqg7 436 | deagles4ioy2rvkj 437 | dearsirx6h7j6kro 438 | deepdot35wvmeyd5 439 | deepdotibd5fmuel 440 | depastedihrn3jtw 441 | dfrbsihrp5ixghmj 442 | dgga6nkttx6babje 443 | dgoez4e5amzfyd22 444 | dgx3r53bffjfhopl 445 | dhlpkwqcw3dygqxu 446 | di7r5nugcjmgprd3 447 | diamouwksmsuquw7 448 | diaspbclj4sgc2fy 449 | digitalass6qi2nt 450 | dildosky53jnf5mt 451 | dioq2yg3l5ptgpge 452 | directdal7bourmy 453 | djkiri5jiruhxv7u 454 | djmrwe2r45qf5bjj 455 | djn4mhmbbqwjiq2v 456 | djypjjvw532evfw3 457 | dm4wty25ay7jqs55 458 | dmru36nvfgtywx47 459 | dmzwvie2gmtwszof 460 | do7dt6vuskgrz3sa 461 | doe6ypf2fcyznaq5 462 | dogshith5ciwa5ua 463 | dollarsfn45wiq4f 464 | dollzucjzqg3coec 465 | donksunrwimg76cz 466 | dosug4rea4kvnk5f 467 | doubletaogi536xs 468 | dqeasamlf3jld2kz 469 | dr5aamfveql2b34p 470 | dragonso4dnzdshp 471 | dragonso4ito7cal 472 | dreamrvfuqrpzn4q 473 | drkseidwayn6uc5x 474 | druglixdfcb3gda3 475 | drugs26ucskmvcef 476 | drugs4youpsxzpp2 477 | drugsfl4lgmxfetn 478 | drugshowdhdy2n6c 479 | drugss5mif4vrbws 480 | drugszun7tvsgsaa 481 | drystagepmi5msdm 482 | ds7zipymwmjk4t2s 483 | dsenxis5txr4zbxe 484 | dslsjffqyhv5vdx2 485 | dtchp2f74jp64odp 486 | dtt6tdtgroj63iud 487 | dua6u3dsufohrnsz 488 | duskgytldkxiuqc6 489 | dw7rmeivs3g7upze 490 | dwnatg4ijethv7zj 491 | dzyaf4r3usxmzbxg 492 | e2byufqft24mg4wm 493 | e4c4xzz3hl772fti 494 | e4unrusy7se5evw5 495 | e64qidckaxijfm6l 496 | easycoinsayj7p5l 497 | easyppslbft37xq7 498 | easyvisa5i67p2hc 499 | eb6w5ctgodhchf3p 500 | ecmye7f3b7fywr3x 501 | eda2jx74zvsjmd4h 502 | edfbn5gfuaj2bc2w 503 | eeyovrly7charuku 504 | efxg3mscme5hy7je 505 | egxwaxpblag22ejo 506 | eiczk2c3rcovg6to 507 | eivd4nanrtr2qkk6 508 | ejsrfugryg3txyqh 509 | electrotev3tgo2p 510 | elwmfxkjwkax3647 511 | elysiumqabudewv3 512 | elysiumucxuu3rs2 513 | en35tuzqmn4lofbk 514 | entropisth3ctkzd 515 | eohdzt7v4dly7ijk 516 | eon3o2n4tohozwsu 517 | ep2jddbvpsfl7iz4 518 | epicctfau2hw4w7a 519 | eqnbwy4b4k4lrlq5 520 | eqss5zckaykxqbz6 521 | es2adizg32j3kob5 522 | escrowq5tus5jpgw 523 | esmmb7ukgz45a63v 524 | eternalu56iiek2j 525 | etnkdf2jsvc7vi4u 526 | etrrdbuorwng2hkw 527 | etvxw7bqdirm5567 528 | euiaisz7ysypnr7n 529 | eupillu4np223oxe 530 | euq6zpdckyzcvbxa 531 | eurocfshftwvoqw2 532 | ev7fnjzjdbtu3miq 533 | evdepf3pss7xuotx 534 | ewokqwbnd3wrnbxg 535 | exoduockgfq3ikf7 536 | exwljei3bfvchv6p 537 | ez42lmugnriyv7k3 538 | ezuwnhj5j6mtk4xr 539 | f2qrazeddramv3za 540 | f2tfsob4btdpitpi 541 | f3deaigsslsmsdth 542 | f3gcichubmtzs7mq 543 | f3mnl42ax3qtu3a7 544 | f6tch6hxjpazaowz 545 | f6zkm5saglentxwz 546 | face5njvqswhm7gf 547 | facez25qzcuvu2t3 548 | fakeids5bps3l6qb 549 | fakeidskhfik46ux 550 | familybw6azkhjsc 551 | fantomwf4luxar7u 552 | fappen53mnvayq4o 553 | fastcp3h65hcyyoe 554 | fauftpffbmvh3p4h 555 | fb2lib3argrtulnw 556 | fbcy5ylyoeqzqzcr 557 | fbverg66cgvrj55m 558 | fbyr455vwvkpzp5k 559 | fcnwebggxt2d3h64 560 | fde5ouch3clzfyns 561 | fdp3ombsobj2uw4w 562 | fdpogivefk34xkbd 563 | fdwmarkvokb5i7wh 564 | fdwocbsnity6vzwd 565 | feetlovey2o6xggy 566 | felixxxboni3mk4a 567 | ferkey4nox6vbqwr 568 | ff3iles2mncg2u7w 569 | ffi5v46ttwgx3fby 570 | fhostingesps6bly 571 | fif6hvq6mtyrtg4q 572 | fightckxiykml2xu 573 | files2qmorgetq5f 574 | filesmy2vrmzmgtt 575 | fixerwex7oobu4ki 576 | fizxfsi3cad3kn7v 577 | fjql7u2zyeb4vwdk 578 | fkut2p37apcg6l7f 579 | fl6hc6edcvmpfhje 580 | flibustahezeous3 581 | flnbsyyqh3vqet5p 582 | flugforum5puztp6 583 | flugforumpwzz3wq 584 | flugsvamp72rajmk 585 | fmivsuu2vmubsdhx 586 | fncuwbiisyh6ak3i 587 | fnmzoiz66obda3gf 588 | foggeddq65qveh2g 589 | foggeddriztrcar2 590 | footballthj7o5w3 591 | fqqqxdt5aovf5skl 592 | frankk4lwkgnrnhk 593 | fraudto4jwpbkvhk 594 | freedomqbueysrt3 595 | frwikisfa6myvgyx 596 | ftec4org3hcpnoir 597 | ftyffwtact6nguwi 598 | fuacantanj2vhfpw 599 | fuckyouhwlpp3odw 600 | fullchan4jtta4sx 601 | funwito6ykzrupsj 602 | fwb2cosocslxnvtg 603 | fwgsukzxsbu2k6mh 604 | fxr7xiln7hfj4ofw 605 | fysatvc545wppw6b 606 | fyxifz6xwx3d67a2 607 | fzqnrlcvhkgbdwx5 608 | g2nrol7gopostals 609 | g3ac3scji3c6ecuj 610 | g6xyofk6snjdpvpj 611 | g7fve523jjaogsh5 612 | g7ielqfyazy3n6nt 613 | gac5e64yd3rsdk5n 614 | gag5esjvtvejla6t 615 | garlic7ravilyupx 616 | gbookiisl7fvdds7 617 | gbxffu5j3rocbvoa 618 | gc4youuhrzbp5rlm 619 | ge6gijixq6inixgh 620 | geiiadmqjf7n7q2m 621 | genesis3lrkxao7u 622 | getbase52kibye6l 623 | gewaltics7teim6i 624 | gexauw6b2azvohdm 625 | girlr7i4ptur3lpw 626 | girlsj4sqwsybt4y 627 | git3mre26f4myq74 628 | gjepux4a5hcrwczm 629 | gjobqjj7wyczbqie 630 | gkqmy7ioqptiru5o 631 | glenndhfjybbk3mx 632 | globe223ezvh6bps 633 | glowlandpvb6q2tl 634 | gmeavc34eaupxbbb 635 | gmgbxa2nnra6plo3 636 | gmsxeo3ypjsn3itb 637 | gnupg4na2oymu5ls 638 | goatsehvcopyc2ex 639 | goblin2xsbqonuv5 640 | godnotaba36dsabv 641 | gore226jrod4ia2c 642 | gotham22iwmkmzcn 643 | graffenteqk3od63 644 | grams7enufi7jmdl 645 | grams7eo7mkagczs 646 | grams7eu3phkfrt3 647 | grannytnglrvaaf7 648 | greendrgfjz7ks5f 649 | grjfadb7bweuyauw 650 | grrmailb3fxpjbwm 651 | gso4vx44vwnlanwe 652 | gu5ke7a2aguwfqhz 653 | gunsdtk47tolcrre 654 | gunsjmzh2btr7lpy 655 | guttenbdoe4mzk6k 656 | gxamjbnu7uknahng 657 | gxucxslswfg6tu5j 658 | h24wtibkbgc543ck 659 | h2am5w5ufhvdifrs 660 | hackarmgq2n2erux 661 | hackcanl2o4lvmnv 662 | hacker4hhjvre2qj 663 | hackeroql4l2mejs 664 | hackerrljqhmq6jb 665 | hackerw6dcplg3ej 666 | hackharhoaw3yk5q 667 | hackmeon2teb4ixo 668 | hackpdatf4kryh54 669 | haklab4ulibiyeix 670 | hansamkt2rr6nfg3 671 | hansamkt3iph6sbb 672 | hardblush4fncbgz 673 | hb2z3skucfnjdrj7 674 | hb6y4jt4pnfb52v6 675 | hbetshipq5yhhrsd 676 | hbooruahi4zr2h73 677 | hc3sz3i2rb5dljqq 678 | hcutffpecnc44vef 679 | hdb2hxvsz4bjuqdu 680 | hdjd6wv7hjngjhkb 681 | hftpdlb256qd3z5a 682 | hg5km4y37lgir6r3 683 | hiddenwiki6pbbpc 684 | hiddenwk7qnvvpfo 685 | hideki24bd6yof6s 686 | hideout6eiazeoyp 687 | hidepyx5doacg34x 688 | highkorea5ou4wcy 689 | highwayelgf7ki67 690 | hkisl3373gs67icm 691 | hm2x56wxhc2b43xf 692 | hn5fbbc4pyz77xfa 693 | hngzc77e55qy5vqn 694 | hnrv6gjsragj7t2e 695 | hokioisec7agisc4 696 | holy3rnagqsgphh6 697 | hostie65cxwr4tza 698 | hosting6iar5zo7c 699 | hostorx7oztvxnuz 700 | hpjw636qnt5avq62 701 | hrvis2syj6kvaqru 702 | hss3uro2hsxfogfq 703 | hsv47rw3y6r3h5ji 704 | hunto5a5lk4ovlc6 705 | hwikis25cffertqe 706 | hxblogxmo5wrw4oe 707 | hxcof5674u3qxblj 708 | hxnibog5m2ocjeef 709 | hxstatsspx5p7w2y 710 | hybedxst6ulae4oh 711 | hydraruzxpnew4af 712 | hz27w5o3zlhptx7v 713 | hzovy5vy36hrbxqv 714 | hzwdrkjtm5i2uwtb 715 | i24twyzsl6pqeicg 716 | i2bco6umfcicofor 717 | i2ys735iutpoa4a3 718 | i3ezlvkoi7fwyood 719 | i5fquo33mghvtzgm 720 | iacgq6y2j2nfudy7 721 | ibgk7stvp6bov6x6 722 | ibq6lgsnfrotyy7t 723 | ic6au7wa3f6naxjq 724 | icocainpsv5u5vat 725 | idomquol7lannf22 726 | iehgay7x72zyca4z 727 | ihabo5fwu4gjxpll 728 | ihacker355hscnhv 729 | iidxap2xwq6arwbr 730 | ijb7rxextmnhkd76 731 | ijeeynrc6x2uy5ob 732 | ijr246luczc74cgm 733 | ik3dw5whel25zxnj 734 | ikfwzqtlnjxwfq3t 735 | ikqiyldjddtx65pk 736 | imhhge4lijqv7jzf 737 | infidelvi3vx2ln2 738 | infinityzdc7wepx 739 | infotombjhy7tcrg 740 | infsell5ctvt6taf 741 | inlq3nyho5cux52r 742 | instantxiqyycf5n 743 | intelexi7yo7mj7j 744 | ipadairzbbpb6gas 745 | ipfhnseo4hgfw5mg 746 | iphone4s36yy7uhh 747 | iphoneszc52wf6iw 748 | ipnp3eyqou56243h 749 | iqij37quu7cvaktl 750 | irc2p5zrbdk25rdy 751 | ischools4k7batnz 752 | isitup7ovc7pubyt 753 | itemnaaj35zkkako 754 | ito66nlgdcpnlliv 755 | itorshop5fhthjil 756 | iuektur6bicvfwcq 757 | iw4xcachep26muba 758 | iwjke47bybivwh6i 759 | iyyuff463qvwauxy 760 | iz3yca2to2djxva2 761 | iz56hciijqh5uh5u 762 | j2h2mrzskje3om2b 763 | j2mkgx7ueszqa57e 764 | j3xnw6gh6jjrnjbk 765 | j4qgxjtjvkdv3oa5 766 | j5ehssrshpxpdkto 767 | j5lo7vgmgrz5xoi3 768 | j6uhdvbhz74oefxf 769 | j7652k4sod2azfu6 770 | j7hackfestgaeuvv 771 | jabberthelv5p7qv 772 | jcvdzt5vdlkq3ix6 773 | jdpskjmgy6kk4urv 774 | jeunessejaq3z5wu 775 | jewjewkeei4o4bvn 776 | jgsl3bktj7m63hee 777 | jgzvkisiov642jlc 778 | jh32yv5zgayyyts3 779 | ji3yb2tncy6naj7b 780 | jjfcjwxf3szomuas 781 | jjx5ptpktk6lnycu 782 | jkfcubzue3sjqzwk 783 | jlve2y45zacpbz6s 784 | jmkxdr4djc3cpsei 785 | jokerbuzzhyhl5cl 786 | jq77mc73wz5wuawt 787 | jqiho7je6xty4ne4 788 | jquakwlt7um5mdk5 789 | jr4jzn5zte7nkfcw 790 | jrcdyxk73fwo67mn 791 | jrx7li2ofr4vu5xv 792 | jsbpbdf6mpw6s2oz 793 | jssestaew3e7ao3q 794 | jstash5cxe6ixxb2 795 | jstashin657bcdxm 796 | jswobkjxooe7ntiu 797 | jthvk4azzct2lptc 798 | jtm5j25w7fq5tubs 799 | jungswtfwgjwile2 800 | jvauzb4sb3bwlsnc 801 | jvetctcsppwqf6tp 802 | jwvru4dvfwuktptf 803 | jymkf7sx7cldgsbl 804 | jyqcyzcldyumkmh2 805 | jzn5w5pac26sqef4 806 | jzsm6raa2iw3hkue 807 | k2r5psouiawfu6jy 808 | k3dlz7wipzvolxw6 809 | k4btcoezc5tlxyaf 810 | k5rooysqhscw6cuu 811 | k5vbzl3ucwsjf2ye 812 | k6wgrhwuxigyjpb4 813 | kaarvixjxfdy2wv2 814 | kamagraujn45ja5w 815 | kaqkiyehzw23pnag 816 | karc46pirv2g2lst 817 | kbvbh4kdddiha2ht 818 | kbxv2hlsy6phxalo 819 | kbyz2vu3fnv2di7l 820 | kdq2y44aaas2aiu4 821 | kdrcxean24rxglcy 822 | kdtvsdxhfc2lwfzg 823 | kenblog2vwew64r5 824 | khldt5et3aekegpw 825 | kitsune6uv4dtdve 826 | kitsunemkg4nbhle 827 | kjgdz4nv24u2fbso 828 | kjk4qvgg6usnvwyh 829 | kjpkmlafh2ra57wz 830 | kjzhohqqslrw4bep 831 | kkkkkkkkkk63ava6 832 | klausurha5yqyv6r 833 | klibckajjv323gyg 834 | kmltuigipr23dk3g 835 | kmpzkalcvm2yjumd 836 | knihyj65ztqcu6pu 837 | konvertr6667fiat 838 | kotnikdvbq6lnbfz 839 | kouteihckhs2zuzd 840 | kowloon5aibdbege 841 | kowloonqle4sb2c7 842 | kp6yw42wb5wpsd6n 843 | kph3onblkthy4z37 844 | kpj3orlxmfs6yqah 845 | kplatypxb2aecznv 846 | kpvz7ki2v5agwt35 847 | kpynyvym6xqi7wz2 848 | kr5hou2zh4qtebqk 849 | krk5gpcz5g6szv3g 850 | krtuoy4u4b2f547u 851 | kurdox4tfzujxddq 852 | kurrmpfx6kgmsopm 853 | kvs3xgkasyoqd4hx 854 | kwv7z64xyiva22fw 855 | kxojy6ygju4h6lwn 856 | kzfzhi4nsvzx4rr3 857 | l33teryfjryh5ir7 858 | l4o2snupk3jji7wk 859 | l5fdshtms2yn7hsp 860 | l5oqxwdzs5m2dwro 861 | l6quosmt2ffwphvf 862 | lacbzj2y2uwgdxyq 863 | ladhzzr73kxkifxg 864 | laundrymy244rcwn 865 | laundryzlzgnni4n 866 | lb5vnwyafrlxgmlt 867 | lchudifyeqm4ldjj 868 | lcvkso2t5t3cmy3x 869 | legalrcgaqsyxn6y 870 | legionhiden4dqh4 871 | lelantoss7bcnwbv 872 | lhktg2kxvmq7jjr6 873 | lhy35yf2empduecq 874 | libertygb2nyeyay 875 | libraryxobbrbj33 876 | lietffpjc7wlckvv 877 | lijbt6ju7m6opkzb 878 | limaconzruthefg4 879 | liu4cw4aas5csvpn 880 | lk77akehj7cjj2qp 881 | ll6lardicrvrljvq 882 | ln6vyadk4hv3dnyt 883 | lnys2mg7fpvccnoa 884 | lolikaastbgo5dtk 885 | lolitayx46e76fsa 886 | lonniemco233xjtd 887 | lookz3wwyeucccba 888 | lotegcc2kvterwb4 889 | louhlbgyupgktsw7 890 | loundryslz2venqx 891 | loveacg345fbzd47 892 | lqdn3654ubekqosi 893 | lqdnpadpys4snom2 894 | lr6zngwtc6al5vux 895 | lszs7jztd4aho263 896 | ltvplgp6pimxg3nv 897 | ltxocqh4nvwkofil 898 | ltxocqhw4eruf5lu 899 | lu4qfnnkbnduxurt 900 | lu6oqe5ovmukachv 901 | luckp47s6xhz26rn 902 | lulzwrzcle5ks3se 903 | lunacycipxdcd5rp 904 | lunch2xcxepjfz2y 905 | luxembn2i2c6hlrd 906 | lxhdrvsijl3ckzwu 907 | m2cylfgzmxwauyqz 908 | m2nkhqte4sxilvre 909 | m4hzynbjgypfdqnq 910 | m4ur7gtcqiekd24x 911 | m5m2jglgjn6pc7xl 912 | m5pvwutw6mafa2wt 913 | ma3lisqktqdlg3t6 914 | madwkd2bdwafaj3q 915 | magicrulesunpaa6 916 | mail2tor2zyjdctd 917 | managerw4wjhakby 918 | mango7ujh3rmxgoh 919 | matangareonmy6bg 920 | matrixtxri745dfw 921 | mattmcc7nujegw3y 922 | mb4z3nlfyrcjnoqf 923 | mc6nld3smffo3vgm 924 | mcretro35qepy5cy 925 | mda3nxsigriahnxq 926 | me6juzsbhkt5244k 927 | mecc26obkiyxzgzg 928 | megadnmnuogrn4ik 929 | mei2chpfx3rl3qzr 930 | mescudsddlujgu2k 931 | meshsusrgthwax54 932 | mewmewmtgq7jda2i 933 | mghreb4l5hdhiytu 934 | mhutvxqxiu6twcpe 935 | midcity7ccxtrzhn 936 | mihl4p6zv57y2e53 937 | milkroad6zwmtbu7 938 | milworme5c53ldlu 939 | mimi6qjfdporzchm 940 | mintgwiok47trisd 941 | mixer6nyvxalc252 942 | mixerrzbgcknjzk4 943 | mixjuia5jwfchmnd 944 | mj43hpsh6poc72yr 945 | mjjfzzbx7zx4qiom 946 | mjof2bfjbfrucsou 947 | mjt54q6pagohhimn 948 | mke3j4vlpo3ccmu4 949 | mknh2yk7ovorzjis 950 | mlkkqwzvh4ytmhdp 951 | mobil7rab6nuf7vx 952 | mobileay2syyw6qf 953 | modernbombayjhf3 954 | mof2y5sz5eqfqefx 955 | money2mxtcfcauot 956 | moneylxlh6i5dc5w 957 | mpf3i4k43xc2usxj 958 | mph4p4ccc7ap2fak 959 | mppegdk6kmrr53p7 960 | mprt35sjunnxfa76 961 | mqik2n7llhkxuevy 962 | mqqrfjmfu2i73bjq 963 | mqup7t4axdhaycua 964 | mrreph6wof6xgt43 965 | ms3pbazxs7qwb422 966 | msydqstlz2kzerdg 967 | mt3plrzdiyqf6jim 968 | mucirnaewm6bumgn 969 | muflax65ngodyewp 970 | mv7kzfntye5jxt62 971 | mvx7igua26khad3k 972 | mwl3znktk7mqogdv 973 | mx5dwqbkplnhcdzp 974 | mx7rwxcountermqh 975 | mygungfegjns6pjo 976 | mymji3a2duev7jp2 977 | myspacexsan7ksvq 978 | mystorea4mbkgt76 979 | mz252nufkj42unlf 980 | mzrthwhoyxxl66tr 981 | n2ha26oplph454e6 982 | n2xb6fz2q6pweel3 983 | n3ip6btaskerrbyg 984 | n3jmokwllhv7klva 985 | n3q7l52nfpm77vnf 986 | n4bo6lwplu7y3vht 987 | n4udgsuyqgvaszza 988 | n572ltkg4nld3bsz 989 | n65xqgf3qj423wfj 990 | n6e64mxbpwglofvs 991 | n6pbizsbykwxmydz 992 | n7a5rsk7ktf4xc5s 993 | n7aghf7pvnf6lzbi 994 | n7jzk5wpel4tdog2 995 | nare7pqnmnojs2pg 996 | ncikv3i4qfzwy2qy 997 | ncmqr7lzw5idplkk 998 | ndo2plzaruzxk6sb 999 | ndvj2ol2viuadm6l 1000 | neboardo3svhysmd 1001 | neoanime3ptorvb5 1002 | neozdy2mipzjzk6t 1003 | netauth3qialu2ha 1004 | netflixxb32gnsvy 1005 | nethack3dzllmbmo 1006 | netsec7moavvkprc 1007 | nf6kpdgg5ziagkbi 1008 | nfkrkvghv75xsf26 1009 | nfoagf4jnr42gu53 1010 | nfs6e454oyvajfro 1011 | ngz7dant7hhejxsh 1012 | nhjxrhnsol4id7qu 1013 | ni6tawzfmtcmg2jy 1014 | nichank62kpkrxvg 1015 | niggervteelq47id 1016 | ninjaos4xt6nc2ft 1017 | ninoetevzx2irhgj 1018 | nixmoneyr4osbyds 1019 | njs4tmqjy64rpyji 1020 | njwzqbbwt5wpenog 1021 | nkvphnp3p6agi5qq 1022 | nkz7zanwznuhkjrc 1023 | nla423n3gyyunhci 1024 | nlgrowc3xywaj2zn 1025 | nmki4534a4sdtndk 1026 | nnksciarbrfsg3ud 1027 | nnm5gu6g2bs7nnmm 1028 | nnmclub5toro7u65 1029 | npdaaf3s3f2xrmlo 1030 | nplwxy7u4nf6bdkf 1031 | nqjzecu4cizbd4u2 1032 | nql7pv7k32nnqor2 1033 | ns3oi5mmpkkelsyl 1034 | nsmr3rbk5jozdkru 1035 | ntdcvkgv3kzrzdxp 1036 | nudes2fdd6b775zr 1037 | nvm5m3haipf2gqbi 1038 | nximq4nynt7e3gxm 1039 | nymphetowhsn3gpf 1040 | nywtfc35kvl5oy5g 1041 | nz544wppkixoqajp 1042 | nzh3fv6jc6jskki3 1043 | nzh3t2xh2nyqgmgt 1044 | nzxj65x32vh2fkhk 1045 | o27tzesdxmoxybj3 1046 | o2fxtfdqvu576ij5 1047 | o32qlhlfxbtthszt 1048 | o3it75w77xph3lsu 1049 | o3shuzjrnpzf2aiq 1050 | o4h5pul4zhafndd6 1051 | o4ql2kzcrurthqaa 1052 | o4wwol2kcqzwszjz 1053 | o4zilmfs3mtfzo25 1054 | o62qwgqtelzbgp33 1055 | o6klk2vxlpunyqt6 1056 | o7h3nitega2z43ir 1057 | o7lji3zjwceih6wa 1058 | oafadq2h6kxeaahu 1059 | obrrsrw6b3rjuibx 1060 | ocu3errhpxppmwpr 1061 | oeikng7ha4jmto73 1062 | oestla3j22reypzj 1063 | oez45zopr4glmlcs 1064 | ogn5vbujhrvbihko 1065 | ohmva4gbywokzqso 1066 | oiiuv2gwl2jhvg3j 1067 | ojgnw7wt6ozfzeeh 1068 | ojti3yculams3ju2 1069 | okvriyrtxopy2kfo 1070 | ol346fucnsjru223 1071 | omega3gobnipc5pc 1072 | omega4jnlwm4yjza 1073 | omertavzkmsn6tp6 1074 | on5q7dqzlct7fvef 1075 | oncqrzcr5sd64gb4 1076 | ondemand5xot4hdw 1077 | oniichanylo2tsi4 1078 | onionbr5zulufnuj 1079 | onionf3ck2i74bmm 1080 | onionnetrtpkrc4f 1081 | onja764ig6vah2jo 1082 | onjjabp3oubn7mdp 1083 | ooxafc2j4y2gjr6l 1084 | op4jvhn65pjv3slt 1085 | opalrwf4mzmlfmag 1086 | opnju4nyz7wbypme 1087 | oq2pviecmwp4smrj 1088 | orang6jelula4o4d 1089 | os3c4mvkpqglfygs 1090 | ou3ef7wgvt3gqmpc 1091 | ou7zytv3h2yaosqq 1092 | ounjkwsqowuwfsu2 1093 | outfor6jwcztwbpd 1094 | outlaw2kyxddkuqc 1095 | outlaw3on72jiwaf 1096 | outlaw7kp2z6ufnc 1097 | ouvelbu7hiqzmepc 1098 | ovc2s56sxugqfabg 1099 | ow24et3tetp6tvmk 1100 | owriezc726nuc3fv 1101 | owzsdunpvn4eenyf 1102 | ox5qegyjnakjw7qk 1103 | oxwugzccvk3dk6tj 1104 | oytpxldprxv6tcbk 1105 | ozcnagiwb2w46tx2 1106 | ozon3kdtlr6gtzjn 1107 | ozxpaumnf3o2tlfe 1108 | p2wasopjcodzszfm 1109 | p3ezhyuotlkx6cjf 1110 | p56soo2ibjkx23xo 1111 | p5ckdxdgdrcys5vg 1112 | p6x47b547s2fkmj3 1113 | pab3vhzwe44uwphp 1114 | pablo6zbxiijn5hd 1115 | padrrxk4lt2x4deo 1116 | paisdld5dirkduck 1117 | papyrefb2tdk6czd 1118 | paradisefff7h5ns 1119 | parckwartvo7fskp 1120 | pariseqvmpn3flwg 1121 | passaork4ojyk3ju 1122 | pastagdsp33j7aoq 1123 | pastebinkaav4f5x 1124 | paycardmbg4c4rqo 1125 | paypalfhnohwoy6b 1126 | paypalskqofs37jo 1127 | pbzl5p2uyganwo3k 1128 | pdatad56y3a25o56 1129 | pdzdg7cbqal33ns6 1130 | pedochatmzq7ycyq 1131 | pedoncnkqgghgk7e 1132 | pf5dahldauhrjxfd 1133 | pfoxkj3p65uyc5pe 1134 | pfpajk45jbeczyg7 1135 | pfraojp7fxtdd5ut 1136 | pgp7fqno3yks7mc4 1137 | pharma5jbbmwjoo3 1138 | pharmacpr5lpfin5 1139 | pharmauoq6wnqp7q 1140 | phe6z7vfj3trzz64 1141 | phkttm64gbquasaq 1142 | phmc5tpcdu2mdvzw 1143 | pickfireywcq2wf2 1144 | piemuntxxvlk6hpk 1145 | pinkie2rpamyfuyn 1146 | pistolcqex2ecr5r 1147 | pixxboi756gocop3 1148 | planets5zjp6l473 1149 | pm27hwohotchhn5o 1150 | pmew6znterjncr3l 1151 | pms5n4czsmblkcjl 1152 | pmwdzvbyvnmwobk5 1153 | pncldyerk4gqofhp 1154 | pnxauh22krzb5xso 1155 | po47k4agopleagki 1156 | ponies6pkgbjk7ey 1157 | ponieslzi3ivbynd 1158 | popcornwvnbg7jev 1159 | popfilesxuru7lsr 1160 | porngwjr2flqjgfq 1161 | potatooezyf2aql6 1162 | poulsensqiv6ocq4 1163 | ppccpzam4nurujzv 1164 | ppccpzam63drtosy 1165 | ppdz5djzpo3w5k2z 1166 | ppstttb6wezrcldg 1167 | pq2zhljcdtrrdqs5 1168 | prduct52yhuu6c3f 1169 | prepaid3jdde64ro 1170 | printpampn737ygk 1171 | private4euatmlrw 1172 | prjadetzgebvdmb6 1173 | projpmcxufvim7be 1174 | prometh5th5t5rfd 1175 | propanedfso3mr6g 1176 | psb4ukrhoqqcdubr 1177 | psy5brv3kifjxwab 1178 | psyched25pydrgul 1179 | psyco42coib33wfl 1180 | pt2iydrrm6jco65i 1181 | pubdrop4dw6rk3aq 1182 | pukppuekvmwd4lur 1183 | purpleum5m4w5jf5 1184 | purpltx7wizybwaj 1185 | pushingtabu7itqj 1186 | pussy44ff6rasruz 1187 | pvdebi65pvgphx73 1188 | pvlxj2fcjzphk5go 1189 | pwmdxnhbnse2smfg 1190 | pwoah45bzphm2ole 1191 | pwoah7foa6au2pul 1192 | pwoah7oh4jlgdwri 1193 | pwoahxsi4pvaebev 1194 | pyl7a4ccwgpxm6rd 1195 | q2uftrjiuegl4ped 1196 | q4vyrzddq25a4jhf 1197 | q6mgy73kurvckv3m 1198 | qa7apqjzsjhcdpmh 1199 | qappoos46myl2bwq 1200 | qbxldjyuox77fe5y 1201 | qcdbc7vspedojrr7 1202 | qd3lpvypucbdqrty 1203 | qd73mvvc7v7zewwl 1204 | qdigse2yzvuglcix 1205 | qf7bzc2hcmmooqnb 1206 | qg6dcfbfw6mm5pfl 1207 | qhd6aon2fyjjan4e 1208 | qkj4drtgvpm7eecl 1209 | qkjscem7kksghlux 1210 | qkndirty6fifcrdk 1211 | qltofas4q3tgnshl 1212 | qmbuxbc2vwgtcxkc 1213 | qn4qfeeslglmwxgb 1214 | qnzhe7enwcgvjn67 1215 | qo2t3b6c7yx5oqju 1216 | qputrq3ejx42btla 1217 | qpxxwuyh7izxikjo 1218 | qqvbgcu6kohbkxbs 1219 | qrjy2nhjdbzdprbq 1220 | qrw3w45sx7niqcpg 1221 | qssio5fppcrojdh3 1222 | qwmcl3jqq6bclzto 1223 | qwy4yytb4u3r4nfy 1224 | qwzxd7r5pbrn7cqv 1225 | qx7j2selmom4ioxf 1226 | qxmwmle5fvjfippl 1227 | qza32xuddl3guikc 1228 | qzbkwswfv5k2oj5d 1229 | qzfbhpc4waxkrcdg 1230 | qzz2cvotstk357oj 1231 | r2dh5v35nw7xh5s5 1232 | r3yuljaqrzc7nurq 1233 | r44debe5ynev2udn 1234 | r5pnikednnvexvmg 1235 | r7umpv6r5djthykt 1236 | radiocbsde2ubzud 1237 | radiocbsi2q27tob 1238 | ramp2bombkadwvgz 1239 | ramp2uh2esdm4tac 1240 | ramp3e4jevfkjvyo 1241 | ramp4qd6or3h364t 1242 | ramp5bb7v2abm34a 1243 | rampshop72lq6kp6 1244 | ranionjgot5cud3p 1245 | razhy6sxzjacjmk7 1246 | rb564gvo6isyhayz 1247 | rbaco5flcou46wpd 1248 | rbwp5kj4peek7gez 1249 | rcj6gysi5s3brcvq 1250 | rcw3tpb6kv4hyxuh 1251 | rd7v7mhidgrulwqg 1252 | realpissxny3hgyl 1253 | rechardsp4x6tdrh 1254 | redroomfing27toi 1255 | regeotqlnafehgk7 1256 | relatecxjngl4qs7 1257 | replicaf6cjadwxs 1258 | retardo6vlfxyzen 1259 | rfftlkqzjdse5jvl 1260 | rhe4faeuhjs4ldc5 1261 | ridotnp5m5lp22gw 1262 | rightloveqoyz6ow 1263 | rj64xya4xcnxh4zj 1264 | rjuvjyygjqm6mlqm 1265 | rjzdqt4z3z3xo73h 1266 | rkea452tdivg4kbe 1267 | rkphrici4u5ffhhm 1268 | rlmhcda2ttz4tdtw 1269 | rocketkk5hhqzlbf 1270 | roewfyjjhvmv6zbu 1271 | ronxgr5zb4dkwdpt 1272 | ror35nkgtjotphhd 1273 | roscard5xxpj4g3g 1274 | rospravjmnxyxlu3 1275 | rothminr5wgew3f4 1276 | royalbrikcrpjve2 1277 | rp4roxeuhcf2vgft 1278 | rqn5ai4rw6fhwbqx 1279 | rrcc5uuudhh4oz3c 1280 | rrydrab7aba7hilt 1281 | rso4hutlefirefqp 1282 | rsprjqyxhf25l3qd 1283 | rsrzpcnk2nhedf46 1284 | rtwtyinmq4wzzl6d 1285 | rtz6kznga4anujwu 1286 | rubbishs4sfawpyf 1287 | rupedoszuuqmn6pq 1288 | rusilkusru6f57uw 1289 | russianyhluzsk53 1290 | rutorc6mqdinc4cz 1291 | ruudkootx2pi5tbg 1292 | rvy6qmlqfstv6rlz 1293 | rwgj62oc4dx4nxzt 1294 | rxyt6gfigfoberml 1295 | rzb5nlpvy5oqnket 1296 | s26o5c4vj4lesojy 1297 | s35ws7u7sj2g3uxm 1298 | s3ppk2geaa5ml4kt 1299 | s5q54hfww56ov2xc 1300 | s5wjo7jakzynjlp2 1301 | s6424n4x4bsmqs27 1302 | s65wvjkabwlqs4fr 1303 | s675alzzl7zkhwx7 1304 | s6fn2nxxwqkati4c 1305 | s7a4rvc6425y72d2 1306 | s7kgnncq3zbe3yza 1307 | sadmand4navkfsln 1308 | sadozwnrz5trwjnc 1309 | safedice2ge73n2g 1310 | safewzrqqmf4lv6o 1311 | safewztkcpcpf5ij 1312 | sanpii6qqjdzws77 1313 | satforumnoo6sxgk 1314 | saufca42reinzasa 1315 | sblib3fk2gryb46d 1316 | scam24nsc7qxrzuc 1317 | scamm55va433wt27 1318 | scamsutlniin3tb5 1319 | scihub22266oqcxt 1320 | scryptmaildniwm6 1321 | sd5c4rvpu6igolhl 1322 | sdata7sidixxhxpb 1323 | searchb5a7tmimez 1324 | secrdrop5wyphb5x 1325 | secretm4kzczrect 1326 | seomonivzvt73xks 1327 | servertoenof63yc 1328 | sftpstae662x37t7 1329 | sgcynikoihu3htwi 1330 | sgqjml3dstgmarn3 1331 | sh33jayxnq7af3i6 1332 | shadow7jnzxjkvpz 1333 | shadowjxlhyyj4gf 1334 | shadowrnzghb5zhb 1335 | shield25zv24v4u6 1336 | shield2c6poioin3 1337 | shield2esngpedlv 1338 | shield2l4bkh2wck 1339 | shield4rkzn3f35a 1340 | shield5776ic7ins 1341 | shield5crnua3jbo 1342 | shield5klvhxc577 1343 | shield6asmsqupyu 1344 | shield6rsb55zczm 1345 | shield7s2hwhxp6a 1346 | shieldstqtbj3cbx 1347 | shieldsuyahou7xr 1348 | shieldsvuo7r36n2 1349 | shn3x3whdm5tuut4 1350 | sholq4kbukl5mitc 1351 | shops3jckh3dexzy 1352 | shopsat2dotfotbs 1353 | shyserversmg4gfe 1354 | sigtermu2osxhujr 1355 | silkkitiehdg5mug 1356 | silkroadyh2dmuad 1357 | silphx7xaqfymxtj 1358 | sinbad66644fr5lq 1359 | sinbox4irsyaauzo 1360 | sitesbr4zb63apyb 1361 | sjy6xzkzitbj2lvt 1362 | skgmctqnhyvfava3 1363 | skunksworkedp2cg 1364 | sla2tcypjz774dno 1365 | slkushhma4pmfirg 1366 | slseul4b63xqkvmg 1367 | slwc4j5wkn3yyo5j 1368 | smoker32pk4qt3mx 1369 | smokerhv5hlklzh2 1370 | sntfgwfami5fdbn5 1371 | snvb5ffurikzeiod 1372 | snwqprozuho4y6vo 1373 | solarmovie6rystf 1374 | sonntag6ej43fv2d 1375 | sonofgod5u4eafyv 1376 | soupkso3la22ltl3 1377 | soupksx6vqh3ydda 1378 | spacechadxxpkf6t 1379 | spicerckk3nrowry 1380 | spj5tdjthbgvdwnz 1381 | spotiloaddbc5vd5 1382 | spvxwgi4e73dfcs4 1383 | sqi4kzkxp2v7byoo 1384 | sqkkdyq5r4ybjeju 1385 | sqtluqnjl6txj2n2 1386 | staffupgqvol754y 1387 | steplaf3p2u4e7pg 1388 | stolenmsq7tojcbg 1389 | stonedkj4x37iaov 1390 | streamtmr46ysxw6 1391 | strngbxhwyuu37a3 1392 | suchobisx3wf5p64 1393 | superkuhbitj6tul 1394 | support26v5pvkg6 1395 | svcam4nlpnj2hzna 1396 | svtemgdir2bvb7q3 1397 | swao4ix46yb2pvgy 1398 | swehackmzys2gpmb 1399 | swimpool5o2cfhjk 1400 | sx3rwjwhigz3aafs 1401 | sxzgqh7j6sgiy6he 1402 | syc2my6de3dft7mc 1403 | syro2eznzea2xbpi 1404 | syst3k2e5lysrei4 1405 | system33cb4tgdhz 1406 | t2bvkqv5w564zxmv 1407 | t36pqdv2ei7pmqa3 1408 | t3tzzluk6it7y3yh 1409 | t4is3dhdc2jd4yhw 1410 | t54cjs4qc2r4bn63 1411 | t5eglgwxa43dmbn3 1412 | t7tvvkx5vc3cvj6l 1413 | t7xcpwokiagivyzq 1414 | ta66nfopjkdkieuv 1415 | tails77na25fl35n 1416 | tbw4gvkmybw6jglr 1417 | tcblogw5rgknbggf 1418 | tcqe3dubr6oeq23n 1419 | tdupp6lmgnpex5ss 1420 | team7n7vxuulotus 1421 | teenxxxbtl7wsllp 1422 | telnetg42y5crrb7 1423 | tepkbc5jtwqvcrdj 1424 | teranovif5tsxdb6 1425 | teste6pirnpifecj 1426 | testeg2x3kyaiubl 1427 | testvztz3tfoiofv 1428 | tetatl6umgbmtv27 1429 | tevyc2dds5oxutwe 1430 | tfwdi3izigxllure 1431 | tfwh3y7tdfzljmat 1432 | tgdk7rhersyliend 1433 | tgirleexw34kdbx6 1434 | tgssx32xnahbto7b 1435 | tgypexfizxmgv5wx 1436 | thebeast6pwekhvs 1437 | theboxmmvl6zg3wi 1438 | theches3nacocgsc 1439 | thezeromj2umfc42 1440 | thhazdmx2kymozql 1441 | thundersplv36ecb 1442 | tigas3l7uusztiqu 1443 | timaq4ygg2iegci7 1444 | tknijuhhdg4476vl 1445 | tm47kmrvlxuibig7 1446 | tmc2ybfqzgkaeilm 1447 | tmfeedozvp6v65nf 1448 | tnmarkyzsx7xfbdg 1449 | tochka3evlj3sxdv 1450 | tor26itgpdacug4u 1451 | torbet777o4era3q 1452 | torbox3uiot6wchz 1453 | torc5bhzq6xorhb4 1454 | torcvvq44o7ofjuu 1455 | tordoxov3jitflky 1456 | torhost3p7quiikq 1457 | toristinkirir4xj 1458 | torlinkbgs6aabns 1459 | torlinksccquz7bi 1460 | torpress2sarn7xw 1461 | torprowdd64ytmyk 1462 | torsiteyqk5ajx5o 1463 | torsniffrqvvkv4x 1464 | torvps7kzis5ujfz 1465 | torxmppu5u7amsed 1466 | tp5vughmyet7mnij 1467 | tpq5sxk5cgdf35uq 1468 | tpvj6abq225m5pcf 1469 | tqdh2gq3risdt2l2 1470 | tqn3fywqa5s2ojso 1471 | trackeryknvofs3m 1472 | tradeforumzkw4bk 1473 | traditio3trziwpn 1474 | truth77k52rbo3ov 1475 | ts4cwattzgsiitv7 1476 | tsk3yv6dmnil65j6 1477 | tssa3saypkimmkcy 1478 | tt3j2x4k5ycaa5zt 1479 | tt75atziadj4duff 1480 | tufprj3pslo56ilh 1481 | turkiyex6fkt46ra 1482 | tutorneunixbasq6 1483 | tuu66yxvrnn3of7l 1484 | twbers4hmi6dx65f 1485 | twittorxsun563wg 1486 | twlba5j7oo5g4kj5 1487 | twolifeuodnyijk7 1488 | twulujga5k2t3i6c 1489 | typefacew3ijwkgg 1490 | tytbeta57rw2onit 1491 | u3ghkwxzofgid3vx 1492 | u5uewave7nxbwxob 1493 | u75jkrt3umu2c7pn 1494 | u76xgym22s4adf55 1495 | ubcwdcu6o4dslgb6 1496 | ubw577imrzpcixiq 1497 | ucavviu7wl6azuw7 1498 | udrciweihl4qe63p 1499 | udsmewv45lunzoo4 1500 | udujmgcoqw6o4cp4 1501 | ueujbytsstmxqon3 1502 | uf2fjijpodfsv4fb 1503 | ufl7ew5wsb3ord7h 1504 | ufxa64dzsqrewny7 1505 | ug2kbu4ek7asgpkp 1506 | ugxtcshopyk4a3vy 1507 | uhkplurmvltqen4k 1508 | uhu7jakqd6ttrqlw 1509 | uhwiki36pbooodfj 1510 | uj3wazyk5u4hnvtk 1511 | ukd73tail7a32g5g 1512 | ukjlovmbuw25gddi 1513 | ukpassp4tbkcuvfg 1514 | ukppq4m2uird2zau 1515 | ulrn6sryqaifefld 1516 | unclesam7nczzyz7 1517 | underdj5ziov3ic7 1518 | unionsoe3yw6fxaq 1519 | unlock3cdmwwf6ya 1520 | unteh4oc2fpl57fy 1521 | uoaz2bavpyplrswx 1522 | uouwxld4urvtvzim 1523 | uphnm2dgilz4dysl 1524 | upv3wvf6sikfiluy 1525 | usapass3kbzhszyp 1526 | usapi6ordn7yl2nx 1527 | usd4cx7otgnx6wtp 1528 | used2now7fin3qse 1529 | usjudr3c6ez6tesi 1530 | usjudzhwh2zaxmzu 1531 | ut3rclysspto2533 1532 | ut5pjrih7noxo3cn 1533 | utvjqkyc4ejhzkwu 1534 | uuecxqc4mtzd7ysv 1535 | uuxrei5or65anucg 1536 | uw2kdu43jtxssofz 1537 | uw3lqa6whwrxspld 1538 | uwm2wosrob3gplxy 1539 | uyldegbavkkfja3u 1540 | uzpsnetq2lpx6pv6 1541 | uzrmpw3rsmlkwqbx 1542 | v22g2o2smqhkji37 1543 | v245twftq76pls6n 1544 | v3bpt2x7iuz3gr2n 1545 | v3helpuiyxzw3j7x 1546 | v4gn2k725iokfu4u 1547 | v5vordmlot5gh36e 1548 | v67kboapjeeg2yac 1549 | v6gdwmm7ed4oifvd 1550 | v7opa5w6rlctoec7 1551 | vabu56j2ep2rwv3b 1552 | vadinodj37fpo64t 1553 | valhallaxmn3fydu 1554 | vandyke4mvuffjkm 1555 | vb75uj2ap3hyyava 1556 | vbmwh445kf3fs2v4 1557 | vbzxwyz7552ixqsw 1558 | vc3qj2iti5dkxryk 1559 | vcmlfg3fgsmy2teu 1560 | vefqdlcknb2npgk6 1561 | vendor7zqdpty4oo 1562 | vendorcugc6oppvb 1563 | ver7ij7pqg6onion 1564 | vfqnd6mieccqyiit 1565 | vfvfq64rtrefmdtd 1566 | vg6xusopmzu7m2ce 1567 | vgaj75i5sgzyc3bc 1568 | vgvtl7rf47ntkts3 1569 | vgyruvtmjabu7llq 1570 | vhgli4v7feaaz7ka 1571 | viagr4rub7dne4xk 1572 | vichandcxw4gm3wy 1573 | vid2x7jyypqblcc4 1574 | visitorfi5kl7q7i 1575 | vola7ileiax4ueow 1576 | voozaqizei2dborx 1577 | vortex3als3hlpwz 1578 | voynichvnqvxh5z7 1579 | vp5rhkntohnccxea 1580 | vpacxea7vj3dff3c 1581 | vpuuc5kh34hgvskx 1582 | vq664mp4rpdbvxzc 1583 | vqzhu2cs4pejapvv 1584 | vr75g7ybia7oqyly 1585 | vrimutd6so6a565x 1586 | vrm4frcx3pvg6mz4 1587 | vrmfaneizwqouf5k 1588 | vrsfa24fasaprua4 1589 | vsy7udjnodbqwp7l 1590 | vtle6jettgqyp7o3 1591 | vturtipc7vmz6xjy 1592 | vu2wohoog2bytxgr 1593 | vun2ve4khzpnd7ln 1594 | vvvvvvvv766nz273 1595 | vwakviie2ienjx6t 1596 | vwyclnha733xykha 1597 | vxx2tfzprjm56eka 1598 | vydeped4x7ztxpot 1599 | vysoofjtouvo2bl3 1600 | w25mfvkz5nylnnxz 1601 | w2h5cvocmx3qfo53 1602 | w2wqyssyue7l63q2 1603 | w363zoq3ylux5rf5 1604 | w3hysz3ewytv6efh 1605 | w5ifkainqlgtvg7a 1606 | w5jfqhep2jbypkek 1607 | w7dwxilmiwidztza 1608 | w7ehkkt2uuxy77bi 1609 | w7yue5dc5amppggs 1610 | wallet6qmtkcub2e 1611 | wallet777hk6x7ac 1612 | wallet7efe7z2vq5 1613 | warrenguyis3q3tw 1614 | wayawaytcl3k66fl 1615 | wbyi72yt6gitdcqd 1616 | wc2eyfmw7wrwomf4 1617 | wcnueib4qrsm544n 1618 | wd43uqrbjwe6hpre 1619 | wdnqg3ehh3hvalpe 1620 | wdpwzykrrqq4p7w7 1621 | weapon5cd6o72mny 1622 | weasylartw55noh2 1623 | webmpwnf4p2cssrw 1624 | weed46fkpfzc3lvi 1625 | werbx22un77dolg2 1626 | wfgtmn3anjbvyebz 1627 | wflfw5frtp5it4xk 1628 | whi7fdjqfahtmsqa 1629 | whonix4iscgg7zzk 1630 | whv2fq76cz3o36nk 1631 | wi7qkxyrdpu5cmvr 1632 | wiki5kauuihowqi5 1633 | wiki76brzrrz232m 1634 | wikipediak4by6wf 1635 | wikitat2mm7nd35c 1636 | wikitjerrta4qgz4 1637 | withweedg5iw7rj4 1638 | wivfwn64tm3uaeig 1639 | wj4m5dffmecamzyt 1640 | wj4nvlqxpvhx3t5f 1641 | wk6nc6liyporkjtp 1642 | wlchatb45vespadf 1643 | wlchatc3pjwpli5r 1644 | wlcpmruglhxp6quz 1645 | wlupld3ptjvsgwqw 1646 | wmjgokjglea3vt2u 1647 | woeo5doqpox5uwwx 1648 | wormholekmmm7dy7 1649 | wpzvprpnhhcypnn4 1650 | wqlc3ny6wcbxy2r7 1651 | wrcodabbtxff7ap5 1652 | writeas7pm7rcdqg 1653 | wrwx2dy7jyh32o53 1654 | wskzxsao5i2copjd 1655 | wtutoxfznz45gf6c 1656 | wtzufw64nt7cloaq 1657 | wuez3xlf262whtl6 1658 | wvb2sc7s6ak5deca 1659 | wvgp5kmpwehkdjpv 1660 | wwjewp6ca4rkudyj 1661 | wx3wmh767azjjl4v 1662 | wygosgr2svbh3jqu 1663 | wyl52whotptc7gkj 1664 | wypwtzc2kaceyufw 1665 | wyrgx7vaq7rj4tbp 1666 | wys2haakc5a264ti 1667 | wywg65dio2lhe76z 1668 | x2l6ko3nigu7krqy 1669 | x2pgo2itofayih6b 1670 | x42kpxgbkfdgbizc 1671 | x4torrentjjjjuxy 1672 | x5yd2gfthlfgdqjg 1673 | x6yrg7vxtofezblq 1674 | x75csj7vzprjji5v 1675 | x7bwsmcore5fmx56 1676 | x7ig3agdex7czbyn 1677 | xat3cp6xrczitztq 1678 | xd7jq2dudyui4ffe 1679 | xdsa5xcrrrxxxolc 1680 | xfmro77i3lixucja 1681 | xfnwyig7olypdq5r 1682 | xhfheq5i37waj6qb 1683 | xhywwjcqyawvj7o6 1684 | xhzm2tpsyh4tn37u 1685 | xidp5a5k3rlxr5r3 1686 | xilliayhoiuv5qmk 1687 | xiqk652hk4lkdba5 1688 | xiwayy2kn32bo3ko 1689 | xkow4dnkw7cusncz 1690 | xkpxyjk3weuzklzx 1691 | xlvtwpdl2xgnyen6 1692 | xlxel2mcgvssnxs5 1693 | xmarket334dtd4la 1694 | xmarket3gpgw2ftz 1695 | xmarket7sw2fba6b 1696 | xmh57jrzrnw6insl 1697 | xmppspamc54buwix 1698 | xnordic6virmmls3 1699 | xnyvcjj6ybauprjx 1700 | xplayyyyyirxui4n 1701 | xpxnms4lvfrptwc6 1702 | xqrqbzhii6m6sdrv 1703 | xqxf2ggcud2kntck 1704 | xsold3pvbxt4xblv 1705 | xwpnxrboluxq3dng 1706 | xxdwuoiuxkyjup4b 1707 | xxvxqnbatbidn4tq 1708 | xxxk273uhfxem4s6 1709 | xyaukzqqcdkop4ui 1710 | y326e4o5ojfnmovx 1711 | y33v26yllonkbpuz 1712 | y3fpieiezy2sin4a 1713 | y4yhci7273s2yeqk 1714 | y5fmhyqdr6r7ddws 1715 | y6xjgkgwj47us5ca 1716 | y7fb7p44dje3yici 1717 | yamaki5gtixztpor 1718 | ycau2biripxexpdz 1719 | ye224web57i3gblr 1720 | yermrrzeg4fusqx5 1721 | ygzf7uqcusp4ayjs 1722 | yhc266qdppkt7bie 1723 | yin7gxpet5c3bhes 1724 | yinyang2bmaetyoo 1725 | yiswhxmewwothck6 1726 | ykrxnmvcmozu5maa 1727 | ymhulceusuzrj3i5 1728 | yn3le7mjhw4n2y4y 1729 | yniir5c6cmuwslfl 1730 | yo4jmu6dsfaeekt3 1731 | youmad6gb7kvr7if 1732 | youngiwu62nzxna5 1733 | youvjbribqk2q4dg 1734 | ypgit2ylveztgl32 1735 | yrz2nwkffev22vlo 1736 | yspwdthzg3tnmpzn 1737 | yt2qg45cftw33btd 1738 | ytczafvvoygd5br4 1739 | ytkumj6u4q5w2vsg 1740 | yu4fvvwu253u3aqa 1741 | yuxv6qujajqvmypv 1742 | yvydrnle43yqgqvu 1743 | yy4jga5rhw2qupdk 1744 | yyl24zkq3lquozdt 1745 | yzi57csfqno6xgwb 1746 | z2gu35md7bi3ceew 1747 | z2hjm7uhwisw5jm5 1748 | z2huz7tsxluvnxoc 1749 | z2kbkvb573a6devu 1750 | z2luqg4xu5r6zm6o 1751 | z2wyy3l6luhctsoa 1752 | z373bxyt6zhmxepx 1753 | z4kzldluie37m5vp 1754 | z5hns3zhhne7z6bl 1755 | z7zbg7sxhxfergpo 1756 | zaebokkun336dmmd 1757 | zakectglg6r3caz4 1758 | zanzibbk7qjqo7oj 1759 | zanzibe4e4p4jdh2 1760 | zdasgqu3geo7i7yj 1761 | zdfvqospmrbvzdn3 1762 | ze43ghupq4i44yzh 1763 | zerobinqmdqd236y 1764 | zgfgvob256pffy62 1765 | zgrl6sghf5jh37zz 1766 | zhtmkxfe7liw3adu 1767 | ziadoxvr77y7ifvs 1768 | zirpcb4q7edrw5e2 1769 | zj45fq6q5f7m56z2 1770 | zkkc7e5rwvs4bpxm 1771 | zktxwox376pbkp2z 1772 | zlal32teyptf4tvi 1773 | zmovietoropzaid3 1774 | zmxzzvcvm6oqvckg 1775 | zn4ei5n3xddb3otv 1776 | zndclh5h5zr6fgp3 1777 | znig4bc5rlwyj4mz 1778 | znsxb5weeh44pxwk 1779 | zohaq6hhk2p52c7d 1780 | zoo6cxl4rtac3jxw 1781 | zootopiaakx4m57x 1782 | zpvluacf3b3cjxm7 1783 | zqktlwi4fecvo6ri 1784 | zqsod2vcfc7v66ec 1785 | zrwxcayqc4jgggnm 1786 | zrxdzzwlxd35tbf5 1787 | zsjcgkysxbds65as 1788 | zsolxunfmbfuq7wf 1789 | zt6bycgnjvatzzvi 1790 | zuag53c4qgqiw2qr 1791 | zucj3lagcb4w6yap 1792 | zupyv3e5spdok6nw 1793 | zuqxbsc6sty2tedj 1794 | zwknk7ze3jojg7l5 1795 | zxjfjm5iinmgezyj 1796 | zy7fh3quj2rmloun 1797 | zzzcgjit65yyn4ji 1798 | -------------------------------------------------------------------------------- /cbir.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #coding: utf-8 3 | 4 | import sys 5 | import glob 6 | import cv2 7 | 8 | list = glob.glob('./images/*.png') 9 | 10 | def main(): 11 | target_im = cv2.imread(sys.argv[1]) 12 | target_hist = cv2.calcHist([target_im], [0], None, [256], [0, 256]) 13 | 14 | for i in list: 15 | comparing_im = cv2.imread(i) 16 | comparing_hist = cv2.calcHist([comparing_im], [0], None, [256], [0, 256]) 17 | diff = cv2.compareHist(target_hist, comparing_hist, 0) 18 | if diff > float(sys.argv[2]): 19 | print i, 20 | print diff 21 | 22 | if __name__ == '__main__': 23 | main() 24 | -------------------------------------------------------------------------------- /clustering.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #coding: utf-8 3 | 4 | import sys 5 | import glob 6 | import cv2 7 | import numpy as np 8 | from sklearn.decomposition import TruncatedSVD 9 | from sklearn.preprocessing import Normalizer 10 | from sklearn.cluster import KMeans 11 | import os 12 | import shutil 13 | 14 | n_clusters = int(sys.argv[1]) 15 | list = glob.glob('./images/*.png') 16 | 17 | def main(): 18 | features = [] 19 | 20 | for i in list: 21 | im = cv2.imread(i) 22 | hist, bins = np.histogram(im.ravel(), 256, [0, 256]) 23 | features.append(hist) 24 | 25 | lsa = TruncatedSVD(10) 26 | features = lsa.fit_transform(features) 27 | features = Normalizer(copy = False).fit_transform(features) 28 | 29 | km = KMeans( 30 | init='k-means++', 31 | n_clusters=n_clusters, 32 | ) 33 | km.fit(features) 34 | 35 | for i in range(n_clusters): 36 | if not os.path.exists('./result/' + str(i)): 37 | os.makedirs('./result/' + str(i)) 38 | 39 | cnt = 0 40 | 41 | for i in list: 42 | filename = i.split('/')[-1] 43 | print filename, 44 | print km.labels_[cnt] 45 | shutil.copyfile(i, './result/' + str(km.labels_[cnt]) + '/' + filename) 46 | cnt += 1 47 | 48 | if __name__ == '__main__': 49 | main() 50 | 51 | -------------------------------------------------------------------------------- /config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/config.txt -------------------------------------------------------------------------------- /docs/css/viewer.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Viewer.js v0.7.1 3 | * https://github.com/fengyuanchen/viewerjs 4 | * 5 | * Copyright (c) 2017 Fengyuan Chen 6 | * Released under the MIT license 7 | * 8 | * Date: 2017-05-14T07:05:32.049Z 9 | */ 10 | 11 | .viewer-close:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen-exit:before,.viewer-fullscreen:before,.viewer-next:before,.viewer-one-to-one:before,.viewer-play:before,.viewer-prev:before,.viewer-reset:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-zoom-in:before,.viewer-zoom-out:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");background-repeat:no-repeat;display:block;height:20px;width:20px;font-size:0;line-height:0;color:transparent}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{background-color:rgba(0,0,0,.5);direction:ltr;font-size:0;line-height:0;overflow:hidden;-webkit-tap-highlight-color:transparent;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;top:0;right:0;bottom:0;left:0}.viewer-container::-moz-selection,.viewer-container ::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container ::selection{background-color:transparent}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{cursor:pointer;float:left;height:50px;opacity:.5;overflow:hidden;width:30px;font-size:0;line-height:0;color:transparent}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-active{opacity:1}.viewer-player{background-color:#000;cursor:none;display:none;right:0;bottom:0}.viewer-player,.viewer-player>img{position:absolute;top:0;left:0}.viewer-toolbar{margin:0 auto 5px;overflow:hidden;padding:3px 0;width:280px}.viewer-toolbar>li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;width:24px}.viewer-toolbar>li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar>li:before{margin:2px}.viewer-toolbar>li+li{margin-left:1px}.viewer-toolbar>.viewer-play{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>.viewer-play:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;width:80px}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{-webkit-transition:all .3s;transition:all .3s}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}} -------------------------------------------------------------------------------- /docs/images/loading.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/images/www.torproject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/docs/images/www.torproject.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | onionstack - A Pictorial Book of Tor Hidden Services. 15 | 30 | 31 | 32 | 54 | 55 |
56 | 57 |
58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 |
159 | 160 |
161 | 162 | 163 | 216 | 217 | -------------------------------------------------------------------------------- /docs/js/imagesloaded.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * imagesLoaded PACKAGED v4.1.2 3 | * JavaScript is all like "You images are done yet or what?" 4 | * MIT License 5 | */ 6 | 7 | !function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;ij.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); -------------------------------------------------------------------------------- /docs/js/masonry.pkgd.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Masonry PACKAGED v4.2.0 3 | * Cascading grid layout library 4 | * http://masonry.desandro.com 5 | * MIT License 6 | * by David DeSandro 7 | */ 8 | 9 | !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}); -------------------------------------------------------------------------------- /docs/js/viewer.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Viewer.js v0.7.1 3 | * https://github.com/fengyuanchen/viewerjs 4 | * 5 | * Copyright (c) 2017 Fengyuan Chen 6 | * Released under the MIT license 7 | * 8 | * Date: 2017-05-14T07:05:32.049Z 9 | */ 10 | 11 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Viewer=t()}(this,function(){"use strict";function e(e){return U.call(e).slice(8,-1).toLowerCase()}function t(e){return"string"==typeof e}function i(e){return"number"==typeof e&&!isNaN(e)}function n(e){return void 0===e}function r(e){return"object"===(void 0===e?"undefined":V(e))&&null!==e}function o(e){if(!r(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&_.call(i,"isPrototypeOf")}catch(e){return!1}}function a(t){return"function"===e(t)}function l(t){return Array.isArray?Array.isArray(t):"array"===e(t)}function s(e,t){return t=t>=0?t:0,Array.from?Array.from(e).slice(t):G.call(e,t)}function c(e,t){var i=-1;return t.indexOf?t.indexOf(e):(t.forEach(function(t,n){t===e&&(i=n)}),i)}function u(e){return t(e)&&(e=e.trim?e.trim():e.replace(/^\s+(.*)\s+$/,"1")),e}function d(e,t){if(e&&a(t)){var n=void 0;if(l(e)||i(e.length)){var o=e.length;for(n=0;n1?t-1:0),n=1;n0){if(Object.assign)return Object.assign.apply(Object,[e].concat(i));i.forEach(function(t){r(t)&&Object.keys(t).forEach(function(i){e[i]=t[i]})})}return e}function f(e,t){for(var i=arguments.length,n=Array(i>2?i-2:0),r=2;r-1}function p(e,t){if(t){if(i(e.length))return void d(e,function(e){p(e,t)});if(e.classList)return void e.classList.add(t);var n=u(e.className);n?n.indexOf(t)<0&&(e.className=n+" "+t):e.className=t}}function g(e,t){if(t)return i(e.length)?void d(e,function(e){g(e,t)}):e.classList?void e.classList.remove(t):void(e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function b(e,t,n){if(t)return i(e.length)?void d(e,function(e){b(e,t,n)}):void(n?p(e,t):g(e,t))}function y(e){return e.replace(/([a-z\d])([A-Z])/g,"$1-$2").toLowerCase()}function x(e,t){return r(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-"+y(t))}function k(e,t,i){r(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-"+y(t),i)}function z(e,t){if(r(e[t]))delete e[t];else if(e.dataset)try{delete e.dataset[t]}catch(i){e.dataset[t]=null}else e.removeAttribute("data-"+y(t))}function D(e,t,i){var n=u(t).split(/\s+/);if(n.length>1)return void d(n,function(t){D(e,t,i)});e.removeEventListener?e.removeEventListener(t,i,!1):e.detachEvent&&e.detachEvent("on"+t,i)}function E(e,t,i,n){var r=u(t).split(/\s+/),o=i;if(r.length>1)return void d(r,function(t){E(e,t,i)});n&&(i=function(){for(var n=arguments.length,r=Array(n),a=0;a'+l+''))}),r.innerHTML=o.join(""),d(C(r,"img"),function(t){k(t,"filled",!0),E(t,"load",f(e.loadImage,e),!0)}),e.items=C(r,"li"),i.transition&&E(n,"viewed",function(){p(r,"viewer-transition")},!0)},renderList:function(e){var t=this,i=e||t.index,n=t.items[i].offsetWidth||30,r=n+1;m(t.list,{width:r*t.length,marginLeft:(t.viewerData.width-n)/2-r*i})},resetList:function(){var e=this;M(e.list),g(e.list,"viewer-transition"),m({marginLeft:0})},initImage:function(e){var t=this,i=t.options,n=t.image,r=t.viewerData,o=t.footer.offsetHeight,l=r.width,s=Math.max(r.height-o,o),c=t.imageData||{};O(n,function(n,r){var o=n/r,u=l,d=s;s*o>l?d=l/o:u=s*o,u=Math.min(.9*u,n),d=Math.min(.9*d,r);var f={naturalWidth:n,naturalHeight:r,aspectRatio:o,ratio:u/n,width:u,height:d,left:(l-u)/2,top:(s-d)/2},m=v({},f);i.rotatable&&(f.rotate=c.rotate||0,m.rotate=0),i.scalable&&(f.scaleX=c.scaleX||1,f.scaleY=c.scaleY||1,m.scaleX=1,m.scaleY=1),t.imageData=f,t.initialImageData=m,a(e)&&e()})},renderImage:function(e){var t=this,i=t.image,n=t.imageData,r=R(n);m(i,{width:n.width,height:n.height,marginLeft:n.left,marginTop:n.top,WebkitTransform:r,msTransform:r,transform:r}),a(e)&&(t.transitioning?E(i,"transitionend",e,!0):e())},resetImage:function(){var e=this;e.image&&(X(e.image),e.image=null)}},Q="undefined"!=typeof window?window.PointerEvent:null,ee=Q?"pointerdown":"touchstart mousedown",te=Q?"pointermove":"mousemove touchmove",ie=Q?"pointerup pointercancel":"touchend touchcancel mouseup",ne={bind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;a(t.view)&&E(i,"view",t.view),a(t.viewed)&&E(i,"viewed",t.viewed),E(n,"click",e.onClick=f(e.click,e)),E(n,"wheel mousewheel DOMMouseScroll",e.onWheel=f(e.wheel,e)),E(n,"dragstart",e.onDragstart=f(e.dragstart,e)),E(e.canvas,ee,e.onPointerdown=f(e.pointerdown,e)),E(document,te,e.onPointermove=f(e.pointermove,e)),E(document,ie,e.onPointerup=f(e.pointerup,e)),E(document,"keydown",e.onKeydown=f(e.keydown,e)),E(window,"resize",e.onResize=f(e.resize,e))},unbind:function(){var e=this,t=e.options,i=e.element,n=e.viewer;a(t.view)&&D(i,"view",t.view),a(t.viewed)&&D(i,"viewed",t.viewed),D(n,"click",e.onClick),D(n,"wheel mousewheel DOMMouseScroll",e.onWheel),D(n,"dragstart",e.onDragstart),D(e.canvas,ee,e.onPointerdown),D(document,te,e.onPointermove),D(document,ie,e.onPointerup),D(document,"keydown",e.onKeydown),D(window,"resize",e.onResize)}},re={start:function(e){var t=this,i=T(e),n=i.target;"img"===n.tagName.toLowerCase()&&(t.target=n,t.show())},click:function(e){var t=this,i=T(e),n=i.target,r=x(n,"action"),o=t.imageData;switch(r){case"mix":t.played?t.stop():t.options.inline?t.fulled?t.exit():t.full():t.hide();break;case"view":t.view(x(n,"index"));break;case"zoom-in":t.zoom(.1,!0);break;case"zoom-out":t.zoom(-.1,!0);break;case"one-to-one":t.toggle();break;case"reset":t.reset();break;case"prev":t.prev();break;case"play":t.play();break;case"next":t.next();break;case"rotate-left":t.rotate(-90);break;case"rotate-right":t.rotate(90);break;case"flip-horizontal":t.scaleX(-o.scaleX||-1);break;case"flip-vertical":t.scaleY(-o.scaleY||-1);break;default:t.played&&t.stop()}},load:function(){var e=this,t=e.options,i=e.image,n=e.index,r=e.viewerData;e.timeout&&(clearTimeout(e.timeout),e.timeout=!1),g(i,"viewer-invisible"),i.style.cssText="width:0;height:0;margin-left:"+r.width/2+"px;margin-top:"+r.height/2+"px;max-width:none!important;visibility:visible;",e.initImage(function(){b(i,"viewer-transition",t.transition),b(i,"viewer-move",t.movable),e.renderImage(function(){e.viewed=!0,I(e.element,"viewed",{originalImage:e.images[n],index:n,image:i})})})},loadImage:function(e){var t=T(e),i=t.target,n=i.parentNode,r=n.offsetWidth||30,o=n.offsetHeight||50,a=!!x(i,"filled");O(i,function(e,t){var n=e/t,l=r,s=o;o*n>r?a?l=o*n:s=r/n:a?s=r/n:l=o*n,m(i,{width:l,height:s,marginLeft:(r-l)/2,marginTop:(o-s)/2})})},resize:function(){var e=this;e.initContainer(),e.initViewer(),e.renderViewer(),e.renderList(),e.viewed&&e.initImage(function(){e.renderImage()}),e.played&&d(C(e.player,"img"),function(t){E(t,"load",f(e.loadImage,e),!0),I(t,"load")})},wheel:function(e){var t=this,i=T(e);if(t.viewed&&(i.preventDefault(),!t.wheeling)){t.wheeling=!0,setTimeout(function(){t.wheeling=!1},50);var n=Number(t.options.zoomRatio)||.1,r=1;i.deltaY?r=i.deltaY>0?1:-1:i.wheelDelta?r=-i.wheelDelta/120:i.detail&&(r=i.detail>0?1:-1),t.zoom(-r*n,!0,i)}},keydown:function(e){var t=this,i=T(e),n=t.options,r=i.keyCode||i.which||i.charCode;if(t.fulled&&n.keyboard)switch(r){case 27:t.played?t.stop():n.inline?t.fulled&&t.exit():t.hide();break;case 32:t.played&&t.stop();break;case 37:t.prev();break;case 38:i.preventDefault(),t.zoom(n.zoomRatio,!0);break;case 39:t.next();break;case 40:i.preventDefault(),t.zoom(-n.zoomRatio,!0);break;case 48:case 49:(i.ctrlKey||i.shiftKey)&&(i.preventDefault(),t.toggle())}},dragstart:function(e){"img"===e.target.tagName.toLowerCase()&&e.preventDefault()},pointerdown:function(e){var t=this,i=t.options,n=t.pointers,r=T(e);if(t.viewed){r.changedTouches?d(r.changedTouches,function(e){n[e.identifier]=q(e)}):n[r.pointerId||0]=q(r);var o=!!i.movable&&"move";Object.keys(n).length>1?o="zoom":"touch"!==r.pointerType&&"touchmove"!==r.type||!t.isSwitchable()||(o="switch"),t.action=o}},pointermove:function(e){var t=this,i=t.options,n=t.pointers,r=T(e),o=t.action,a=t.image;t.viewed&&o&&(r.preventDefault(),r.changedTouches?d(r.changedTouches,function(e){v(n[e.identifier],q(e,!0))}):v(n[r.pointerId||0],q(r,!0)),"move"===o&&i.transition&&w(a,"viewer-transition")&&g(a,"viewer-transition"),t.change(r))},pointerup:function(e){var t=this,i=t.pointers,n=T(e),r=t.action;t.viewed&&(n.changedTouches?d(n.changedTouches,function(e){delete i[e.identifier]}):delete i[n.pointerId||0],r&&("move"===r&&t.options.transition&&p(t.image,"viewer-transition"),t.action=!1))}},oe={show:function(){var e=this,t=e.options,i=e.element;if(t.inline||e.transitioning)return e;if(e.ready||e.build(),a(t.show)&&E(i,"show",t.show,!0),I(i,"show")===!1)return e;e.open();var n=e.viewer;return g(n,"viewer-hide"),E(i,"shown",function(){e.view(e.target?c(e.target,s(e.images)):e.index),e.target=!1},!0),t.transition?(e.transitioning=!0,p(n,"viewer-transition"),A(n),E(n,"transitionend",f(e.shown,e),!0),p(n,"viewer-in")):(p(n,"viewer-in"),e.shown()),e},hide:function(){var e=this,t=e.options,i=e.element,n=e.viewer;return t.inline||e.transitioning||!e.visible?e:(a(t.hide)&&E(i,"hide",t.hide,!0),I(i,"hide")===!1?e:(e.viewed&&t.transition?(e.transitioning=!0,E(e.image,"transitionend",function(){E(n,"transitionend",f(e.hidden,e),!0),g(n,"viewer-in")},!0),e.zoomTo(0,!1,!1,!0)):(g(n,"viewer-in"),e.hidden()),e))},view:function(e){var t=this,i=t.element,n=t.title,r=t.canvas;if(e=Number(e)||0,!t.ready||!t.visible||t.played||e<0||e>=t.length||t.viewed&&e===t.index)return t;var o=t.items[e],a=C(o,"img")[0],l=x(a,"originalUrl"),s=a.getAttribute("alt"),c=document.createElement("img");return c.src=l,c.alt=s,I(i,"view",{originalImage:t.images[e],index:e,image:c})===!1?t:(t.image=c,t.viewed&&g(t.items[t.index],"viewer-active"),p(o,"viewer-active"),t.viewed=!1,t.index=e,t.imageData=null,p(c,"viewer-invisible"),M(r),N(r,c),t.renderList(),M(n),E(i,"viewed",function(){var e=t.imageData;S(n,s+" ("+e.naturalWidth+" × "+e.naturalHeight+")")},!0),c.complete?t.load():(E(c,"load",f(t.load,t),!0),t.timeout&&clearTimeout(t.timeout),t.timeout=setTimeout(function(){g(c,"viewer-invisible"),t.timeout=!1},1e3)),t)},prev:function(){var e=this;return e.view(Math.max(e.index-1,0)),e},next:function(){var e=this;return e.view(Math.min(e.index+1,e.length-1)),e},move:function(e,t){var i=this,r=i.imageData;return i.moveTo(n(e)?e:r.left+Number(e),n(t)?t:r.top+Number(t)),i},moveTo:function(e,t){var r=this,o=r.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),r.viewed&&!r.played&&r.options.movable){var a=!1;i(e)&&(o.left=e,a=!0),i(t)&&(o.top=t,a=!0),a&&r.renderImage()}return r},zoom:function(e,t,i){var n=this,r=n.imageData;return e=Number(e),e=e<0?1/(1-e):1+e,n.zoomTo(r.width*e/r.naturalWidth,t,i),n},zoomTo:function(e,t,n,r){var o=this,a=o.options,l=o.pointers,s=o.imageData;if(e=Math.max(0,e),i(e)&&o.viewed&&!o.played&&(r||a.zoomable)){if(!r){var c=Math.max(.01,a.minZoomRatio),u=Math.min(100,a.maxZoomRatio);e=Math.min(Math.max(e,c),u)}e>.95&&e<1.05&&(e=1);var d=s.naturalWidth*e,v=s.naturalHeight*e;if(n){var f=L(o.viewer),m=l&&Object.keys(l).length?H(l):{pageX:n.pageX,pageY:n.pageY};s.left-=(d-s.width)*((m.pageX-f.left-s.left)/s.width),s.top-=(v-s.height)*((m.pageY-f.top-s.top)/s.height)}else s.left-=(d-s.width)/2,s.top-=(v-s.height)/2;s.width=d,s.height=v,s.ratio=e,o.renderImage(),t&&o.tooltip()}return o},rotate:function(e){var t=this;return t.rotateTo((t.imageData.rotate||0)+Number(e)),t},rotateTo:function(e){var t=this,n=t.imageData;return e=Number(e),i(e)&&t.viewed&&!t.played&&t.options.rotatable&&(n.rotate=e,t.renderImage()),t},scale:function(e,t){var r=this,o=r.imageData;if(n(t)&&(t=e),e=Number(e),t=Number(t),r.viewed&&!r.played&&r.options.scalable){var a=!1;i(e)&&(o.scaleX=e,a=!0),i(t)&&(o.scaleY=t,a=!0),a&&r.renderImage()}return r},scaleX:function(e){var t=this;return t.scale(e,t.imageData.scaleY),t},scaleY:function(e){var t=this;return t.scale(t.imageData.scaleX,e),t},play:function(){var e=this,t=e.options,n=e.player,r=f(e.loadImage,e),o=[],a=0,l=0;return!e.visible||e.played?e:(t.fullscreen&&e.requestFullscreen(),e.played=!0,p(n,"viewer-show"),d(e.items,function(e,i){var s=C(e,"img")[0],c=document.createElement("img");c.src=x(s,"originalUrl"),c.alt=s.getAttribute("alt"),a++,p(c,"viewer-fade"),b(c,"viewer-transition",t.transition),w(e,"viewer-active")&&(p(c,"viewer-in"),l=i),o.push(c),E(c,"load",r,!0),N(n,c)}),i(t.interval)&&t.interval>0&&function(){var i=function i(){e.playing=setTimeout(function(){g(o[l],"viewer-in"),l++,l=l1&&i()}(),e)},stop:function(){var e=this,t=e.player;return e.played?(e.options.fullscreen&&e.exitFullscreen(),e.played=!1,clearTimeout(e.playing),g(t,"viewer-show"),M(t),e):e},full:function(){var e=this,t=e.options,i=e.viewer,n=e.image,r=e.list;return!e.visible||e.played||e.fulled||!t.inline?e:(e.fulled=!0,e.open(),p(e.button,"viewer-fullscreen-exit"),t.transition&&(g(n,"viewer-transition"),g(r,"viewer-transition")),p(i,"viewer-fixed"),i.setAttribute("style",""),m(i,{zIndex:t.zIndex}),e.initContainer(),e.viewerData=v({},e.containerData),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){p(n,"viewer-transition"),p(r,"viewer-transition")},0)})}),e)},exit:function(){var e=this,t=e.options,i=e.viewer,n=e.image,r=e.list;return e.fulled?(e.fulled=!1,e.close(),g(e.button,"viewer-fullscreen-exit"),t.transition&&(g(n,"viewer-transition"),g(r,"viewer-transition")),g(i,"viewer-fixed"),m(i,{zIndex:t.zIndexInline}),e.viewerData=v({},e.parentData),e.renderViewer(),e.renderList(),e.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){p(n,"viewer-transition"),p(r,"viewer-transition")},0)})}),e):e},tooltip:function(){var e=this,t=e.options,i=e.tooltipBox,n=e.imageData;return e.viewed&&!e.played&&t.tooltip?(S(i,Math.round(100*n.ratio)+"%"),e.tooltiping?clearTimeout(e.tooltiping):t.transition?(e.fading&&I(i,"transitionend"),p(i,"viewer-show"),p(i,"viewer-fade"),p(i,"viewer-transition"),A(i),p(i,"viewer-in")):p(i,"viewer-show"),e.tooltiping=setTimeout(function(){t.transition?(E(i,"transitionend",function(){g(i,"viewer-show"),g(i,"viewer-fade"),g(i,"viewer-transition"),e.fading=!1},!0),g(i,"viewer-in"),e.fading=!0):g(i,"viewer-show"),e.tooltiping=!1},1e3),e):e},toggle:function(){var e=this;return 1===e.imageData.ratio?e.zoomTo(e.initialImageData.ratio,!0):e.zoomTo(1,!0),e},reset:function(){var e=this;return e.viewed&&!e.played&&(e.imageData=v({},e.initialImageData),e.renderImage()),e},update:function(){var e=this,t=[];if(e.isImg&&!e.element.parentNode)return e.destroy();if(e.length=e.images.length,e.ready&&(d(e.items,function(i,n){var r=C(i,"img")[0],o=e.images[n];o?o.src!==r.src&&t.push(n):t.push(n)}),m(e.list,{width:"auto"}),e.initList(),e.visible))if(e.length){if(e.viewed){var i=c(e.index,t);i>=0?(e.viewed=!1,e.view(Math.max(e.index-(i+1),0))):p(e.items[e.index],"viewer-active")}}else e.image=null,e.viewed=!1,e.index=0,e.imageData=null,M(e.canvas),M(e.title);return e},destroy:function(){var e=this,t=e.element;return e.options.inline?e.unbind():(e.visible&&e.unbind(),D(t,"click",e.onStart)),e.unbuild(),z(t,"viewer"),e}},ae={open:function(){var e=this.body;p(e,"viewer-open"),e.style.paddingRight=this.scrollbarWidth+"px"},close:function(){var e=this.body;g(e,"viewer-open"),e.style.paddingRight=0},shown:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.fulled=!0,e.visible=!0,e.render(),e.bind(),a(t.shown)&&E(i,"shown",t.shown,!0),I(i,"shown")},hidden:function(){var e=this,t=e.options,i=e.element;e.transitioning=!1,e.viewed=!1,e.fulled=!1,e.visible=!1,e.unbind(),e.close(),p(e.viewer,"viewer-hide"),e.resetList(),e.resetImage(),a(t.hidden)&&E(i,"hidden",t.hidden,!0),I(i,"hidden")},requestFullscreen:function(){var e=this,t=document.documentElement;!e.fulled||document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||(t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT))},exitFullscreen:function(){this.fulled&&(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())},change:function(e){var t=this,i=t.pointers,n=i[Object.keys(i)[0]],r=n.endX-n.startX,o=n.endY-n.startY;switch(t.action){case"move":t.move(r,o);break;case"zoom":t.zoom(j(i),!1,e);break;case"switch":t.action="switched",Math.abs(r)>Math.abs(o)&&(r>1?t.prev():r<-1&&t.next())}d(i,function(e){e.startX=e.endX,e.startY=e.endY})},isSwitchable:function(){var e=this,t=e.imageData,i=e.viewerData;return e.length>1&&t.left>=0&&t.top>=0&&t.width<=i.width&&t.height<=i.height}},le=void 0!==document.createElement("viewer").style.transition,se=void 0,ce=function(){function e(t,i){B(this,e);var n=this;n.element=t,n.options=v({},P,o(i)&&i),n.isImg=!1,n.ready=!1,n.visible=!1,n.viewed=!1,n.fulled=!1,n.played=!1,n.wheeling=!1,n.playing=!1,n.fading=!1,n.tooltiping=!1,n.transitioning=!1,n.action=!1,n.target=!1,n.timeout=!1,n.index=0,n.length=0,n.pointers={},n.init()}return K(e,[{key:"init",value:function(){var e=this,t=e.options,i=e.element;if(!x(i,"viewer")){k(i,"viewer",e);var n="img"===i.tagName.toLowerCase(),r=n?[i]:C(i,"img"),o=r.length;o&&(a(t.ready)&&E(i,"ready",t.ready,!0),le||(t.transition=!1),e.isImg=n,e.length=o,e.count=0,e.images=r,e.body=document.body,e.scrollbarWidth=window.innerWidth-document.body.clientWidth,t.inline?function(){var t=f(e.progress,e);E(i,"ready",function(){e.view()},!0),d(r,function(e){e.complete?t():E(e,"load",t,!0)})}():E(i,"click",e.onStart=f(e.start,e)))}}},{key:"progress",value:function(){var e=this;e.count++,e.count===e.length&&e.build()}},{key:"build",value:function(){var e=this,t=e.options,i=e.element;if(!e.ready){var n=document.createElement("div"),r=void 0,o=void 0,a=void 0,l=void 0,s=void 0,c=void 0;if(n.innerHTML='
',e.parent=r=i.parentNode,e.viewer=o=Y(n,"viewer-container")[0],e.canvas=Y(o,"viewer-canvas")[0],e.footer=Y(o,"viewer-footer")[0],e.title=c=Y(o,"viewer-title")[0],e.toolbar=l=Y(o,"viewer-toolbar")[0],e.navbar=s=Y(o,"viewer-navbar")[0],e.button=a=Y(o,"viewer-button")[0],e.tooltipBox=Y(o,"viewer-tooltip")[0],e.player=Y(o,"viewer-player")[0],e.list=Y(o,"viewer-list")[0],p(c,t.title?W(t.title):"viewer-hide"),p(l,t.toolbar?W(t.toolbar):"viewer-hide"),p(s,t.navbar?W(t.navbar):"viewer-hide"),b(a,"viewer-hide",!t.button),b(l.querySelector(".viewer-one-to-one"),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="zoom"]'),"viewer-invisible",!t.zoomable),b(l.querySelectorAll('li[class*="flip"]'),"viewer-invisible",!t.scalable),!t.rotatable){var u=l.querySelectorAll('li[class*="rotate"]');p(u,"viewer-invisible"),N(l,u)}t.inline?(p(a,"viewer-fullscreen"),m(o,{zIndex:t.zIndexInline}),"static"===h(r).position&&m(r,{position:"relative"}),r.insertBefore(o,i.nextSibling)):(p(a,"viewer-close"),p(o,"viewer-fixed"),p(o,"viewer-fade"),p(o,"viewer-hide"),m(o,{zIndex:t.zIndex}),document.body.appendChild(o)),t.inline&&(e.render(),e.bind(),e.visible=!0),e.ready=!0,I(i,"ready")}}},{key:"unbuild",value:function(){var e=this;e.ready&&(e.ready=!1,X(e.viewer))}}],[{key:"noConflict",value:function(){return window.Viewer=se,e}},{key:"setDefaults",value:function(e){v(P,o(e)&&e)}}]),e}();return v(ce.prototype,J),v(ce.prototype,ne),v(ce.prototype,re),v(ce.prototype,oe),v(ce.prototype,ae),"undefined"!=typeof window&&(se=window.Viewer,window.Viewer=ce),ce}); -------------------------------------------------------------------------------- /format.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | grep -r -h -o -E '([a-z2-7]{16})' list | grep -E '([2-7].*[a-z]|[a-z].*[2-7])' | sort | uniq > list.txt 3 | 4 | -------------------------------------------------------------------------------- /images/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/images/404.png -------------------------------------------------------------------------------- /images/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/images/blank.png -------------------------------------------------------------------------------- /images/blank2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/images/blank2.png -------------------------------------------------------------------------------- /images/onionstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ntddk/onionstack/e52cf9ba4afa42fb459a31ff28ac231aed5e8e4c/images/onionstack.png -------------------------------------------------------------------------------- /item.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #coding: utf-8 3 | 4 | import glob 5 | list = glob.glob('./images/*.png') 6 | 7 | for i in list: 8 | print "" 9 | -------------------------------------------------------------------------------- /onionstack.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #coding: utf-8 3 | 4 | import argparse 5 | import os 6 | import hashlib 7 | import shutil 8 | import time 9 | from selenium import webdriver 10 | service_args = [ 11 | # Do not insert blank to each of args. 12 | '--proxy=127.0.0.1:9050', 13 | '--proxy-type=socks5' 14 | ] 15 | dcap = { 16 | 'phantomjs.page.settings.userAgent': 'Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0' 17 | } 18 | import tweepy 19 | from tweepy import * 20 | 21 | parser = argparse.ArgumentParser(description='@onionstack') 22 | parser.add_argument('--config', '-c', 23 | help = 'path_to_config') 24 | parser.add_argument('--list', required = True, 25 | help = 'path_to_list') 26 | parser.add_argument('--log', 27 | help = 'path_to_log') 28 | parser.add_argument('--skin', '-s', action = 'store_true', 29 | help = 'Repaint skins') 30 | args = parser.parse_args() 31 | 32 | def get_oauth(): 33 | with open(args.config, 'rb') as f: 34 | data = f.read() 35 | f.close 36 | lines = data.split('\n') 37 | consumer_key = lines[0] 38 | consumer_secret = lines[1] 39 | access_key = lines[2] 40 | access_secret = lines [3] 41 | auth = OAuthHandler(consumer_key, consumer_secret) 42 | auth.set_access_token(access_key, access_secret) 43 | return auth 44 | 45 | def get_title_with_screenshot(url): 46 | driver = webdriver.PhantomJS(service_args = service_args, desired_capabilities = dcap) 47 | driver.set_window_size(1024, 512) 48 | driver.get('http://' + url + '.onion') # 'http://' is required. 49 | driver.save_screenshot(url + '.png') 50 | title = driver.title 51 | driver.close() 52 | return title 53 | 54 | def md5(filename): 55 | with open(filename, 'rb') as f: 56 | data = f.read() 57 | return hashlib.md5(data).hexdigest() 58 | 59 | def repaint_skin(filename): 60 | import cv2 61 | shutil.copy(filename, filename + '.bak') 62 | frame = cv2.imread(filename) 63 | HSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 64 | l = np.array([0, 50, 80], dtype = "uint8") 65 | u = np.array([23, 255, 255], dtype = "uint8") 66 | skin_area = cv2.inRange(HSV, l, u) 67 | not_skin_area = cv2.bitwise_not(frame, frame, mask = skin_area) 68 | cv2.imwrite(filename, not_skin_area) 69 | 70 | def tweet(url, title): 71 | message = title + ' ' + 'http://' + url + '.onion' 72 | try: 73 | api.update_with_media(url + '.png', status = message) 74 | except TweepError as e: 75 | pass 76 | 77 | def log(url, title): 78 | message = title + '\t' + 'http://' + url + '.onion\n' 79 | f.write(message.encode('utf-8')) 80 | 81 | if args.config: 82 | auth = get_oauth() 83 | api = tweepy.API(auth) 84 | 85 | f = open(args.list, 'r') 86 | line = f.readlines() 87 | f.close() 88 | 89 | if args.log: 90 | f = open(args.log, 'a') 91 | 92 | 93 | for i in line: 94 | url = i.rstrip('\n') 95 | filename = url + '.png' 96 | if not os.path.isfile(filename): 97 | title = get_title_with_screenshot(url) 98 | print title + '\t' + 'http://' + url + '.onion' 99 | if args.skin: 100 | repaint_skin(filename) 101 | if md5(filename) != md5('images/blank.png') and md5(filename) != md5('images/blank2.png') and md5(filename) != md5('images/404.png') : 102 | if args.config: 103 | tweet(url, title) 104 | if args.log: 105 | log(url, title) 106 | 107 | if args.log: 108 | f.close() 109 | 110 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | selenium==3.3.1 2 | tweepy==3.5.0 3 | --------------------------------------------------------------------------------