If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: developer.android.com/topic/performance/hardware-accel - Hardware acceleration  |  App .

site address: developer.android.com/topic/performance/hardware-accel redirected to: developer.android.com/topic/performance/hardware-accel

site title: Hardware acceleration     App quality     Android Developers

Our opinion (on Sunday 11 October 2026 10:28:11 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Describes how to manage hardware acceleration for 2D rendering in Android, including controlling GPU rendering, supported canvas operations, and optimization tips.;
keywords=Jetpack Compose, Android, performance, GPU rendering, 2D rendering pipeline, graphics;

Headings (most frequently used words):

level, and, hardware, acceleration, content, support, android, stay, organized, with, collections, save, categorize, based, on, your, preferences, control, for, drawing, operations, tips, tricks, additional, resources, canvas, scaling, views, more, discover, devices, releases, documentation, downloads, application, activity, window, composable,

Text of the page (most frequently used words):
the (86), and (78), #android (77), for (49), play (48), app (41), hardware (31), your (31), with (29), performance (25), #acceleration (21), you (21), more (20), drawing (20), use (18), all (17), memory (17), overview (16), google (15), level (15), libraries (15), compose (14), get (13), are (13), application (13), operations (13), build (13), studio (12), api (12), quality (12), that (11), wear (10), rendering (10), custom (10), design (10), tools (10), profiles (10), support (9), thumb (9), code (9), create (9), how (9), following (9), apps (9), games (9), user (9), experiences (9), privacy (8), cars (8), composable (8), using (8), draw (8), can (8), latest (8), learn (8), core (8), startup (8), about (8), other (7), content (7), path (7), keep (7), jetpack (7), best (7), control (7), enable (7), activity (7), services (7), updates (7), profile (7), baseline (7), capture (7), profiling (7), documentation (6), releases (6), devices (6), samples (6), this (6), without (6), modifier (6), gpu (6), pipeline (6), accelerated (6), supported (6), technical (6), console (6), background (6), experience (6), optimize (6), battery (6), trace (6), developers (5), guides (5), chromeos (5), health (5), blog (5), security (5), down (5), too (5), resources (5), when (5), apis (5), screen (5), set (5), alpha (5), layer (5), time (5), shapes (5), new (5), objects (5), state (5), developer (5), first (5), form (5), window (5), test (5), work (5), events (5), programs (5), case (5), explore (5), phones (5), tablets (5), foldables (5), device (5), write (5), data (5), library (5), excessive (5), usage (5), optimization (5), users (5), news (4), guidelines (4), platform (4), need (4), off (4), command (4), bitmap (4), don (4), example (4), common (4), optimizations (4), inside (4), than (4), standard (4), paint (4), render (4), region (4), see (4), these (4), note (4), canvas (4), composeshader (4), mode (4), cliprect (4), levels (4), view (4), disable (4), hardwareaccelerated (4), add (4), problems (4), plan (4), sdk (4), index (4), delivery (4), monetization (4), googlebook (4), debug (4), areas (4), excellent (4), value (4), glasses (4), world (4), started (4), practices (4), power (4), analyze (4), rules (4), microbenchmark (4), benchmark (4), from (4), tips (3), brand (3), studies (3), report (3), reference (3), camera (3), media (3), fitness (3), enterprise (3), community (3), information (3), many (3), rendered (3), buffer (3), which (3), avoid (3), every (3), change (3), modify (3), often (3), complex (3), reuse (3), methods (3), top (3), each (3), any (3), elements (3), them (3), into (3), rule (3), pixels (3), layout (3), read (3), operation (3), commands (3), default (3), table (3), scale (3), porterduff (3), framebuffer (3), lines (3), used (3), advanced (3), such (3), issues (3), stay (3), authors (3), feature (3), vitals (3), together (3), gradle (3), line (3), projects (3), connectivity (3), gemini (3), testing (3), introduction (3), preview (3), powered (3), ide (3), adaptive (3), anrs (3), monitor (3), analyzing (3), measure (3), tracing (3), real (3), develop (3), help (3), details (3), our (3), development (3), 한국어 (2), 日本語 (2), ภาษาไทย (2), বাংলা (2), हिंदी (2), فارسی (2), العربيّة (2), עברית (2), русский (2), türkçe (2), tiếng (2), việt (2), português (2), brasil (2), polski (2), italiano (2), indonesia (2), français (2), español (2), américa (2), latina (2), deutsch (2), english (2), manage (2), license (2), join (2), bug (2), guide (2), downloads (2), large (2), discover (2), connect (2), linkedin (2), out (2), youtube (2), follow (2), understand (2), issue (2), last (2), updated (2), 2026 (2), utc (2), java (2), trademarks (2), its (2), views (2), additional (2), required (2), non (2), individual (2), calls (2), apply (2), like (2), color (2), compositingstrategy (2), texture (2), bitmaps (2), method (2), also (2), mutate (2), allocate (2), building (2), writing (2), logic (2), rather (2), allocation (2), drawcircle (2), drawrect (2), layers (2), not (2), per (2), overdraw (2), graphicslayer (2), graphics (2), but (2), isn (2), software (2), simple (2), doesn (2), have (2), false (2), drawtextonpath (2), drawpostext (2), was (2), some (2), textures (2), local (2), type (2), setstrokecap (2), text (2), setantialias (2), difference (2), requires (2), describes (2), supports (2), well (2), composables (2), effects (2), own (2), properties (2), flag_hardware_accelerated (2), layoutparams (2), windowmanager (2), true (2), turned (2), globally (2), attribute (2), entire (2), manifest (2), section (2), find (2), turning (2), because (2), multiple (2), based (2), tos (2), product (2), categories (2), marketing (2), bundles (2), install (2), referrer (2), reviews (2), asset (2), dev (2), center (2), policies (2), integrity (2), fundamentals (2), better (2), tech (2), bench (2), plugin (2), workflow (2), files (2), interfaces (2), multidevice (2), fraud (2), prevention (2), identity (2), permissions (2), accessibility (2), kotlin (2), multiplatform (2), modularization (2), navigation (2), architecture (2), widgets (2), headsets (2), desktop (2), mobile (2), sandbox (2), experimental (2), productivity (2), social (2), messaging (2), category (2), factor (2), training (2), verification (2), hello (2), wake (2), locks (2), swap (2), slow (2), monitoring (2), management (2), historian (2), standby (2), improve (2), fix (2), study (2), macrobenchmark (2), troubleshoot (2), examples (2), types (2), choose (2), benchmarking (2), instrumentation (2), arguments (2), process (2), native (2), system (2), profilingmanager (2), inspecting (2), troubleshooting (2), threads (2), quick (2), processes (2), essentials (2), designed (2), grow (2), step (2), features (2), browse (2), secure (2), factors (2), subscribe, email, cookies, products, cloud, firebase, chrome, research, ndk, download, screens, machine, learning, gaming, podcasts, source, check, androiddev, easy, easytounderstand, solved, problem, solvedmyproblem, otherup, missing, missingtheinformationineed, complicated, steps, toocomplicatedtoomanysteps, date, outofdate, samplescodeissue, otherdown, page, subject, licenses, described, openjdk, registered, oracle, affiliates, make, translucent, animation, typically, doubles, fill, rate, overhead, overlapping, directly, creating, red, copy, modulatealpha, care, uploaded, again, next, paths, circles, masks, creates, mask, expensive, mistake, invoked, forces, garbage, collector, run, bypasses, caches, once, reusable, extensions, implement, causing, heap, allocations, drawmodifiernode, node, remember, hold, efficiently, clear, existing, instantiating, rewind, instead, allocating, already, internally, requiring, drawscope, remove, completely, obscured, opaque, several, blended, consider, merging, single, good, current, times, number, frame, transparent, count, tree, shallow, limit, much, recomposes, defer, reads, narrowest, scope, redraws, smallest, possible, animated, body, minimize, complexity, recomposition, switching, instantly, increase, should, still, effectively, recommendations, tricks, depend, affected, result, rest, keeps, imagebitmap, issued, contain, joins, instances, those, fall, under, preceding, chart, setstrokemiter, setstrokejoin, patheffect, usecenter, drawarc, drawroundrect, drawoval, shadow, drawpath, drawtext, scaled, shows, implementation, changed, correctly, handle, scales, built, unscaled, degrading, significantly, higher, values, implemented, drawn, transformed, starting, scaling, matrix, same, shaders, shader, overlay, lighten, darken, xfermode, setsubpixeltext, points, setshadowlayer, setpatheffect, setmaskfilter, setlineartext, setfilterbitmap, rotation, perspective, reversedifference, xor, clipregion, clippath, setdrawfilter, drawvertices, drawpicture, drawbitmapmesh, colors, array, minimum, earlier, universally, various, across, most, commonly, less, applications, ship, visual, reflections, tiled, strictly, host, legacy, call, setlayertype, layer_type_software, null, androidview, explicitly, force, blending, within, modifiers, offscreen, lets, transform, rerunning, always, lambda, transformorigin, rotationz, rotationy, rotationx, translationy, translationx, scaley, scalex, there, switch, currently, cannot, setflags, even, fine, grained, given, does, behave, properly, activities, element, enables, disables, one, file, tag, uis, including, opengl, framework, performs, actual, known, around, enabled, uses, only, shouldn, cause, adverse, however, might, affect, usually, themselves, invisible, exceptions, wrongly, remedy, gives, option, meaning, performed, increased, will, consume, ram, save, categorize, preferences, organized, collections, healthy, jankstats, permission, denials, network, scans, wakeups, stuck, partial, anonymous, rss, low, killers, lmks, sessions, crashes, address, sqlite, reduce, size, related, resource, limits, batterystats, determining, docking, status, connection, metering, charging, doze, hierarchies, reducing, unresponsive, thread, diagnose, responsive, solving, verify, behavior, runtime, art, hibernation, buckets, declare, class, environment, gmail, between, confirm, calendar, manually, configure, generation, customize, target, variant, configurations, cases, global, options, adopt, incrementally, wisely, configuration, full, specified, packages, optimizer, improving, hilt, adding, metrics, inspect, define, navigate, limitations, practical, debugging, anr, bulk, analysis, worker, uploading, query, retrieve, trigger, driven, right, profilers, analyzer, apa, helpful, kswapd, lmkd, interaction, reclaim, eviction, wide, service, bindings, states, locality, webview, assessment, fundamental, concepts, understanding, budgets, among, score, sign, access, detailed, manuals, references, specifications, integrate, confidence, upcoming, webinars, workshops, meetups, special, initiatives, results, different, teams, achieve, their, goals, deep, dive, tutorials, smarter, faster, stories, spotlight, collaborative, bring, loop, behind, scenes, looks, evolving, publishing, promoting, managing, deliver, engage, monitize, publish, game, business, share, docs, companion, safeguard, against, threats, ensure, align, store, robust, testable, maintainable, beautiful, interface, touch, throughout, year, give, feedback, prescriptive, opinionated, guidance, skip, main,


Text of the page (random words):
and adaptive app development to support multiple device form factors hello world developer verification adaptive apps compose for ui ai powered ide training monetization with play ️ optimize by form factor build apps that optimize the user experience on phones tablets foldables cars xr and more phones tablets foldables android for cars android tv android xr googlebook chromeos wear os build by category learn to build for your use case by following google s prescriptive and opinionated guidance games camera media social messaging health fitness productivity enterprise apps get the latest stay in touch with the latest releases throughout the year join our preview programs and give us your feedback latest updates experimental updates android studio preview jetpack compose libraries wear os releases privacy sandbox ️ design plan excellent experiences build the best experiences for your best users learn more ui design design a beautiful user interface using android best practices design for android mobile desktop experiences xr headsets xr glasses ai glasses widgets wear os android tv android for cars architecture design robust testable and maintainable app logic and services introduction libraries navigation modularization testing kotlin multiplatform quality plan for app quality and align with play store guidelines overview core value user experience accessibility technical quality excellent experiences security safeguard users against threats and ensure a secure android experience overview privacy permissions identity fraud prevention develop gemini in android studio your ai development companion for android development learn more get android studio core areas get the samples and docs for the features you need samples multidevice support user interfaces background work data and files connectivity all core areas ️ tools and workflow use the ide to write and build your app or create your own pipeline write and debug code build projects test your app performance command line tools gradle plugin api android bench device tech write code for form factors connect devices and share data phones tablets foldables googlebook chromeos android for cars android tv android xr wear os android health better together all devices ️ libraries browse api reference documentation with all the details android platform jetpack libraries compose libraries google play services ️ google play sdk index ️ google play play console publish your app or game and grow your business on google play go to play console learn more ️ fundamentals learn how to engage users monitize and secure your app play monetization play integrity android vitals play policies play programs ️ games dev center develop and deliver games get tools downloads and samples overview play asset delivery play games services play games on pc level up guidelines all play guides ️ libraries browse api reference documentation with all the details play feature delivery play in app updates play in app reviews play install referrer google play services ️ google play sdk index ️ all play libraries ️ tools resources tools for publishing promoting and managing your app android app bundles brand marketing play console apis ️ blog the android developer s blog read the latest explore the authors explore categories product news stay in the loop with the latest updates feature releases and behind the scenes looks at how we re evolving community discover stories from our users spotlight features and the collaborative projects that bring us all together how tos from quick tips to deep dive tutorials these step by step guides are designed to help you work smarter and faster case studies real world results from real world users explore how different teams use our tools to achieve their goals events programs get the details on upcoming webinars workshops meetups and special initiatives designed to help you grow documentation access detailed manuals api references and technical specifications to help you build and integrate with confidence english deutsch español américa latina français indonesia italiano polski português brasil tiếng việt türkçe русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 简体 中文 繁體 日本語 한국어 android studio sign in app quality overview core value user experience technical quality privacy security essentials more design plan more overview core value user experience technical quality privacy security develop more google play more blog more android studio overview performance app performance guide get your app performance score memory overview about memory management memory allocation among processes manage your app s memory processes and threads set app memory budgets understanding and troubleshooting android memory introduction fundamental concepts quick assessment tools analyzing java memory bitmaps and memory analyzing native memory webview and memory app code is memory threads and memory memory locality and performance service bindings and process states system wide troubleshooting memory reclaim eviction and swap kswapd and lmkd interaction inspecting performance about inspecting performance profile types and when each is helpful android performance analyzer apa android studio profilers profiling and tracing choose the right profiling method capture real user data using profilingmanager overview how to capture a profile app driven profiling trigger based profiling retrieve and analyze profiling data query profilingmanager profiles set up a worker for profile uploading bulk trace analysis practical performance debugging example anr profiling limitations debug commands for local profiling system tracing overview capture trace capture a trace in android studio capture a trace on a device capture a trace from the command line navigate a report custom events define custom events custom trace events in native code in process tracing inspect gpu rendering benchmarking benchmark your app macrobenchmark writing a benchmark capture the metrics control your app adding instrumentation arguments microbenchmark about microbenchmark write a benchmark profile a benchmark microbenchmark instrumentation arguments microbenchmark and hilt building without gradle benchmarking in ci measure performance overview examples improving performance how to improve performance enable the r8 app optimizer enable app optimization optimize specified packages use r8 in full mode analyze r8 configuration choose libraries wisely adopt optimizations incrementally use keep rules about keep rules add global options add keep rules add additional rule types follow best practices keep rule use cases and examples advanced configurations target a build variant customize which resources to keep test the optimization troubleshoot r8 optimizations fix optimization problems use rules to troubleshoot optimization for library authors baseline profiles overview create baseline profiles create baseline profiles for a library configure baseline profile generation measure with macrobenchmark library manually create and measure baseline profiles debug baseline profiles case study android calendar startup profiles overview create startup profiles confirm optimization difference between baseline profiles and startup profiles app startup analyze and optimize app startup case study gmail wear os app startup library guides set up your environment for testing about background work declare a device performance class about app standby buckets about app hibernation verify app behavior on the android runtime art solving common problems app startup anrs keep your app responsive diagnose and fix anrs find the unresponsive thread rendering performance of rendering reducing overdraw performance and view hierarchies analyzing with profile gpu rendering improve layout performance battery and power optimize for doze and app standby monitor the battery level and charging state monitor connectivity status and connection metering determining and monitor docking state and type profile battery usage with batterystats and battery historian analyze power use with battery historian understand power management resource limits test power related issues background optimizations reduce app size hardware acceleration best practices for sqlite performance performance best practices monitoring performance about monitoring performance address common performance issues overview anrs crashes slow rendering slow sessions low memory killers lmks memory usage anonymous rss swap bitmap memory usage excessive wake locks stuck partial wake locks excessive wakeups excessive background wi fi scans excessive background network usage excessive battery usage permission denials app startup time jankstats library on google play android vitals healthy releases build ai experiences get started get started hello world developer verification adaptive apps compose for ui ai powered ide training monetization with play ️ optimize by form factor phones tablets foldables android for cars android tv android xr googlebook chromeos wear os build by category games camera media social messaging health fitness productivity enterprise apps get the latest latest updates experimental updates android studio preview jetpack compose libraries wear os releases privacy sandbox ️ excellent experiences learn more ui design design for android mobile desktop experiences xr headsets xr glasses ai glasses widgets wear os android tv android for cars architecture introduction libraries navigation modularization testing kotlin multiplatform quality overview core value user experience accessibility technical quality excellent experiences security overview privacy permissions identity fraud prevention gemini in android studio learn more get android studio core areas samples multidevice support user interfaces background work data and files connectivity all core areas ️ tools and workflow write and debug code build projects test your app performance command line tools gradle plugin api android bench device tech phones tablets foldables googlebook chromeos android for cars android tv android xr wear os android health better together all devices ️ libraries android platform jetpack libraries compose libraries google play services ️ google play sdk index ️ play console go to play console learn more ️ fundamentals play monetization play integrity android vitals play policies play programs ️ games dev center overview play asset delivery play games services play games on pc level up guidelines all play guides ️ libraries play feature delivery play in app updates play in app reviews play install referrer google play services ️ google play sdk index ️ all play libraries ️ tools resources android app bundles brand marketing play console apis ️ the android developer s blog read the latest explore the authors explore categories product news community how tos case studies events programs documentation android developers design plan app quality technical quality hardware acceleration stay organized with collections save and categorize content based on your preferences the android 2d rendering pipeline supports hardware acceleration meaning that all drawing operations that are performed on the canvas use the gpu because of the increased resources required to enable hardware acceleration your app will consume more ram hardware acceleration is enabled by default if your application uses only standard composables turning it on globally shouldn t cause any adverse drawing effects however because hardware acceleration isn t supported for all of the 2d drawing operations turning it on might affect some of your custom drawing calls problems usually manifest themselves as invisible elements exceptions or wrongly rendered pixels to remedy this android gives you the option to enable or disable hardware acceleration at multiple levels see control hardware acceleration if your application performs custom drawing test your application on actual hardware devices with hardware acceleration turned on to find any problems the support for drawing operations section describes known issues with hardware acceleration and how to work around them also see opengl with the framework apis control hardware acceleration you can control hardware acceleration at the following levels application activity window composable note jetpack compose uis are hardware accelerated by default the control levels in this section apply to all apps including compose apps application level in your android manifest file add the following attribute to the application tag to enable hardware acceleration for your entire application application android hardwareaccelerated true activity level if your application does not behave properly with hardware acceleration turned on globally you can control it for individual activities as well to enable or disable hardware acceleration at the activity level you can use the android hardwareaccelerated attribute for the activity element the following example enables hardware acceleration for the entire application but disables it for one activity application android hardwareaccelerated true activity activity android hardwareaccelerated false application window level if you need even more fine grained control you can enable hardware acceleration for a given window with the following code window setflags windowmanager layoutparams flag_hardware_accelerated windowmanager layoutparams flag_hardware_accelerated note you currently cannot disable hardware acceleration at the window level composable level in compose there is no per composable switch to disable hardware acceleration to render a composable into its own layer use modifier graphicslayer this lets transform properties such as alpha scalex scaley translationx translationy rotationx rotationy rotationz and transformorigin change without rerunning the composable s drawing code for the best performance always use the lambda form of the modifier to set these properties to explicitly force an off screen buffer for advanced drawing operations such as custom blending within the layer use compositingstrategy offscreen for more information see graphics modifiers if you have a custom drawing operation that strictly requires software rendering you can host a legacy view using androidview and call setlayertype view layer_type_software null on that view support for drawing operations when hardware accelerated the 2d rendering pipeline supports the most commonly used canvas drawing operations as well as many less used operations all of the drawing operations that are used to render applications that ship with android standard composables and common advanced visual effects such as reflections and tiled textures are supported the following table describes the support level of various operations across api levels note jetpack compose requires a minimum of api level 21 in the following table drawing operations with a first supported api level of 21 or earlier are universally supported in compose apps ...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • X
  • LinkedIn
  • Google Developers

Verified site has: 267 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190 191-195 196-200
201-205 206-210 211-215 216-220 221-225 226-230 231-235 236-240 241-245 246-250
251-255 256-260 261-265 266-267


The site also has 1 references to other resources (not html/xhtml )

 developer.android.com/ai  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
location htt????/developer.android.com/topic/performance/hardware-accel
x-cloud-trace-context 5bdd2da0c280d76717c801bce0dc7129
date Sun, 11 Oct 2026 10:28:10 GMT
content-type text/html
server Google Frontend
Content-Length 0
Connection close
HTTP/2 200
last-modified Thu, 17 Sep 2026 17:42:25 GMT
content-type text/html; charset=utf-8
vary Cookie
vary Accept-Encoding
content-security-policy base-uri self ; object-src none ; script-src strict-dynamic unsafe-inline https: http: nonce-Y9BwdDJyCk4ppBjY17bcDWuv0eTqQU unsafe-eval ; frame-ancestors self htt????/developers.google.com/_d/analytics-iframe; report-uri htt????/csp.withgoogle.com/csp/devsite/v2
strict-transport-security max-age=63072000; includeSubdomains; preload
x-xss-protection 0
x-content-type-options nosniff
cache-control no-cache, must-revalidate
expires 0
pragma no-cache
content-encoding gzip
x-cloud-trace-context a93e30d26239034dcf5a7e550924cb78
date Sun, 11 Oct 2026 10:28:10 GMT
server Google Frontend
content-length 37623
alt-svc h3= :443 ; ma=2592000,h3-29= :443 ; ma=2592000

Meta Tags

title="Hardware acceleration  |  App quality  |  Android Developers"
name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"
name="google-signin-scope" content="profile email htt????/www.googleapis.com/auth/developerprofiles htt????/www.googleapis.com/auth/developerprofiles.award htt????/www.googleapis.com/auth/devprofiles.full_control.firstparty"
property="og:site_name" content="Android Developers"
property="og:type" content="website"
name="theme-color" content="#34a853"
charset="utf-8"
content="IE=Edge" http-equiv="X-UA-Compatible"
name="viewport" content="width=device-width, initial-scale=1"
property="og:title" content="Hardware acceleration  |  App quality  |  Android Developers"
name="description" content="Describes how to manage hardware acceleration for 2D rendering in Android, including controlling GPU rendering, supported canvas operations, and optimization tips."
property="og:description" content="Describes how to manage hardware acceleration for 2D rendering in Android, including controlling GPU rendering, supported canvas operations, and optimization tips."
property="og:url" content="htt????/developer.android.com/topic/performance/hardware-accel"
property="og:image" content="htt????/developer.android.com/static/images/social/android-developers.png"
property="og:image:width" content="1200"
property="og:image:height" content="675"
property="og:locale" content="en"
name="twitter:card" content="summary_large_image"
name="keywords" content="Jetpack Compose, Android, performance, GPU rendering, 2D rendering pipeline, graphics"

Load Info

page size37623
load time (s)0.71819
redirect count1
speed download52399
server IP 172.217.22.110
* all occurrences of the string "http://" have been changed to "htt???/"