gitextract_4zj9hsfj/ ├── .gitignore ├── .idea/ │ ├── compiler.xml │ ├── copyright/ │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ └── runConfigurations.xml ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── dream_catcher-1.0.1.apk │ ├── dream_catcher-1.1.0.apk │ ├── dream_catcher-1.2.0.apk │ ├── libs/ │ │ └── netty-android.jar │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── me/ │ │ └── moxun/ │ │ └── dreamcatcher/ │ │ └── ExampleInstrumentedTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ ├── me/ │ │ │ │ └── moxun/ │ │ │ │ └── dreamcatcher/ │ │ │ │ ├── CaptureActivity.java │ │ │ │ ├── DCApplication.java │ │ │ │ ├── State.java │ │ │ │ ├── connector/ │ │ │ │ │ ├── Connector.java │ │ │ │ │ ├── InspectorModulesProvider.java │ │ │ │ │ ├── console/ │ │ │ │ │ │ ├── CLog.java │ │ │ │ │ │ ├── ConsolePeerManager.java │ │ │ │ │ │ ├── RuntimeRepl.java │ │ │ │ │ │ ├── RuntimeReplFactory.java │ │ │ │ │ │ └── command/ │ │ │ │ │ │ └── CommandHandler.java │ │ │ │ │ ├── inspector/ │ │ │ │ │ │ ├── ChromeDevtoolsServer.java │ │ │ │ │ │ ├── ChromeDiscoveryHandler.java │ │ │ │ │ │ ├── DevtoolsSocketHandler.java │ │ │ │ │ │ ├── MessageHandlingException.java │ │ │ │ │ │ ├── MethodDispatcher.java │ │ │ │ │ │ ├── MismatchedResponseException.java │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── ChromePeerManager.java │ │ │ │ │ │ │ ├── ObjectIdMapper.java │ │ │ │ │ │ │ ├── PeerRegistrationListener.java │ │ │ │ │ │ │ ├── PeersRegisteredListener.java │ │ │ │ │ │ │ ├── ThreadBoundProxy.java │ │ │ │ │ │ │ └── TracingPeerManager.java │ │ │ │ │ │ ├── protocol/ │ │ │ │ │ │ │ ├── ChromeDevtoolsDomain.java │ │ │ │ │ │ │ ├── ChromeDevtoolsMethod.java │ │ │ │ │ │ │ ├── SimpleBooleanResult.java │ │ │ │ │ │ │ ├── SimpleIntegerResult.java │ │ │ │ │ │ │ ├── SimpleStringResult.java │ │ │ │ │ │ │ └── module/ │ │ │ │ │ │ │ ├── Console.java │ │ │ │ │ │ │ ├── FileSystem.java │ │ │ │ │ │ │ ├── Inspector.java │ │ │ │ │ │ │ ├── Network.java │ │ │ │ │ │ │ ├── Page.java │ │ │ │ │ │ │ ├── Profiler.java │ │ │ │ │ │ │ └── Runtime.java │ │ │ │ │ │ └── runtime/ │ │ │ │ │ │ └── DefaultRuntimeReplFactory.java │ │ │ │ │ ├── json/ │ │ │ │ │ │ ├── ObjectMapper.java │ │ │ │ │ │ └── annotation/ │ │ │ │ │ │ ├── JsonProperty.java │ │ │ │ │ │ └── JsonValue.java │ │ │ │ │ ├── jsonrpc/ │ │ │ │ │ │ ├── DisconnectReceiver.java │ │ │ │ │ │ ├── JsonRpcException.java │ │ │ │ │ │ ├── JsonRpcPeer.java │ │ │ │ │ │ ├── JsonRpcResult.java │ │ │ │ │ │ ├── PendingRequest.java │ │ │ │ │ │ ├── PendingRequestCallback.java │ │ │ │ │ │ └── protocol/ │ │ │ │ │ │ ├── EmptyResult.java │ │ │ │ │ │ ├── JsonRpcError.java │ │ │ │ │ │ ├── JsonRpcEvent.java │ │ │ │ │ │ ├── JsonRpcRequest.java │ │ │ │ │ │ └── JsonRpcResponse.java │ │ │ │ │ ├── log/ │ │ │ │ │ │ ├── AELog.java │ │ │ │ │ │ ├── AELogImpl.java │ │ │ │ │ │ └── IAELog.java │ │ │ │ │ ├── manager/ │ │ │ │ │ │ ├── Lifecycle.java │ │ │ │ │ │ └── SimpleConnectorLifecycleManager.java │ │ │ │ │ ├── reporter/ │ │ │ │ │ │ ├── AsyncPrettyPrinter.java │ │ │ │ │ │ ├── AsyncPrettyPrinterExecutorHolder.java │ │ │ │ │ │ ├── AsyncPrettyPrinterFactory.java │ │ │ │ │ │ ├── AsyncPrettyPrinterInitializer.java │ │ │ │ │ │ ├── AsyncPrettyPrinterRegistry.java │ │ │ │ │ │ ├── CountingOutputStream.java │ │ │ │ │ │ ├── DecompressionHelper.java │ │ │ │ │ │ ├── DefaultResponseHandler.java │ │ │ │ │ │ ├── DownloadingAsyncPrettyPrinterFactory.java │ │ │ │ │ │ ├── GunzippingOutputStream.java │ │ │ │ │ │ ├── MimeMatcher.java │ │ │ │ │ │ ├── NetworkEventReporter.java │ │ │ │ │ │ ├── NetworkEventReporterImpl.java │ │ │ │ │ │ ├── NetworkPeerManager.java │ │ │ │ │ │ ├── PrettyPrinterDisplayType.java │ │ │ │ │ │ ├── RequestBodyHelper.java │ │ │ │ │ │ ├── ResourceTypeHelper.java │ │ │ │ │ │ ├── ResponseBodyData.java │ │ │ │ │ │ ├── ResponseBodyFileManager.java │ │ │ │ │ │ ├── ResponseHandler.java │ │ │ │ │ │ └── ResponseHandlingInputStream.java │ │ │ │ │ ├── server/ │ │ │ │ │ │ ├── AddressNameHelper.java │ │ │ │ │ │ ├── CompositeInputStream.java │ │ │ │ │ │ ├── LazySocketHandler.java │ │ │ │ │ │ ├── LeakyBufferedInputStream.java │ │ │ │ │ │ ├── LocalSocketServer.java │ │ │ │ │ │ ├── PeerAuthorizationException.java │ │ │ │ │ │ ├── ProtocolDetectingSocketHandler.java │ │ │ │ │ │ ├── SecureSocketHandler.java │ │ │ │ │ │ ├── ServerManager.java │ │ │ │ │ │ ├── SocketHandler.java │ │ │ │ │ │ ├── SocketHandlerFactory.java │ │ │ │ │ │ ├── SocketLike.java │ │ │ │ │ │ ├── SocketLikeHandler.java │ │ │ │ │ │ └── http/ │ │ │ │ │ │ ├── ExactPathMatcher.java │ │ │ │ │ │ ├── HandlerRegistry.java │ │ │ │ │ │ ├── HttpHandler.java │ │ │ │ │ │ ├── HttpHeaders.java │ │ │ │ │ │ ├── HttpStatus.java │ │ │ │ │ │ ├── LightHttpBody.java │ │ │ │ │ │ ├── LightHttpMessage.java │ │ │ │ │ │ ├── LightHttpRequest.java │ │ │ │ │ │ ├── LightHttpResponse.java │ │ │ │ │ │ ├── LightHttpServer.java │ │ │ │ │ │ ├── PathMatcher.java │ │ │ │ │ │ └── RegexpPathMatcher.java │ │ │ │ │ ├── util/ │ │ │ │ │ │ ├── Accumulator.java │ │ │ │ │ │ ├── ArrayListAccumulator.java │ │ │ │ │ │ ├── ColorStringUtil.java │ │ │ │ │ │ ├── DreamCatcherCrashHandler.java │ │ │ │ │ │ ├── ExceptionUtil.java │ │ │ │ │ │ ├── IServerManager.java │ │ │ │ │ │ ├── KLog.java │ │ │ │ │ │ ├── KLogImpl.java │ │ │ │ │ │ ├── Keys.java │ │ │ │ │ │ ├── ListUtil.java │ │ │ │ │ │ ├── LogFilter.java │ │ │ │ │ │ ├── LogInterface.java │ │ │ │ │ │ ├── LogUtil.java │ │ │ │ │ │ ├── Predicate.java │ │ │ │ │ │ ├── ProcessUtil.java │ │ │ │ │ │ ├── ReflectionUtil.java │ │ │ │ │ │ ├── SocketServerManager.java │ │ │ │ │ │ ├── StringUtil.java │ │ │ │ │ │ ├── ThreadBound.java │ │ │ │ │ │ ├── UncheckedCallable.java │ │ │ │ │ │ ├── Utf8Charset.java │ │ │ │ │ │ └── Util.java │ │ │ │ │ └── websocket/ │ │ │ │ │ ├── CloseCodes.java │ │ │ │ │ ├── Frame.java │ │ │ │ │ ├── FrameHelper.java │ │ │ │ │ ├── MaskingHelper.java │ │ │ │ │ ├── ReadCallback.java │ │ │ │ │ ├── ReadHandler.java │ │ │ │ │ ├── SimpleEndpoint.java │ │ │ │ │ ├── SimpleSession.java │ │ │ │ │ ├── WebSocketHandler.java │ │ │ │ │ ├── WebSocketSession.java │ │ │ │ │ ├── WriteCallback.java │ │ │ │ │ └── WriteHandler.java │ │ │ │ ├── event/ │ │ │ │ │ ├── CaptureEvent.java │ │ │ │ │ └── OperateEvent.java │ │ │ │ ├── misc/ │ │ │ │ │ └── X509ExtendedTrustManager.java │ │ │ │ ├── service/ │ │ │ │ │ ├── ConnectorService.java │ │ │ │ │ └── ProxyService.java │ │ │ │ └── wrapper/ │ │ │ │ ├── DCHeader.java │ │ │ │ ├── DCRequest.java │ │ │ │ ├── DCResponse.java │ │ │ │ └── ProxyManager.java │ │ │ └── net/ │ │ │ └── lightbody/ │ │ │ └── bmp/ │ │ │ ├── BrowserMobProxy.java │ │ │ ├── BrowserMobProxyServer.java │ │ │ ├── client/ │ │ │ │ └── ClientUtil.java │ │ │ ├── core/ │ │ │ │ ├── har/ │ │ │ │ │ ├── Har.java │ │ │ │ │ ├── HarCache.java │ │ │ │ │ ├── HarCacheStatus.java │ │ │ │ │ ├── HarContent.java │ │ │ │ │ ├── HarCookie.java │ │ │ │ │ ├── HarEntry.java │ │ │ │ │ ├── HarLog.java │ │ │ │ │ ├── HarNameValuePair.java │ │ │ │ │ ├── HarNameVersion.java │ │ │ │ │ ├── HarPage.java │ │ │ │ │ ├── HarPageTimings.java │ │ │ │ │ ├── HarPostData.java │ │ │ │ │ ├── HarPostDataParam.java │ │ │ │ │ ├── HarRequest.java │ │ │ │ │ ├── HarResponse.java │ │ │ │ │ └── HarTimings.java │ │ │ │ └── json/ │ │ │ │ ├── ISO8601DateFormatter.java │ │ │ │ └── ISO8601WithTDZDateFormatter.java │ │ │ ├── exception/ │ │ │ │ ├── DecompressionException.java │ │ │ │ └── UnsupportedCharsetException.java │ │ │ ├── filters/ │ │ │ │ ├── AddHeadersFilter.java │ │ │ │ ├── AutoBasicAuthFilter.java │ │ │ │ ├── BlacklistFilter.java │ │ │ │ ├── BrowserMobHttpFilterChain.java │ │ │ │ ├── ClientRequestCaptureFilter.java │ │ │ │ ├── HarCaptureFilter.java │ │ │ │ ├── HttpConnectHarCaptureFilter.java │ │ │ │ ├── HttpsAwareFiltersAdapter.java │ │ │ │ ├── HttpsHostCaptureFilter.java │ │ │ │ ├── HttpsOriginalHostCaptureFilter.java │ │ │ │ ├── LatencyFilter.java │ │ │ │ ├── ModifiedRequestAwareFilter.java │ │ │ │ ├── RegisterRequestFilter.java │ │ │ │ ├── RequestFilter.java │ │ │ │ ├── RequestFilterAdapter.java │ │ │ │ ├── ResolvedHostnameCacheFilter.java │ │ │ │ ├── ResponseFilter.java │ │ │ │ ├── ResponseFilterAdapter.java │ │ │ │ ├── RewriteUrlFilter.java │ │ │ │ ├── ServerResponseCaptureFilter.java │ │ │ │ ├── UnregisterRequestFilter.java │ │ │ │ ├── WhitelistFilter.java │ │ │ │ ├── support/ │ │ │ │ │ └── HttpConnectTiming.java │ │ │ │ └── util/ │ │ │ │ └── HarCaptureUtil.java │ │ │ ├── mitm/ │ │ │ │ ├── CertificateAndKey.java │ │ │ │ ├── CertificateAndKeySource.java │ │ │ │ ├── CertificateInfo.java │ │ │ │ ├── CertificateInfoGenerator.java │ │ │ │ ├── ExistingCertificateSource.java │ │ │ │ ├── HostnameCertificateInfoGenerator.java │ │ │ │ ├── KeyStoreCertificateSource.java │ │ │ │ ├── KeyStoreFileCertificateSource.java │ │ │ │ ├── PemFileCertificateSource.java │ │ │ │ ├── RootCertificateGenerator.java │ │ │ │ ├── TrustSource.java │ │ │ │ ├── exception/ │ │ │ │ │ ├── CertificateCreationException.java │ │ │ │ │ ├── CertificateSourceException.java │ │ │ │ │ ├── ExportException.java │ │ │ │ │ ├── ImportException.java │ │ │ │ │ ├── KeyGeneratorException.java │ │ │ │ │ ├── KeyStoreAccessException.java │ │ │ │ │ ├── MitmException.java │ │ │ │ │ ├── SslContextInitializationException.java │ │ │ │ │ ├── TrustSourceException.java │ │ │ │ │ └── UncheckedIOException.java │ │ │ │ ├── keys/ │ │ │ │ │ ├── ECKeyGenerator.java │ │ │ │ │ ├── KeyGenerator.java │ │ │ │ │ └── RSAKeyGenerator.java │ │ │ │ ├── manager/ │ │ │ │ │ └── ImpersonatingMitmManager.java │ │ │ │ ├── stats/ │ │ │ │ │ └── CertificateGenerationStatistics.java │ │ │ │ ├── tools/ │ │ │ │ │ ├── BouncyCastleSecurityProviderTool.java │ │ │ │ │ ├── DefaultSecurityProviderTool.java │ │ │ │ │ └── SecurityProviderTool.java │ │ │ │ ├── trustmanager/ │ │ │ │ │ ├── InsecureExtendedTrustManager.java │ │ │ │ │ └── InsecureTrustManagerFactory.java │ │ │ │ └── util/ │ │ │ │ ├── EncryptionUtil.java │ │ │ │ ├── KeyStoreUtil.java │ │ │ │ ├── MitmConstants.java │ │ │ │ ├── SslUtil.java │ │ │ │ └── TrustUtil.java │ │ │ ├── proxy/ │ │ │ │ ├── ActivityMonitor.java │ │ │ │ ├── BlacklistEntry.java │ │ │ │ ├── CaptureType.java │ │ │ │ ├── RewriteRule.java │ │ │ │ ├── Whitelist.java │ │ │ │ ├── auth/ │ │ │ │ │ └── AuthType.java │ │ │ │ └── dns/ │ │ │ │ ├── AbstractHostNameRemapper.java │ │ │ │ ├── AdvancedHostResolver.java │ │ │ │ ├── BasicHostResolver.java │ │ │ │ ├── ChainedHostResolver.java │ │ │ │ ├── DelegatingHostResolver.java │ │ │ │ ├── DnsJavaResolver.java │ │ │ │ ├── HostResolver.java │ │ │ │ ├── NativeCacheManipulatingResolver.java │ │ │ │ └── NativeResolver.java │ │ │ └── util/ │ │ │ ├── BrowserMobHttpUtil.java │ │ │ ├── BrowserMobProxyUtil.java │ │ │ ├── ClasspathResourceUtil.java │ │ │ ├── HttpMessageContents.java │ │ │ ├── HttpMessageInfo.java │ │ │ ├── HttpObjectUtil.java │ │ │ └── HttpUtil.java │ │ ├── res/ │ │ │ ├── layout/ │ │ │ │ └── activity_capture.xml │ │ │ ├── menu/ │ │ │ │ └── menu_main.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── values-w820dp/ │ │ │ └── dimens.xml │ │ └── resources/ │ │ ├── cacerts.pem │ │ ├── default-ciphers.txt │ │ ├── net/ │ │ │ └── lightbody/ │ │ │ └── bmp/ │ │ │ └── version │ │ └── sslSupport/ │ │ ├── ca-certificate-ec.cer │ │ ├── ca-certificate-rsa.cer │ │ ├── ca-keystore-ec.p12 │ │ └── ca-keystore-rsa.p12 │ └── test/ │ └── java/ │ └── me/ │ └── moxun/ │ └── dreamcatcher/ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle