Closed Minyall closed 7 years ago
Yes. This option really should be behind a flag/config and should be fairly trivial to implement. The actual logic is done here - https://github.com/s-rah/onionscan/blob/master/spider/onionspider.go#L208 and currently onionscan grabs all jpeg files for the purposes of EXIF data extraction - you can either uncomment the snapshotting or remove that block all together.
At some point each mime type should be associated with it's own config as there are lots of fingerprintable files we might want to grab and check.
Thanks for the quick response. I've forked and removed that block as suggested. All working fine so far. Thanks for the help (again!)
Hello again! I took out the code you suggested. I also removed earlier code in the scraper as I found I was still picking up .jpg and .png images in the onionscandb.
for _, image := range crawlRecord.Page.Images {
- if !exclude(image.Target) {
- processURI(image.Target, base)
- }
However having removed both the suggested block, and the above I still appear to be pulling images... or are these (below) just records of images without associated reconstructable image data? If they are just records it is fine, but I can't pull anything that could be considered an image, even if it is in a 'deconstructed' binary form. Any thoughts would be appreciated. My ethics committee can be quite risk averse.
{"URL": "http://lunacycipxdcd5rp.onion/img/menu/right.jpg", "Page": {"Scripts": null, "Snapshot": "", "Headers": {"Last-Modified": ["Fri, 24 Feb 2017 17:21:12 GMT"], "Server": ["Apache/2.4.10 (Debian)"], "Content-Type": ["image/jpeg"], "Etag": ["\"115d-54949f4d21063\""], "Content-Length": ["4445"], "Date": ["Fri, 05 May 2017 23:55:14 GMT"], "Accept-Ranges": ["bytes"]}, "Images": null, "Title": "", "Forms": null, "Hash": "", "Raw": "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", "Status": 200, "Links": null, "Anchors": null}, "Timestamp": "2017-05-05T23:55:14.924780028Z"}
hmm looks like you are still pulling images, which shouldn't be possible if you had removed the code I linked - note that this (https://github.com/s-rah/onionscan/blob/master/spider/pageparser.go#L35) is the only function where Raw is populated in the stored JSON so if you are removing the only call to snapshot binary resource (https://github.com/s-rah/onionscan/blob/master/spider/onionspider.go#L208) then there should be no way it should be populated like the about JSON states.
Silly question but are you sure you compiled the edited code prior to running OnionScan?
Ok, completely not a silly question because that may be precisely the issue. Short answer is I don't know if I have compiled the edited code , so most likely I haven't.
Basically after forking and removing the block of code suggested, I initialized a new clean server, got Go installed and then did the following.
go get github.com/Minyall/onionscan
getting my fork repository of onionscan.
go install github.com/Minyall/onionscan
and then used my python wrapper from there. Is it possible that I am essentially downloading a modified repository but then installing the already compiled version of Onionscan rather than installing a modified version? As onionscan worked without compiling before, I wasn't aware that there was a compile stage. I also noted that onionscan/protocol/http_scanner.go has an import line that specifically imports github.com/s-rah/onionscan/spider
. Would this override any edits in my own repository by importing from yours?
Sorry if these are pretty fundamental mistakes. I'm still fairly new to anything beyond basic scripts in python. How would I ensure that I'm using the modified version of onionspider.go?
To follow up as I looked into compiling:
I set up a clean server
used go get github.com/s-rah/onionscan
I then found my way to the downloaded files through $GOPATH/github.com/s-rah/onionscan
I edited onionspider.go
removing lines 208-210 using nano.
I then cd
back to my user directory and ran go build github.com/s-rah/onionscan
which gave me an onionscan
binary in my user directory. I then ran ~/onionscan lunacycipxdcd5rp.onion
as a test, extracted the records from the onionscandb
and still have snapshots of image files (see below).
Did I mess up somewhere in the process of rebuilding onionscan?
{"URL": "http://lunacycipxdcd5rp.onion/img/menu/right.jpg", "Timestamp": "2017-05-07T23:15:49.948441206Z", "Page": {"Links": null, "Anchors": null, "Hash": "", "Scripts": null, "Forms": null, "Snapshot": "\ufffd\ufffd\ufffd\ufffd\u0000\ufffdExif\u0000\u0000II*\u0000\b\u0000\u0000\u0000\u0007\u0000\u0012\u0001\u0003\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u001a\u0001\u0005\u0000\u0001\u0000\u0000\u0000b\u0000\u0000\u0000\u001b\u0001\u0005\u0000\u0001\u0000\u0000\u0000j\u0000\u0000\u0000(\u0001\u0003\u0000\u0001\u0000\u0000\u0000\u0002\u0000\u0000\u00001\u0001\u0002\u0000\u0015\u0000\u0000\u0000r\u0000\u0000\u00002\u0001\u0002\u0000\u0014\u0000\u0000\u0000\ufffd\u0000\u0000\u0000i\ufffd\u0004\u0000\u0001\u0000\u0000\u0000\ufffd\u0000\u0000\u0000\u0000\u0000\ufffd\u0000H\u0000\u0000\u0000\u0001\u0000\u0000\u0000H\u0000\u0000\u0000\u0001\u0000\u0000\u0000PhotoFiltre Studio X\u00002017:01:15 22:42:47\u0000\u0003\u0000\u0000\ufffd\u0007\u0000\u0004\u0000\u0000\u00000210\u0002\ufffd\u0003\u0000\u0001\u0000\u0000\u0000\ufffd\u0000\u0000\u0000\u0003\ufffd\u0003\u0000\u0001\u0000\u0000\u0000\ufffd\u0000\u0000\u0000\ufffd\ufffd\u0000C\u0000\u0006\u0004\u0005\u0006\u0005\u0004\u0006\u0006\u0005\u0006\u0007\u0007\u0006\b\n\u0010\n\n\t\t\n\u0014\u000e\u000f\f\u0010\u0017\u0014\u0018\u0018\u0017\u0014\u0016\u0016\u001a\u001d%\u001f\u001a\u001b#\u001c\u0016\u0016 , #&')*)\u0019\u001f-0-(0%()(\ufffd\ufffd\u0000C\u0001\u0007\u0007\u0007\n\b\n\u0013\n\n\u0013(\u001a\u0016\u001a((((((((((((((((((((((((((((((((((((((((((((((((((\ufffd\ufffd\u0000\u0011\b\u0000\ufffd\u0000\ufffd\u0003\u0001\"\u0000\u0002\u0011\u0001\u0003\u0011\u0001\ufffd\ufffd\u0000\u001f\u0000\u0000\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\ufffd\ufffd\u0000\ufffd\u0010\u0000\u0002\u0001\u0003\u0003\u0002\u0004\u0003\u0005\u0005\u0004\u0004\u0000\u0000\u0001}\u0001\u0002\u0003\u0000\u0004\u0011\u0005\u0012!1A\u0006\u0013Qa\u0007\"q\u00142\ufffd\ufffd\ufffd\b#B\ufffd\ufffd\u0015R\ufffd\ufffd$3br\ufffd\t\n\u0016\u0017\u0018\u0019\u001a%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u0000\u001f\u0001\u0000\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\ufffd\ufffd\u0000\ufffd\u0011\u0000\u0002\u0001\u0002\u0004\u0004\u0003\u0004\u0007\u0005\u0004\u0004\u0000\u0001\u0002w\u0000\u0001\u0002\u0003\u0011\u0004\u0005!1\u0006\u0012AQ\u0007aq\u0013\"2\ufffd\b\u0014B\ufffd\ufffd\ufffd\ufffd\t#3R\ufffd\u0015br\ufffd\n\u0016$4\ufffd%\ufffd\u0017\u0018\u0019\u001a&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u0000\f\u0003\u0001\u0000\u0002\u0011\u0003\u0011\u0000?\u0000\ufffd\"\u0004\ufffd\ufffdx\"\ufffdL\ufffd\ufffd\ufffd\ufffdIj\ufffd\ufffd\ufffd\ufffdn*-\ufffd\ufffdg\ufffd\ufffdi!\u0012\ufffd\ufffd\u0000\ufffd\u6565\ufffd\b^\ufffd\ufffdZ\"\u001b\u0002\ufffd\fCc\ufffd\ufffd&\ufffd\ufffdO\u000f\ufffdR\ufffd\ufffd@<g\ufffd%\\\u0015\u0007\ufffd\ufffd\ufffd\ufffdP\u0000\ufffd\ufffdlV$\u0000>\u0003\u0013\ufffd\ufffd\ufffd\u000f\ufffd\ufffd\u0003\ufffd+OR\u04d7O\ufffd'\ufffd[ucN\ufffdq \ufffd\ufffdN\ufffdb\u0294+\ufffd\ufffd\ufffd\u04a2'\u000f\ufffdI\u0007\ufffd\ufffd)\ufffdF\ufffd\ufffd$\ufffd\r5d\ufffd,2}\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd<y#\ufffdZ\u0019Y\ufffdf,@\u001c\ufffd\ufffdKjF\u03bc\ufffd\ufffd\ufffdf\r\ufffd&\ufffd\u03e5\f\b\ufffd32\ufffd\u0012j\ufffdj\u00156\ufffd\u0006==\ufffd\ufffdL\ufffd\u0011\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u007f\ufffdF=\ufffdx\ufffdR\u0005\ufffdaa\u0010\u0004v\ufffd\ufffd\u0013FWp\ufffd\u04b4\ufffd\ufffd\ufffd\ufffd\u0016F\ufffd85\u000b<l\u012f {\ufffd\u0017\u001a\ufffd\ufffd\ufffd\ufffd\ufffd\ufffdWq\u001cq\ufffdlN\ufffd\ufffd\u0006\u0001\u001d*\u0401\ufffd \ufffd8\ufffd\u0011\ufffd\ufffd\u02fbO\ufffd?\ufffd1\ufffd\ufffdRk\ufffdm\ufffd\ufffd8\ufffd(\ufffd\ufffdF\u0000\ufffd\ufffd\ufffd\ufffd\ufffd\u0015n9\f\u032b\u001f%\ufffd\ufffd\u01f1\ufffd<\ufffd\ufffdS[?\ufffd\u0006\ufffd\u0000\ufffd\ufffd\ufffd\ufffd\u001c\ufffd\ufffd!d\u0007oL\u04a9$a\ufffd&\ufffd#\u01b0\ufffd\ufffdA\u0014\u0001Zy\u0002F\u0019\ufffd5\br\u001f98\ufffd\ufffd\ufffd,\ufffd\ufffd&B\ufffdA\u0015\u0014\ufffd\ufffdB\ufffd\ufffd\ufffd\u01804\ufffdu\u0003qn\ufffd\ufffdX\ufffd2j\ufffd\ufffd\ufffdi\u0001\\\ufffd})\ufffd\ufffd\ufffd\ufffd'\ufffdE\ufffd\ufffd*\u0010GJ\ufffd4\\\ufffd|\ufffd\ufffd\ufffd3fH\ufffd\ufffdR\ufffd\ufffd#\ufffdb\ufffd\ufffd\ufffd\ufffd\u0018*r\u0005L\ufffd]\u0001\u0003,9\ufffdU9\ufffd\u0005>\t\u0019\u001b\ufffd\b<b\ufffd\u000f\ufffd\ufffd\u0278\u001eH5\ufffd\ufffd\ufffdD1\ufffd|\ufffd\ufffd\ufffd\u04b3\u001d\t%\ufffd\u0006*\ufffd{\ufffd\ufffd2\u0115\ufffd\ufffdL\u000bv\u0013\u0018ar\ufffd\ufffd}i\ufffd\u0481\u0001-\ufffd\ufffdj\ufffd(Q\ufffd\ufffd\ufffdj}\ufffd\u0370\ufffd\u0000\ufffd\ufffd%\ufffdo\ufffd\ufffd*8\u001c\u6d61\ufffdW\ufffdG\u001bI\ufffdk.8>\ufffd\ufffdG\ufffd[\ufffd\ufffd2\f\ufffd\ufffd\ufffd\f\ufffd\ufffdV\ufffd\b'O=\ufffd\u008a\ufffd\ufffd\u0004\r%\ufffdz\ufffd\ufffd\ufffd\u001d\ufffde\ufffd\ufffdORzQ\u001a\ufffd\ufffd[\ufffd=\ufffd(\ufffd\ufffd\ufffd\ufffdi\u0453\ufffd\u0000\ufffdRL\u000b\u0011\u0012B\ufffd\ufffdj\ufffd\ufffdfR\ufffd\ufffdEH\u0007\ufffdW9\u36b3fa\ufffd\u0019\ufffd\ufffd$\u0010\u0005 3\ufffdr\ufffd\ufffd\u04e5;\ufffd\"\ufffdO\u001d1S,\r$\ufffdv\ufffd\ufffd\ufffd*i\ufffd\u0012\ufffdW\u0003\ufffd\ufffd1\u0011E\u0018 \ufffd\ufffd\u0019\ufffdi\ufffd\ufffds\ufffd\ufffdv\ufffdx\ufffd\ufffd\ufffd\ufffd>7\ufffd\ufffd\ufffd\ufffd\ufffd,J\ufffdJnS\ufffd\ufffdYX\ufffd\u0001\ufffd\ufffd\ufffd\ufffd\ufffd\u0003?r\u0005H\ufffd\ufffdT\u0013\ufffd\ufffd!\ufffd\ufffdy\u0002\ufffd@\uf692H\ufffd\\\u00102\ufffd\ufffd\u0516\ufffd~\ufffd\ufffd\ufffd\ufffd>\ufffdz\ufffd\ufffd\u034b\ufffdcR\ufffd\ufffd=i6\u0006a%\u0655\ufffdz\ufffdV\ufffd\ufffdbG\ufffd;\ufffd\ufffd\ufffd\ufffd \ufffd\ufffdy\u001cU\ufffd\u001b\b\ufffds\ufffd\ufffdOq\u001ar\ufffdb\ufffd\ufffd\u0006\u000e*GD\u0005G\ufffdc\ufffd6)\u0015\u0011\ufffd\ufffd\u05da\"\ufffd[v98\ufffd4X.K\u001a\ufffd^}j\ufffdj\ufffdP\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u2d2c\ufffd<
c\u0000sE\ufffd\ufffd\ufffd\ufffd\ufffd\u0000\ufffdk\ufffd\ufffd\u0001\ufffd\u0014Q\ufffd\u001f\ufffd\ufffd\ufffd\f\ufffd\ufffd\n(\u0019\ufffd\u0001\ufffd\n8'\ufffdvL\u0004\u00102\u0001\ufffd9\u0015\u0019\ufffd\ufffd!M\u0759\u0014\u001c\ufffdK\ufffdD\ufffd\ufffd\ufffdl\ufffd\ufffdM'\ufffd\ufffd\u0018\ufffdr\b\ufffdO\ufffdW\ufffd\u001bh\ufffdL~u\n\ufffd2\u000f3%H\u0226\ufffd\ufffd\ufffd\ufffd&20:\u001fZ\ufffd\ufffd\u0019\ufffd\ufffd\u01e8\ufffdV\ufffderK\ufffd\ufffd;\u001ad\ufffd\u0014l\nH\ufffd1C\u0002\ufffd\u000e\ufffdW\u0019\ufffdjzrp\b\ufffd\ufffdi\ufffd\u001bw\u03b8\ufffd5f8\ufffdYIC\ufffd0)\ufffd\ufffd\ufffdL\u0000>j\ufffd?\ufffdR\ufffd\ufffd^h\ufffd\u001d\ufffd\u0003\ufffdg\ufffdJ\ufffdr3\ufffd\ufffd\ufffd\ufffd\ufffdbFHs\ufffd\ufffdj\u052cdR@\ufffd\u0015\ufffd\ufffd\ufffd\ufffd4L\ufffdc\ufffd\u0002F)XH\ufffd\u0012+\ufffd\ufffd\ufffd=\ufffd\ufffdx\ufffdQ\u00112A\ufffd\ufffd\u0003\u0004\ufffd\u00129\ufffd2+}\ufffdnQ\ufffdi\ufffd\ufffds,\u0003\ufffd#\ufffdT\u00029C\u0002\ufffd\u001ct\u0015r\ufffd2\ufffdI\ufffd\ufffdJ\ufffdO\u0323\ufffd\u0584+\u0014a2\ufffd\ufffd\ufffd$\ufffd\ufffdz\ufffd\ufffd\ufffd\ufffd1\ufffd\ufffdT\ufffd\ufffd\ufffd$\ufffd\f=j\ufffd\ufffd0\ufffd\u001c\u001e\ufffd\ufffd-\u0015u\ufffd\r\ufffd\ufffd\ufffdN\ufffd\ufffd\ufffdZ)\ufffd\ufffdyZQ\u0007\ufffd\n)-B\ufffd6%\ufffdq\u0019\ufffdG\ufffd\u0019\ufffdS\ufffd\ufffdc\u008a\u01cf\ufffd\ufffdx\ufffd\ufffd\ufffd$\u001fJ\u0019E\ufffd|\ufffd\ufffdR\b\ufffdjv\ufffdN\u0001\ufffd]\ufffd\ufffd*\u0001e\u001b\ufffd1\ufffd\u001c\ufffd\ufffd[(\ufffdw\u0006 \ufffd\ufffd\u0784!\u0494 \ufffdrz\ufffd|7\"8\ufffd\u02b9%v\ufffd\ufffd\b\ufffd\ufffd\u0012\ufffd\u0006\ufffd\ufffd\r\ufffd\ufffd\ufffd\ufffd\ufffdaq\f\ufffd@\b\u001c\ufffd\u0006:U\ufffdT\ufffd\u00012\ufffd<\ufffd
B\u001c\u001eq\u07ae\ufffd\bV~G\ufffd\u0002l_0\ufffd\ufffd\ufffd\ufffd\u00caPI;d\ufffd\u000fZ\ufffd\u000e\ufffd7\ufffd\u00a6H\ufffda\ufffd_J\u0004J\ufffd\2\ufffd\u0015\ufffd\ufffdj\ufffd\ufffdd@\u0000\ufffdg\ufffdWc\ufffdD\ufffdGS\ufffd\ufffd\a\ufffd\ufffd\ufffd\u0001\ufffd\ufffd\u0012\u000e\ufffd\ufffd\u04ac\u0128\ufffd@I\ufffd\ufffd\ufffd\ufffd\u001e\ufffdBwHi\ufffd\ufffd\u0004\u001b\ufffdz\ufffdU\ufffdx\ufffd]\ufffd\u0001\ufffdj\u001bp\u00166!\ufffd\ufffdy\ufffdP\u001c7N\ufffd\r\u0013\ufffdR'\ufffd\ufffd\ufffd\ufffd\u001f\ufffd@\ufffd\ufffd\ufffd\u0011\ufffd\ufffdQ3\ufffdy\ufffd{\n\ufffd\u0004{\ufffd,y\ufffd\"\ufffd\ufffd\ufffdyt\ufffd\u001b\ufffdw.(\ufffdu\ufffd\t\ufffdH\u0003s\ufffdh\ufffd\ufffd\ufffd%\f\ufffd\ufffd\ufffd\b\u0015f\ufffd\"X'p:UU\ufffd\ufffdFs\ufffd\ufffdS+H\u001c\u0014\ufffd\u000f\ufffd4\ufffd\"\u00df.2d\ufffdn\ufffd\ufffd\ufffdG\u001c\ufffd8\ufffdj\ufffdG&P\ufffd\u0003\ufffd\u050d\u001a\ufffd\ufffd9\ufffd\u0003\ufffd\u0002\ufffd\u0000,[<\ufffd\ufffdLL\ufffd\u0018\ufffd\u001d95\"\ufffdG\u000bdq\ufffdb\ufffd\u0019<\f})\ufffdjH\"\ufffd\u050c\ufffd\u001e\ufffd\ufffd#\ufffd\ufffd\ufffd\u0000\ufffd\u0488\u0006G\ufffd\ufffd\ufffd\ufffd*\ufffdv\ufffd\u0017\u001dZ\ufffd!V\u0000
b\ufffd\ufffd8~3\ufffd\ufffd>V\ufffdc\ufffd\u001e\ufffd\ufffdO\u001a~\ufffd\u0001\ufffd\ufffd\ufffd\u0002,\u0018\ufffd\ufffd\ufffd\ufffd\u0015\\ufffdI\b+\ufffd\ufffd0;!\u0001y\u0014J>|\u33ed\"\ufffd\u0013\ufffd\ufffd\ufffdD\ufffd\ufffd/SQ\ufffd\ufffd\ufffd\u007fJ\ufffd2\ufffd\ufffdA\ufffd1\u0016\ufffd\ufffd\ufffd\ufffd\ufffdS\ufffd#\u00fd\u0449\ufffdX\ufffd,I=j\ufffd\u04d6`\u0001\ufffdP2\u044d\u0004\ufffd\ufffd\u0001\ufffdz\ufffd\u0014Q\ufffd\u0019q\ufffdeN\ufffd\ufffd\ufffd\r\ufffd\u07da\u0012f\u0003\ufffdr\ufffdX\u0007\ufffd\ufffd\u0011\u001b)\ufffdS\ufffd\u0007\u0003\ufffd\u0015\ufffd\ufffd\ufffd-\ufffd\u0000\ufffdf\u00074P33\nQH\u001d95r \u0004 \ufffd\u0000\u0011\ufffd\ufffd\ufffd\ufffd\ufffd$g8\u01f5Y]\ufffd\"\ufffd\ufffd\ufffd\n\ufffd \ufffd\ufffd<u\u001f\S\ufffd\ufffd\u0000[\ufffd\ufffdN\ufffd\t\u0003\ufffd\u001a\u0001b\ufffd\u33b4\ufffdd\ufffd7\ufffdX\ufffdf\ufffd\ufffd\ufffd\ufffdg\ufffd'\u000e\ufffd\ufffd\u00151\ufffdG\u0016\ufffd\ufffd\u0007\ufffd\ufffd\ufffd0\u001bm;\t\ufffd\ufffd\ufffd\u001f\ufffd:[\ufffd\u0017Q\ufffd:w\u0003\ufffdA\ufffd\ufffd[\u001c\u2895Y\ufffd\ufffd#\ufffd\ufffd1\ufffd\u0416S!\ufffd\ufffdz\ufffd\u04318Lg\u0015F'\ufffd\ufffd \ufffd\ufffdjh\ufffd+\ufffd\u0019\ufffd\u0002f\ufffdf1\ufffd\ufffd\ufffdy\ufffdL\ufffd\ufffd\ufffd\ufffd<\ufffd|1\ufffd\u04d1\ufffd\ufffd08\ufffdD\ufffd#;\ufffd\u0019\ufffd\ufffdN\ufffdC\u0000?\ufffdD\ufffd\u000f\ufffdKk1\u0005\ufffdg\u001d\ufffd\u0019z6\u0005\ufffd\u001e1P^lW\ufffdl\ufffd\ufffd\r\u0010\u001f\ufffd-\ufffd4\u06543\ufffd\u0013\ufffd\ufffdsB\u0006D\ufffdUy$\ufffd\ufffd\u0000\u0012 \\ufffdX\ufffdB\ufffd\ufffd\u0014\ufffd\ufffd\u0017\ufffd\ufffd#\ufffd\u6609\ufffdKb,\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u000e}(\ufffd\ufffd\ufffd\u001aKR$,YH\u00034S\u0019A\u0007\u0004\ufffdB\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd6\ufffd\ufffdLT\u0013\ufffdW\u000b\ufffd\u0002\ufffd\ufffd\ufffda\ufffdpp\u000f\u0015\ufffdC\ufffd\ufffd\ufffd'\u001fJ\ufffd\u001cm\u000f\f1\ufffd\ufffd6\r\ufffd\ufffd$\ufffdS\ufffd>g\ufffd\ufffdS\ufffdI4hq\ufffd\ufffd \u001eqM\ufffd\ufffd\ufffd\u007f\ufffd9\ufffda2lm\ufffd'#8\ufffdj\u0007\ufffd\ufffd\ufffd|\ufffd\ufffd\u0000%\ufffd\u001e\u0013\u0014\ufffd\ufffde\ufffd\u03e0\ufffd\ufffd\ufffd\ufffdrM<\ufffd\ufffd\u001d\ufffd\u0018\ufffd\ufffd\ufffd\u0000\u000e\u0001\ufffdh@\\u001a\ufffd(\ufffd\u0001\u0007\ufffd=\u0018\ufffdz\u0003\ufffdLm\u0016\ufffd,F\u00075e\u0000\u06bd8\ufffd\ufffd\ufffd\u0000+\r\u07e1\ufffdh\ufffdr\u0001\ufffdE\ufffd\ufffdbOB\ufffd\ufffd\u0004\u0006\ufffdh\u0019\\ufffdN)\u0007\ufffd\ufffd0\ufffd\u000esH\u000b\u0011\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u0011\ufffdn\u04df\u03a0(Q\ufffd\f\ufffd\ufffd\u06f8\ufffd\ufffdA1\u001c\ufffdG\u04d1@\u0014QwG\ufffd\r\ufffdt\ufffd\u7244Q\ufffd@;\ufffd\ufffd\ufffdUU\u001cpG\\ufffd\ufffdV\u0004\ufffd2m\ufffd\u0003 S\u0004P\ufffdRb%z\u0002(\ufffd7\u0011\u0006\ufffd\ufffd\ufffd\ufffdQJ\ufffdX\u0311\u0010\ufffd18\"\ufffd\ufffdh\ufffd'aV\u001ft\ufffd\ufffd;U{\u001ac\ufffd\ufffdFq\ufffd)-\u0189 \ufffd\ufffd\ufffd\u0007\ufffd:\u001a\ufffdl\ufffd[\ufffd\u0003\ufffdz\ufffd\ufffd\ufffdWn:u\ufffd\ufffdr\u000b\ufffdOU\ufffd\u0014\ufffd'\ufffd\u001cL\ufffd+\ufffd\u0002[\u0015P\ufffd\ufffd\u001a\ufffdycr\ufffd\u0017\ufffdZ\ufffd \u001e{\ufffd\ufffd\ufffd\ufffdBDH3\ufffdO \ufffd\ufffd\u0014\ufffd\r\ufffd}3Q\ufffd\ufffd\ufffd\ufffdL\ufffddR?\u0261\u0014\u0219C!\u0000\ufffd\u001di-\ufffd\ufffdgy\ufffd\u000e*e]\ufffdFx\ufffdxL\ufffd\ufffd\u0018^\ufffd\ufffda\\cH\ufffd\ufffd<\u001a\ufffd\u001b\ufffdS\ufffd\ufffd\ufffd\"\ufffd?!w}\ufffd\ufffd\ufffd\ufffd)g\bv\ufffd\ufffdq\\\ufffd\u001f\ufffd\u001f('\u0014\ufffd
I\u0007\u0002\ufffdm\ufffdU@4\ufffd\ufffd\ufffdc\ufffd\ufffdLtX\ufffd9+W\ufffd\ufffd\ufffdqV\u0018\bk9c\ufffd\ufffdY\ufffd=\ufffd[\u0013\ufffdZO\u0011'wj,#5\ufffd\ufffd\ufffd\ufffd\n\ufffd\ufffd\ufffd\ufffd\u000e\u0003\u000e\ufffd\ufffd\ufffd\ufffd\u0000s\ufffd\ufffd\ufffd\u037f\ufffd\u0001\ufffd\ufffd\u0014}(\u0019R\ufffdr\ufffdI\ufffd\ufffdg\u0014Q\ufffddB\ufffd:\u0012(\ufffd\ufffdg3\ufffdny=1K3\u0000\ufffd\u0007S\ufffd4\f\u001ey\ufffd4\u0247\ufffd\u0003\ufffd\ufffd\ufffdH\u0011<#2\f\ufffd\ufffd\ufffdtD,\ufffd\ufffd\ufffdg<T\u00101\ufffd8$\ufffd\ufffd8|\u035e\u0007\\ufffd\ufffd\ufffd\ufffd\ufffdL>b\ufffd#?\ufffdH\ufffd\ue61ct\ufffdL\ufffdj\ufffd\ufffd\ufffd\ufffdS\ufffd8b\ufffd\ufffd\ufffd\ufffd\ufffd\"$\HMH\n\ufffd\ufffdh\ufffdA\ufffdA'\ufffd\ufffd\ufffd\ufffd$\u0000\u000e)\ufffd\u0719%H\ufffd2\ufffdF\ufffd!.\ufffd\ufffd\u0003\ufffd'8\ufffd\u000b\fr!Wn}\ufffd\t\"\u0002O?\ufffd\ufffd\u0004\ufffd\ufffd\b<\ufffd\ufffd\ufffd\rJ\ufffdc\ufffd\ufffdc\ufffdVC\ufffdhU\u001d\ufffd#\u04a1\ufffd\ufffd\ufffd\u001e\r\u0000\ufffd\ufffd\u000b)\ufffd\u0007Jw\ufffd\u0000\ufffd-\u0293\ufffd\ufffd\ufffd\u0701#\ufffdq\ufffd6\"\u0006\ufffd(\ufffd\ufffdE\ufffd&\ufffd{f2F8\ufffd\ufffd\r2#pJ\ufffd\ufffdn\ufffd5\u0004V\ufffd\u025d\ufffdA\u00038\ufffd\ufffdq\ufffd;\ufffd\ufffdm\u0014\u0005\ufffdX%\ufffd\ufffd~\ufffd\ufffdT\ufffdW\u001e{*\ufffd\ufffd\u0002\u0000x\ufffd\ufffd}*\ufffdu\u000b\ufffd\ufffd\ufffd2\u0120\u0000\ufffd\u007f\ufffdUe\ufffd\ufffd\u000b\ufffdUpQr\u0001\ufffdZC\ufffd\ufffd\u001dG
\ufffd}\ufffdA\u0014U\ufffdB(\u0175\ufffd '\ufffd\ufffd\ufffd(\ufffd4a\u03b1\ufffd\u0002\ufffd\ufffd\u0011Q\u038a\ufffd\ufffd\ufffdl\ufffd\ufffdc\ufffdT\ufffdF\ufffd\u0013+rT\ufffdQ\u0014,\ufffd\ufffd\u0011\ufffd\u04a4\u0013 \u0007cc\ufffd=\ufffd\0R\ufffdV\ufffd\ufffd'\ufffd\ufffd\u0011\ufffdT\ufffd\ufffdW\ufffd\ufffd\ufffd8\ufffd\u0005\D8\u001c\ufffd5\ufffde\ufffd\ufffd\ufffdq\ufffd<\u000f\u05b2Q\ufffdc\ufffd\ufffdqV$\ufffd\ufffd\ufffdRq\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd>zs\ufffd\u0508\ufffd$P\ufffd\ufffd\ufffd\ufffd\u0002\ufffdO\u0480\ufffd\u0016<t\ufffd\ufffdb\ufffd\ufffdy\ufffdpx\ufffdys+?C\ufffd\ufffd\ufffdW.;u\ufffd\ufffd\ufffd2\ufffdPs\ufffdJ\u2c2d'\ufffd\ufffd\u0018\ufffdJYa\b\ufffd\ufffd\ufffd\u0016<\ufffdJA\u000e\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd]\ufffd#\ufffd)\ufffd\ufffd\ufffdp\ufffd\ufffd\u000f\\u0544x\ufffd\ufffd\ufffdqLdUDc\ufffd\ufffdJ\u0002\ufffdv\ufffd\u001fZB4&\ufffd\"\ufffd<-\ufffd\ufffdL\ufffd\ufffd\ufffdx.\ufffd\ufffd<v\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd?2\ufffd\\ufffd\u0011\ufffdw\ufffd\ufffd9\u03ed43G\ufffd3I\u001b1\ufffd\u01e5\"9x\ufffd\ufffds\ufffd\ufffd\ufffd\u001c\ufffdy\u0012\u001c\ufffd}\ufffd\ufffd\ufffd\u0019H\ufffd\ufffd\ufffdE\ufffd\ufffd\ufffd\ufffd\u06e6\u034f\ufffd\ufffd\ufffd\u8a2f\ufffd\ufffd\ufffd\ufffd\u007fw\ufffd\ufffdE\ufffd\ufffdY7`\ufffd\n\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\u06a5\ufffd\ufffd$\ufffd\ufffd|\ufffds\ufffd\u0019\ufffdi\u0002\u001c\ufffd40\ufffd\u001dH\ufffdXB\ufffdl1\ufffd\ufffd\ufffd\ufffds\u0122\ufffd)9\ufffd6\u000f\ufffd>\ufffdB\"e\ufffd\u0003\ufffd\u0582\ufffd\ufffd\ufffd\ufffdl\ufffd\ufffdN>\ufffd\ufffdT9B8\u001d\u000fz\ufffd\u0017f\ufffd\ufffdi\ufffd\u0221Kw\ufffd\ufffdP\ufffd\ufffd\ufffd\u0011UX\u000e\ufffd\ufffd\ufffdl\ufffdH\u001c\ufffd\ufffdg\ufffd rz/\ufffd\rT\ufffd\ufffds\ufffdy\ufffdI\u001f\ufffd@\ufffd=\ufffd\ufffdR!\ufffd\u0019\ufffd\u000f\ufffdD\ufffd g\ufffd\u0014\ufffd\u0006\ufffd\u0018\ufffd*\ufffd\ufffd]\ufffd\ufffd\ufffd\ufffd#\ufffd\ufffdFs\ufffdj\ufffd\ufffd\ufffd\ufffd\ufffd\u04dc\ufffd\ufffd\ufffd\ufffd\ufffdE\ufffd-R&\u0147!\ufffd\u001fAM\ufffd\u001c\ufffd\ufffd\ufffd$@\ufffdFGS\u05a2\ufffd\r\ufffd\ufffdC\u0003H\ufffdF\ufffd\ufffds\ufffdQN\ufffd\ufffd\u0006$\u2805q\ufffdN3W$b\u0466}(@\ufffd\ufffd\ufffdy)\ufffdp\u000f\ufffd\ufffd\ufffdb\f;\ufffdj\ufffd\ufffd\ufffdl\f\u0001\ufffd\ufffd4lX\u0000O\u0004f\ufffd\u2c61u\">\ufffd\ufffdO8Z+:PDm\ufffdn\ufffd\ufffdV\u0019\ufffd\ufffd", "Headers": {"Content-Length": ["4445"], "Date": ["Sun, 07 May 2017 23:15:49 GMT"], "Accept-Ranges": ["bytes"], "Server": ["Apache/2.4.10 (Debian)"], "Content-Type": ["image/jpeg"], "Etag": ["\"115d-54949f4d21063\""], "Last-Modified": ["Fri, 24 Feb 2017 17:21:12 GMT"]}, "Raw": null, "Title": "", "Images": null, "Status": 200}}`
Looks like you will also need to delete the second snaphot clause: https://github.com/s-rah/onionscan/blob/master/spider/onionspider.go#L211 that should enforce snapshotting only for for html pages.
That did the trick. I still have entries for images but the snapshot key is empty, however text/html entries still have snapshots. Fantastic. Thank you so much!
A quick clarification.
Does Onionscan actually download data that could be reconstructed into an image? I noticed a few GIF references in the snapshot data and wanted to be certain that no actual images were being collected, just the HTML code. Automatically downloading images off the dark web is unlikely to go down well with my research ethics committee.