{"action":"created","issue":{"url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/291","labels_url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/291/labels{/name}","comments_url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/291/comments","events_url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/291/events","html_url":"https://github.com/uProxy/uproxy-lib/pull/291","id":107069502,"number":291,"title":"configurable obfuscators, with plumbing through to the adventure app","user":{"login":"trevj","id":5142116,"avatar_url":"https://avatars.githubusercontent.com/u/5142116?v=3","gravatar_id":"","url":"https://api.github.com/users/trevj","html_url":"https://github.com/trevj","followers_url":"https://api.github.com/users/trevj/followers","following_url":"https://api.github.com/users/trevj/following{/other_user}","gists_url":"https://api.github.com/users/trevj/gists{/gist_id}","starred_url":"https://api.github.com/users/trevj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevj/subscriptions","organizations_url":"https://api.github.com/users/trevj/orgs","repos_url":"https://api.github.com/users/trevj/repos","events_url":"https://api.github.com/users/trevj/events{/privacy}","received_events_url":"https://api.github.com/users/trevj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-17T20:38:05Z","updated_at":"2015-09-17T20:40:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/uProxy/uproxy-lib/pulls/291","html_url":"https://github.com/uProxy/uproxy-lib/pull/291","diff_url":"https://github.com/uProxy/uproxy-lib/pull/291.diff","patch_url":"https://github.com/uProxy/uproxy-lib/pull/291.patch"},"body":"This got big, sorry.\r\n\r\nIn short, it's the plumbing required to configure the obfuscator, all the way from the adventure sample app through to churn pipe.\r\n\r\nSummary of changes:\r\n * define `ObfuscatorConfig`, which churn accepts as an optional argument\r\n * move all the sample config stuff out of churn into the relevant obfuscator source files\r\n * add an adventure command which configures the obfuscator\r\n\r\nThe end result of all this is that it's pretty easy to write a script to benchmark our obfuscators:\r\n![obfuscator benchmarks](http://hosting.datacopia.com/publish/20150924.203793.0d9434c4-4ff2-4d99-8bcc-5015793221d8.png)\n\n<!-- Reviewable:start -->\n[<img src=\"https://reviewable.io/review_button.png\" height=40 alt=\"Review on Reviewable\"/>](https://reviewable.io/reviews/uproxy/uproxy-lib/291)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/comments/141222036","html_url":"https://github.com/uProxy/uproxy-lib/pull/291#issuecomment-141222036","issue_url":"https://api.github.com/repos/uProxy/uproxy-lib/issues/291","id":141222036,"user":{"login":"trevj","id":5142116,"avatar_url":"https://avatars.githubusercontent.com/u/5142116?v=3","gravatar_id":"","url":"https://api.github.com/users/trevj","html_url":"https://github.com/trevj","followers_url":"https://api.github.com/users/trevj/followers","following_url":"https://api.github.com/users/trevj/following{/other_user}","gists_url":"https://api.github.com/users/trevj/gists{/gist_id}","starred_url":"https://api.github.com/users/trevj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevj/subscriptions","organizations_url":"https://api.github.com/users/trevj/orgs","repos_url":"https://api.github.com/users/trevj/repos","events_url":"https://api.github.com/users/trevj/events{/privacy}","received_events_url":"https://api.github.com/users/trevj/received_events","type":"User","site_admin":false},"created_at":"2015-09-17T20:40:25Z","updated_at":"2015-09-17T20:40:25Z","body":"@blanu this is probably of most interest to you."}}