BARREL

Android Research Workbench

Download Barrel Get Started
Dashboard Logcat Shell File Explorer Screen Capture Frida Updates

Download Barrel

Get the latest release for your platform.

Linux

Linux

.deb (Ubuntu) · .rpm (Fedora) · .AppImage

macOS

macOS Experimental

Apple Silicon · Intel

Not notarized - see install notes

Download for macOS

Windows Experimental

Installer (.msi)

SmartScreen warning - click "Run anyway"

Download for Windows

Release builds are signed and verified.

Download Public Key

Verify Your Download

Ensure your build is authentic and untampered.

1
Download the public key - barrel-public.key
2
Download the signature file from the releases page, download the .sig file matching your installer.
3
Verify the signature - Run this command in your terminal:
npx tauri signer verify \
  --public-key barrel-public.key \
  --signature Barrel_0.1.7_amd64.deb.sig \
  Barrel_0.1.7_amd64.deb

Replace Barrel_0.1.7_amd64.deb with your actual installer and signature file. A valid signature confirms the file was built by the Barrel team and has not been tampered with.

Installation

How to install Barrel on your platform.

Linux macOS Windows

Debian / Ubuntu (.deb)

sudo dpkg -i Barrel_0.1.7_amd64.deb

Then launch from your app menu or run barrel in terminal.

Fedora / RHEL (.rpm)

sudo rpm -i Barrel-0.1.7-1.x86_64.rpm

Then launch from your app menu or run barrel in terminal.

Portable (.AppImage)

chmod +x Barrel_0.1.7_amd64.AppImage
./Barrel_0.1.7_amd64.AppImage

No install needed - runs directly. Move it anywhere you like.

macOS (.dmg) Experimental

  1. Open the downloaded .dmg file
  2. Drag Barrel.app into your Applications folder
  3. Launch from Applications or Spotlight (Cmd+Space)
Gatekeeper (unsigned app) - Barrel is not notarized by Apple. On first launch, macOS will block it. Choose one of these workarounds:
  1. Right-click Barrel.app in Applications and select Open (then click Open in the dialog). This only needs to be done once.
  2. Or run this in Terminal to remove the quarantine attribute:
    xattr -d com.apple.quarantine /Applications/Barrel.app

Windows (.msi) Experimental

  1. Double-click the .msi installer file
  2. Follow the installer prompts
  3. Launch Barrel from the Start Menu
SmartScreen warning - Barrel is not code-signed with a Microsoft certificate. Windows may show a SmartScreen protection dialog. Click More info then Run anyway to proceed. This is a standard warning for open-source software without an EV certificate.

Quick Start

Get up and running in minutes.

1
Install the prerequisites - make sure adb is on your system PATH. See the prerequisites section for platform-specific instructions.
2
Connect your Android device via USB with USB debugging enabled (Settings → Developer Options → USB Debugging). Accept the RSA fingerprint if prompted.
3
Launch Barrel. The Dashboard automatically detects connected devices. Select your device from the dropdown.
4
Navigate using the sidebar - Shell, Logcat, Files, Packages, Network, Processes, Screen, and Frida tabs are all ready to use.
Wireless ADB: You can also connect over the network using the Wireless ADB card on the Dashboard. Use adb pair on the device, then enter the IP:Port and pairing code in Barrel.

Prerequisites

Required tools Barrel depends on.

Required

ToolPurposeInstall
ADBAndroid Debug Bridge - device communicationSee below
xzXZ decompression (for Frida server download)See below
curlHTTP transfers (Frida download, proxy verify)See below

Optional

ToolPurposeInstall
scrcpyReal-time screen mirroringSee below
frida-toolsFrida server management & dynamic instrumentationpip install frida-tools (verify frida --version works after install)

Runtime Dependencies

Barrel is compiled against the following system libraries. Ensure these are installed (usually present on modern desktops). For development builds from source, install the -dev variants instead:

LibraryMinimum VersionRuntime Install (Debian/Ubuntu)Dev Build Install
libwebkit2gtk-4.12.40+sudo apt install libwebkit2gtk-4.1-0sudo apt install libwebkit2gtk-4.1-dev
libgtk-33.24+sudo apt install libgtk-3-0sudo apt install libgtk-3-dev
libsoup-3.03.0+sudo apt install libsoup-3.0-0sudo apt install libsoup-3.0-dev
libjavascriptcoregtk-4.12.40+sudo apt install libjavascriptcoregtk-4.1-0sudo apt install libwebkit2gtk-4.1-dev

