Repolode
ChuckerTeam

ChuckerTeam/chucker

An on-device HTTP inspector for Android apps that records OkHttp requests and responses, similar to Charles but running inside the app.

Open-source alternative to:Charles Proxy

Stars
4,588
Forks
467
Open issues
83
Last commit
16 days ago

What is it?

Chucker is a library for inspecting HTTP(S) traffic sent by an Android app. It plugs into OkHttp as an interceptor, stores each request and response inside the app, and provides an in-app UI for browsing, searching and sharing their contents. Because it runs on the device, it does not require a desktop proxy setup.

While recording is active, the app shows a notification summarizing ongoing HTTP activity, and tapping it opens the Chucker UI. Apps can hide the notification and open the UI from their own screens. Configuration covers retention period, maximum body length, redacting sensitive headers, alwaysReadResponseBody, and custom body decoders for binary formats such as Protobuf or Thrift.

The release variant ships as a no-op artifact, so no Chucker code ends up in production builds. The project is a fork of Chuck and is intended for development use, since the stored data may contain credentials and bodies.

Key features

  • 01Intercepts OkHttp requests and responses and stores them inside the app.
  • 02Provides an in-app UI with body text search and highlighting.
  • 03Displays images in HTTP responses.
  • 04Supports custom body decoders for binary formats.
  • 05Redacts sensitive headers and limits stored body length.
  • 06Ships a no-op release artifact so no Chucker code is included in release builds.

Use cases

  • Debugging API calls made by an Android app during development.
  • Inspecting Retrofit or OkHttp traffic on a physical device without a proxy.
  • Sharing captured request and response data with teammates for bug reports.

Quick start

  1. 1

    Add the debug library dependency to your Android app module build.gradle

    debugImplementation "com.github.chuckerteam.chucker:library:4.2.0"
  2. 2

    Add the no-op library dependency for release builds

    releaseImplementation "com.github.chuckerteam.chucker:library-no-op:4.2.0"
  3. 3

    Add ChuckerInterceptor to your OkHttp client builder

Things to know

  • Intended for development use only; stored data may contain sensitive headers and bodies.
  • Requires OkHttp; Android API 21 or higher is needed and versions below 21 are unsupported.

In collections

Topics

FAQ

What is chucker?
An on-device HTTP inspector for Android apps that records OkHttp requests and responses, similar to Charles but running inside the app. Chucker is a library for inspecting HTTP(S) traffic sent by an Android app. It plugs into OkHttp as an interceptor, stores each request and response inside the app, and provides an in-app UI for browsing, searching and sharing their contents. Because it runs on the device, it does not require a desktop proxy setup.
Is chucker free to use? What license does it have?
chucker is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is chucker still maintained?
Actively maintained. The last commit to chucker was on Oct 22, 2026.
What can I use chucker for?
Debugging API calls made by an Android app during development. Inspecting Retrofit or OkHttp traffic on a physical device without a proxy. Sharing captured request and response data with teammates for bug reports.
How do I install chucker?
Add the debug library dependency to your Android app module build.gradle: debugImplementation "com.github.chuckerteam.chucker:library:4.2.0" Add the no-op library dependency for release builds: releaseImplementation "com.github.chuckerteam.chucker:library-no-op:4.2.0" Add ChuckerInterceptor to your OkHttp client builder
Where can I get chucker?
The source code and installation instructions are on GitHub: https://github.com/ChuckerTeam/chucker

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects