Skip to content

blankdotdev/sidestep

Repository files navigation

Sidestep - Redirect to Alternative Frontends

Privacy-focused Android app that intercepts social media URLs and redirects them to privacy-friendly alternative frontends while removing tracking parameters. No apps or accounts needed to access the content shared with you.

Get it on Obtainium

Features

Smart URL Cleaning

Automatically removes tracking parameters from all URLs:

  • UTM parameters (utm_source, utm_medium, etc.)
  • Platform-specific trackers (Twitter s/t, YouTube si, Instagram igsh)
  • E-commerce tracking (Amazon, affiliate links)
  • Analytics parameters

Automation

Granular control over how URLs are processed:

  • Unshorten URLs: Automatically resolves shortened links (bit.ly, t.co, etc.)
  • Remove Tracking: Strip analytics and tracking parameters
  • Immediate Navigation: Automatically open the processed URL in your browser

Privacy-Focused Redirects

Alternative frontends create a less cluttered web experience; bypassing closed ecosystems and promoting a more open internet. Sidestep supports several major platforms with configurable alternative frontends:

Platform Alternative Frontends
Twitter/X Nitter
Reddit Redlib
YouTube Invidious, Piped
Google Maps OpenStreetMap
IMDb LibreMDB
Medium Scribe
Wikipedia Wikiless
Goodreads BiblioReads
Genius Dumb, Intellectual
Tumblr Priviblur
UrbanDictionary RuralDictionary
Imgur Rimgo
GitHub GotHub
StackOverflow AnonymousOverflow

Flexible Configuration

  • Clean Only Mode: Remove tracking without redirecting
  • Clean & Sidestep Mode: Remove tracking AND redirect to alternative frontend
  • Custom Redirects: Add your own domain mappings
  • Instance Picker: Fetch live, healthy instances sorted by uptime

History & Previews

  • Track processed links with rich metadata
  • Privacy-respecting previews fetched via DuckDuckGo (optional)
  • Configurable retention policies (by days or item count)
  • Never/Forever/Auto retention modes

Privacy First

  • No Data Collection: Zero analytics, zero tracking
  • Local Processing: All URL cleaning happens on-device
  • Proxy Previews: Metadata fetched via DuckDuckGo to avoid direct connections to source platforms (optional, disabled when history is off)

Installation

From Source

git clone https://github.com/yourusername/sidestep.git
cd sidestep
./gradlew assembleRelease

The APK will be in app/build/outputs/apk/release/

Requirements

  • Android 7.0 (API 24) or higher
  • Android Studio (for development)

Usage

Quick Start

  1. Install Sidestep
  2. Share a social media link to Sidestep, or open a supported link
  3. Sidestep will clean and optionally redirect the URL
  4. Your default browser opens the cleaned/redirected link

Setting as Default Handler

  1. Open Sidestep → Settings
  2. Tap Set as Default
  3. Select Open in app for supported domains
  4. Supported links will now automatically route through Sidestep

Configuration

Navigate to Settings to:

  • Toggle between "Clean only" and "Clean & Sidestep" for each platform
  • Pick healthy alternative instances
  • Configure custom domain redirects
  • Adjust history retention policies
  • Change app theme (Light/Dark/System)

Architecture

┌─────────────────┐
│   MainActivity  │  Main UI, URL input, history display
└────────┬────────┘
         │
    ┌────┴────────────────────────────┐
    │                                 │
┌───▼──────────┐              ┌──────▼─────────┐
│  UrlCleaner  │              │ UrlUnshortener │
│              │              │                │
│ • Remove     │              │ • Resolve      │
│   tracking   │              │   shortened    │
│ • Normalize  │              │   URLs         │
└──────────────┘              └────────────────┘
         │
    ┌────┴────────────────────────────┐
    │                                 │
┌───▼────────────────┐     ┌──────────▼──────────────┐
│ HistoryManager     │     │ PreviewFetcher          │
│                    │     │                         │
│ • Store entries    │     │ • Fetch metadata via    │
│ • Apply retention  │     │   DuckDuckGo            │
└────────────────────┘     └─────────────────────────┘
         │
┌────────▼──────────────────────┐
│ AlternativeInstancesFetcher   │
│                               │
│ • Fetch healthy instances     │
│ • Provide fallback domains    │
└───────────────────────────────┘

Privacy

Sidestep is designed with privacy as the core principle:

  • No Network Permissions for Tracking: Only network access is for fetching alternative instances and URL resolution
  • No Analytics: No Firebase, no crash reporting, no telemetry
  • Local Storage Only: All history stored locally in SharedPreferences
  • Optional Metadata Fetching: URL previews are fetched via DuckDuckGo search only when history is enabled. Set history retention to "Never" in settings to disable all metadata fetching and operate in pure URL-cleaning mode with zero external requests.
  • Open Source: Fully auditable code

Verification

To ensure your Sidestep build is genuine and hasn't been tampered with, you can verify it using AppVerifier.

Package Name: com.blankdev.sidestep SHA-256 Hash: D5:69:98:17:CC:CE:5F:F6:0B:8C:4B:1A:FA:A7:E8:A8:61:E3:A6:EA:C0:BF:40:C6:FC:EA:21:0E:FC:57:40:56

How to Verify

  1. Copy the SHA-256 hash above.
  2. In AppVerifier, select Verify from clipboard.
  3. Choose the installed Sidestep app or the APK file.
  4. AppVerifier will confirm if the hashes match.

Acknowledgments

Sidestep is built upon the work of many privacy-focused developers:

Shoutouts to:

License

This project is GNU AGPLv3 licensed - see LICENSE file for details.

About

Android app that intercepts social media URLs and redirects them to alternative frontends

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published