Platform-Specific Install

Select your operating system for detailed install commands:

Linux macOS Windows
# Android Debug Bridge
sudo apt install adb

# xz-utils (usually pre-installed)
sudo apt install xz-utils

# curl (usually pre-installed)
sudo apt install curl

# Optional: scrcpy for screen mirroring
sudo apt install scrcpy

# Optional: frida-tools for Frida integration
pip3 install frida-tools
# Install via Homebrew
brew install android-platform-tools
brew install xz
brew install curl

# Optional: scrcpy for screen mirroring
brew install scrcpy

# Optional: frida-tools for Frida integration
pip3 install frida-tools
# Android Debug Bridge
# Download from: https://developer.android.com/tools/releases/platform-tools
# Add the extracted folder to your system PATH.

# xz and curl are bundled with Barrel on Windows.

# Optional: scrcpy for screen mirroring
scoop install scrcpy

# Optional: frida-tools for Frida integration
pip install frida-tools
Verifying installation: Open a terminal and run adb devices. You should see your device listed. If it shows as "unauthorized", accept the RSA prompt on your phone.
Install tools globally for best detection: Barrel auto-detects adb, curl, xz, scrcpy, and frida from your system PATH. Installing these tools system-wide (e.g. apt install, brew install, or pip3 install --user) ensures Barrel finds them immediately. These tools are standalone and won't interfere with Python projects or system packages - no virtual environment needed.

Dashboard

The home screen and device hub.

The Dashboard is your starting point. It shows all connected devices, provides quick-access shortcuts to each tool, and displays device properties.

Barrel Dashboard

Device Management

  • Active Device dropdown - Select which connected device to target. All tools inherit this selection by default.
  • Refresh button - Re-scans for connected devices.
  • Device indicator - Green dot when connected, gray when no device detected.

Per-Module Device Selection

Each tool tab has its own compact device dropdown in the toolbar. By default it shows "Default device" (the globally selected device). You can override it per-tool to target different devices independently - browse files on device A while monitoring logcat on device B.

Device Info

The Device Info card shows: model name, Android version + API level, build ID, battery percentage + status, and serial number. Auto-updates when the device changes.

Custom Commands

Create reusable ADB command shortcuts that persist across sessions. Type a label and command, click Save (or press Enter twice), then Run any time. Output appears inline. Commands are saved to localStorage.

Session Save/Load

Save your entire workspace layout - all shell tab names, logcat configurations (filter, level, package), and per-module device overrides. Load to restore everything at once.

Wireless ADB

Connect devices over the network without USB.

  1. On your device: Settings → Developer Options → Wireless Debugging → enable it
  2. Tap "Pair device with pairing code" - you get an IP:Port and a 6-digit code
  3. In Barrel's Dashboard, find the Wireless ADB card
  4. Pair: Enter IP:Port code (e.g. 192.168.1.100:41241 123456) and click Pair
  5. Connect: Enter the IP:Port shown under Wireless Debugging (different port, e.g. 192.168.1.100:39251) and click Connect

The device appears in the Dashboard dropdown and is ready to use with all tools.

Shell

Interactive PTY-based terminal with multi-tab support.

Each tab runs an independent shell session - local bash on the host machine, or adb shell on a connected device. Terminal output is rendered via xterm.js with a custom dark theme.

Shell multi-tab terminals

Getting Started

  • A "Terminal 1" tab opens automatically with a local bash session.
  • Type commands directly - behaves like a native terminal emulator.
  • Copy/paste with Ctrl+C/Ctrl+V (smart: copies selected text, or sends SIGINT if nothing selected).

Device Shell

  1. Select a device on the Dashboard.
  2. Click Connect in the Shell toolbar.
  3. The terminal switches from local bash to an adb shell session.
  4. The toolbar indicator changes from LOCAL to DEVICE: <serial>.
  5. Click Disconnect to return to the local shell.

Multi-Tab Management

ActionHow
New tabClick the + button in the tab bar
Switch tabClick any tab
Close tabClick the × on a tab (disabled when only one tab remains)
Reorder tabsDrag a tab and drop it on another tab's position
Rename tabDouble-click the tab label and type a custom name

Copy & Paste

ShortcutAction
Ctrl + CCopy selection, or SIGINT if no selection
Ctrl + Shift + CCopy selection from the terminal
Ctrl + VPaste text into the terminal
Ctrl + Shift + VPaste text into the terminal

Logcat

Real-time Android device log streaming with multi-tab support.

Each tab maintains its own filter, log level, and output buffer (capped at 1000 lines).

Logcat with highlight rules

Getting Started

  1. Select a device on the Dashboard.
  2. Navigate to the Logcat tab.
  3. Click Start to begin streaming logs.
  4. Logs appear in real-time in the output pane.

Controls

ControlAction
FilterText field to filter logs by tag (e.g., ActivityManager) - passed to adb logcat -s
LevelDropdown for minimum log level (Verbose through Fatal)
PackageFilter by Android package name - resolves to PID and passes --pid to adb logcat
Start / StopBegin or pause the log stream
ClearClear the current tab's output buffer
Save LogExport the current tab's buffer to a .txt or .log file
HighlightOpen the highlight rules panel. Add text/color/regex rules - matching lines get a semi-transparent background highlight. Rules are per-tab and persist across restarts.

Per-Tab Device Selection

Each logcat tab has its own device dropdown in the toolbar. By default it follows the Dashboard's active device, but you can target different devices per tab - monitor logs on device A while another tab watches device B.

Log Level Hierarchy

Levels are cumulative - selecting a level shows that level and everything above it in severity:

SelectionShowsColors
VerboseV + D + I + W + E + Fgray, blue, green, yellow, red, bright red
DebugD + I + W + E + Fblue, green, yellow, red, bright red
InfoI + W + E + Fgreen, yellow, red, bright red
WarningW + E + Fyellow, red, bright red
ErrorE + Fred, bright red
FatalF onlybright red

Color-Coded Output

LevelColor
V (Verbose)Dim gray
D (Debug)Blue
I (Info)Green
W (Warning)Yellow
E (Error)Red
F (Fatal)Bright red

File Explorer

Browse the Android device filesystem.

A collapsible tree view with support for su fallback on protected directories, plus file pull/push with native OS dialogs.

File Explorer with tree view

Getting Started

  1. Select a device and navigate to the Files tab.
  2. Click Refresh to load the root directory (/).
  3. Click any directory to expand it (lazy-loaded on demand).

Usage

  • Expand/collapse - click the arrow (▶/▼) next to a directory.
  • Set active directory - click a directory name (the path appears in the toolbar).
  • Select file - click a file name (highlighted row).
  • Directories in blue, files in white.
  • Symlinks to directories (e.g., /sdcard) detected as expandable.
  • Protected directories auto-attempt su -c and su 0 fallbacks.

File Viewer

Double-click any file or hover and click View to open a syntax-highlighted preview modal. Supports JSON, XML, HTML, CSS, JS/TS, YAML, and shell scripts. Close with Escape, click outside, or the X button.

File Transfers

Pull (device → host): Click a file to select it, then click Pull. A Save As dialog appears.

Push (host → device): Navigate to the target directory, click Push, select a file. The tree refreshes automatically.

Network Inspector

Active TCP and UDP connections with proxy management.

Lists all connections from /proc/net/{tcp,udp,tcp6,udp6} with color-coded states, protocol badges, and a summary bar.

Getting Started

  1. Select a device and navigate to the Network tab.
  2. Click Refresh to fetch connections.
  3. Use the filter field to narrow by address, port, state, protocol, or UID.
  4. Toggle Auto-refresh (3s) for live monitoring.

Color Legend

StateColor
ESTABLISHEDGreen
LISTEN / FIN statesYellow/Orange
CLOSE_WAIT, CLOSING, LAST_ACKRed
SYN_SENT, SYN_RECVBlue
TIME_WAIT, CLOSEGray
TCP / TCP6Blue protocol badge
UDP / UDP6Purple protocol badge

Proxy Settings

Configure and test an HTTP proxy on the connected device:

  • Set Proxy - enter a host IP and port, runs settings put global http_proxy.
  • Clear - removes proxy via settings put global http_proxy :0.
  • Verify - sends a request through the proxy from the device using curl -x. Returns the HTTP status code.

Process Explorer

Live process list with filtering and kill capability.

Getting Started

  1. Select a device and navigate to the Processes tab.
  2. Click Refresh to fetch the current process list.
  3. Use the filter field to narrow by name, PID, or UID.
  4. Toggle Auto-refresh (3s) for live monitoring.

Killing a Process

Click Kill next to any process (PID > 1) to terminate it. A glass confirmation dialog appears. Terminating critical system processes may destabilize the device.

Columns

ColumnDescription
PIDProcess ID
PPIDParent Process ID
UIDUser ID (numeric Android app ID)
NameFull command line or process name

Package Manager

List, filter, install, and uninstall Android packages.

Getting Started

  1. Select a device and navigate to the Packages tab.
  2. Click Refresh to load the full package list.
  3. Type in the Filter field to search by package name in real-time.

Install APK

Click Install APK, select an .apk via the native file dialog. Installs with -r (replace if exists). The list refreshes automatically on success.

Per-Package Actions

Every package row has quick actions for testing an installed app without leaving the app:

ActionUnder the hoodPurpose
Launchmonkey -p <pkg> 1Start the app's default launcher activity.
Stopam force-stop <pkg>Kill the app and all its background processes.
Cachesu rm -rf /data/data/<pkg>/cache/*Clear the app's cache directory only.
Datapm clear <pkg>Wipe app data and state (with confirmation dialog).
Uninstalladb uninstall <pkg>Remove the app (with confirmation dialog).

Uninstall

Click Uninstall next to any package. A glass confirmation dialog shows the package name. Click Yes, Uninstall to proceed. The list refreshes automatically.

If the standard uninstall is rejected (DELETE_FAILED_INTERNAL_ERROR - common for device-admin packages on newer Android, or when using an older adb client), Barrel automatically retries with adb shell pm uninstall --user 0 <pkg>, which works regardless of the host adb version.

Screen Capture

Screenshots, recording, and real-time mirroring.

Screenshot preview modal

Screenshot

Click Take Screenshot. A preview modal opens with the device screen. Save overwrites the previous file, Save As opens a file dialog to pick a location. Captured via adb exec-out screencap -p | base64 and rendered inline.

Screen Recording

  1. Click Start Recording - runs adb shell screenrecord.
  2. Interact with the device normally.
  3. Click Stop & Save - the MP4 is pulled from the device and a Save As dialog appears.

Screen Mirroring (scrcpy)

Click Launch Mirror to stream the device display in real-time via scrcpy. Requires scrcpy to be installed on your system.

Install scrcpy:
Linux: sudo apt install scrcpy
macOS: brew install scrcpy
Windows: scoop install scrcpy

Frida Server Manager

3-step workflow to set up frida-server on a connected device.

Frida Server Manager

Prerequisites

  • frida-tools on your PC - pip install frida-tools (if using pipx, verify frida --version works; the pipx entry point may need a manual fix)
  • curl and xz available on your system

1. Check Environment

Click Check Frida Version to verify frida is installed. Click Detect Device Arch to read the device CPU architecture. Both values are needed to download the correct frida-server binary.

2. Download & Deploy

Download & Decompress - downloads the matching frida-server from GitHub Releases and decompresses it. Push to Device - pushes the binary to /data/local/tmp/frida-server and sets permissions.

3. Server Control

  • Start Server - launches frida-server in the background (tries su -c first).
  • Stop Server - kills frida-server by PID.
  • Refresh Status - polls pidof frida-server to check if it's running.

Once running, use the Shell tab to interact: frida -U -f com.example.app

Intent Sender

Craft and fire Android intents via ADB for security testing.

Intents are Android's inter-component messaging system. The Intent Sender lets you construct and send arbitrary intents to a connected device - useful for testing exported components, deep link handling, and broadcast receivers. Every field maps 1:1 to an adb shell am flag, so the Raw command panel always shows the exact command being sent.

Fields

FieldFlagPurpose
Action-aThe intent action (e.g. android.intent.action.VIEW, android.intent.action.SEND). Preset dropdown covers common values.
Data URI-dA content URI, URL, or phone number the intent acts on (e.g. content://contacts/people/1).
MIME Type-tMIME hint for the data format (e.g. text/plain, image/png).
Package / Class-nExplicit target component (<pkg>/<class>). Leave both empty for implicit routing.
Flags-fRouting behavior. Each checked flag is emitted as its own -f argument; am ORs them together.
Extras--es --ei --ez --ef --elKey-value payloads. Add as many as needed, each with its own type.

Flags

Flags control how the intent is delivered. The checkboxes map to the following bit values:

FlagValueEffect
NEW_TASK0x10000000Start the activity in a new task. Required when launching an activity from a non-activity context (which is exactly what adb does).
CLEAR_TOP0x00004000If the target is already running, bring it forward and deliver the new intent to the existing instance instead of stacking a duplicate.
EXCLUDE_STOPPED0x00080000Only match components in started apps; stopped apps are excluded from resolution.
INCLUDE_STOPPED0x00020000Also match components in stopped apps - useful for waking a dormant app with a broadcast.
SINGLE_TOP0x02000000If the target is already at the top of its task, deliver onNewIntent rather than creating a new instance.
FORWARD_RESULT0x00000004Forward the current activity's pending result to the newly started activity (result chaining).

Extras

Extras carry data into the component. Pick the type that matches what the target reads:

TypeFlagExample
String--esnameapi
Int--eicount42
Boolean--ezcheck_pinfalse
Float--efratio3.14
Long--elbig999

Mismatched types (e.g. sending a String when the component reads a Boolean) are silently ignored or throw a ClassCastException on the target - matching the correct type is key.

Modes

Modeam subcommandUse case
Start Activityam startOpen a UI screen. Tests exported activities and deep links.
Start Serviceam startserviceStart a background service. Tests services with weak or missing permission checks.
Send Broadcastam broadcastFire a global or targeted broadcast. Tests receiver input validation.
Foreground Serviceam start-foreground-serviceStart a persistent service with a notification (Android 8+ requirement).

Implicit vs Explicit

Explicit - fill in Package/Class to target exactly one component (-n <pkg>/<class>). This is what you use to probe a specific exported activity, service, or receiver. If the component is not exported, Android rejects the intent.

Implicit - leave Package/Class empty and let Android resolve the intent through intent filters using Action + Data + MIME. This is how deep links and share sheets work, and it is the correct way to test URL-scheme handling.

Worked Example - Credential Leak via an Extra

Launch the exported APICreds2Activity in DIVA (an intentionally vulnerable app) and pass a Boolean extra that bypasses its PIN gate:

  1. Mode: Start Activity
  2. Package: jakhar.aseem.diva   Class: .APICreds2Activity
  3. Flags: leave NEW_TASK checked (default)
  4. + Add Extra - key check_pin, type Boolean, value false
  5. Click Start Activity
adb shell am start -n jakhar.aseem.diva/.APICreds2Activity -f 0x10000000 --ez check_pin false

The activity reads check_pin and skips its PIN check, revealing hardcoded API credentials on the device screen. If the target is already open, force-stop it first (Packages tab) - this component only reads the extra in onCreate.

Tip: Use the Raw command panel to verify exactly what Barrel will execute before you hit Send. A rejected intent returns a SecurityException: Permission Denial ... not exported in the output panel - that is Android enforcing the manifest, not an error in Barrel.

Settings

Configure tool paths, appearance, and behavior.

Appearance

  • Dark Mode - toggle between light and dark themes. Persisted across restarts.
  • Font Size - slider (10–22px) with preset buttons (Small–XX-Large). Scales the entire interface via the --app-font-size CSS variable.

Tool Paths (Optional)

If auto-detection fails to find a prerequisite tool, you can set its path manually. Barrel normally finds tools via PATH, common install directories (/opt/homebrew/bin, /usr/local/bin, platform-tools), and WSL interop paths. Override only when needed.

  • ADB - Android Debug Bridge executable.
  • Frida - Frida CLI executable (frida).
  • scrcpy - Screen mirroring tool.

When a path is set and saved, Barrel creates a bash wrapper script in ~/.local/bin/ so the configured binary is used by every part of the app. Click Detect to search common install locations, or type the path manually. Click Save to persist all settings to ~/.config/barrel/settings.json.

Updates

Stay up-to-date with automatic update notifications.

Updates tab

Barrel checks for new releases on every launch and displays the result in the Updates tab - green for up-to-date, pink when a new version is available with release notes and a one-click download button.

Update Channels

  • Automatic check - on launch Barrel silently fetches the latest version from GitHub Releases.
  • Manual check - click "Check for Updates" in the Updates tab at any time.
  • One-click download - detects your platform (Linux deb/rpm/AppImage, macOS dmg, Windows msi) and opens the correct installer.

Keyboard Shortcuts

Global and context-specific shortcuts.

ShortcutContextAction
Ctrl + TabGlobalNext sidebar tab
Ctrl + Shift + TabGlobalPrevious sidebar tab
Ctrl + C / Ctrl + Shift + CShellCopy selection, or SIGINT if no selection
Ctrl + V / Ctrl + Shift + VShellPaste into terminal
Ctrl + CLogcat / any textCopy selected text

Tab Shortcuts

ActionHow
Switch tabsClick any tab
Close tabClick the × button
Reorder tabsDrag and drop
Rename tabDouble-click the label

Troubleshooting

Common issues and solutions.

"No devices detected"

  • Ensure USB debugging is enabled on your Android device.
  • Run adb devices in a terminal to verify the device is listed.
  • If the device shows as "unauthorized", accept the RSA fingerprint prompt on the device.
  • Click Refresh on the Dashboard after connecting.

Shell: "Terminal not ready"

  • The first tab's shell session may still be initializing. Wait a moment and try again.
  • Check the browser/console for errors (Ctrl+Shift+I in dev mode).

Shell: Connect fails

  • Ensure a device is selected on the Dashboard.
  • Verify the device is still connected (adb devices).
  • The Connect button only works when the toolbar shows LOCAL mode.

Logcat: Shows old messages / No output

  • Old messages are normal - adb logcat dumps the kernel buffer first. Click Stop, Clear, then Start to begin fresh.
  • Ensure a device is selected and click Start (does not auto-start).
  • Verify adb logcat works from a terminal.

File Explorer: Permission denied

  • System directories require root - Barrel auto-attempts su fallback.
  • Unrooted devices may not access directories like /data/data.

macOS: "Barrel cannot be opened because the developer cannot be verified"

  • This is expected - Barrel is not notarized by Apple. Use one of these workarounds:
  • Right-click Barrel.app in Applications → Open → click Open in the dialog (one-time).
  • Or run: xattr -d com.apple.quarantine /Applications/Barrel.app

Windows: SmartScreen / Windows Defender warning

  • This is expected - Barrel is not code-signed with a Microsoft certificate.
  • Click More info then Run anyway to launch the installer or app.
  • You can verify the download authenticity using the signature verification steps.

App freezes on splash screen (logo visible, nothing happens)

  • Run frida --version in a terminal. If it hangs, you have a broken frida binary. Barrel checks tool versions on startup - a hanging binary blocks the whole app. Remove or fix the broken frida in your PATH.
  • Certain GPU/driver combinations can cause WebKit's hardware compositing to hang. Launch with software rendering:
WEBKIT_DISABLE_COMPOSITING_MODE=1 ./Barrel_0.1.7_amd64.AppImage

# Or for the installed version:
WEBKIT_DISABLE_COMPOSITING_MODE=1 barrel
  • To make this permanent, add to your ~/.bashrc:
alias barrel='WEBKIT_DISABLE_COMPOSITING_MODE=1 barrel'

FAQ

Does Barrel require root? +
Most tools work without root (logcat, shell, screen capture, package manager). File explorer and Frida server deploy benefit from root for protected directories like /data/data, but Barrel falls back gracefully when root isn't available.
Can I use Barrel on Windows without installing anything extra? +
You need ADB. Download Android Platform Tools and make sure adb.exe is in your PATH. Everything else is optional - Frida, scrcpy, curl, and xz are detected automatically if installed.
Wireless ADB keeps disconnecting +
Wireless ADB is less stable than USB. Make sure both devices are on the same network, disable power saving on your PC's Wi-Fi adapter, and keep the ADB port (usually 5555) open. For long sessions, use USB.
Frida server downloads but won't start +
Run frida --version in a terminal. If it hangs, your frida binary is broken (common with pipx). Replace it with a standalone Python script or reinstall with pip install --force-reinstall frida-tools.
Can I target multiple devices at the same time? +
Yes. Each tool tab has its own device dropdown. You can browse files on device A while monitoring logcat on device B.
Does Barrel send any telemetry or phone home? +
No. Everything runs locally - no cloud, no analytics, no tracking. The only network requests are update checks (GitHub API) and the tools you run yourself (ADB, curl, scrcpy).

Testimonials

Used by penetration testers and security researchers who need a fast, focused Android toolkit.

"I was jumping between three different tools to do what Barrel does in one window. Logcat with highlight rules alone saves me an hour a week."

- Mobile security researcher, red team operator

"The Frida integration is what sold me. No more manually downloading frida-server, pushing it, and remembering to chmod. One click and it's running."

- Pentester, freelance Android security auditor

"I keep a USB hub with 4 test devices on my desk. Barrel's per-tab device selector means I can run logcat on all of them without fighting with ADB serials."

- Android app security reviewer, financial sector

Licensing

Barrel is free to use. Paid licenses are coming for advanced features.

Free

$0

  • All current tools - logcat, shell, files, packages, screen, Frida, network, processes, intent sender
  • Multi-device support
  • Session save/load
  • In-app updates

Pro

Coming

  • Remote device access
  • Advanced traffic analysis
  • Plugin system
  • Priority support