Skip to content

danielfn/yarrand

Repository files navigation

Yarrand

A lightweight Android client for Yarr - the self-hosted RSS feed reader.

🎯 Motivation

Yarr is an excellent, minimalist RSS feed reader perfect for self-hosting. However, its web interface doesn't properly handle browser history, which creates UX issues on mobile devices e.g.pressing the back button closes the app instead of navigating within the interface.

Yarrand solves this by providing a native Android wrapper that:

  • Properly handles the back button for in-app navigation
  • Provides a fullscreen experience without browser UI
  • Convenience buttons for refreshing feeds and back to home
  • Persists user sessions across app restarts
  • Lightweight and simple, no bloat

📱 Screenshots

Feeds Settings

🔧 Requirements

  • Android 8.0 (API 26) or higher
  • A running Yarr server (self-hosted or accessible over network)

🚀 Installation

From Releases

This APK is not available in the Google Play Store, so fetch the latest release APK from the Releases page. Still, you can build it from source as described below.

From Source

  1. Clone this repository:

    git clone https://github.com/danielfn/yarrand.git
    cd yarrand
  2. Build using Gradle (or the included Makefile for convenience):

    # Preferred: use Makefile for build and install
    make release-rename  # Builds signed release and renames APK
    make install-release # Installs on connected device
    
    # Or directly with Gradle
    ./gradlew assembleRelease
    adb install app/build/outputs/apk/release/app-release.apk

First Run

  1. Open Yarrand
  2. You'll be prompted to configure your server URL
  3. Enter your Yarr server URL (e.g., https://feeds.example.com or http://192.168.1.100:7070)
  4. Configure additional settings as needed:
    • Keep me logged in: Persist authentication cookies across app restarts
    • Allow self-signed certificates: Enable for localhost or trusted dev servers (disabled by default)
    • External link handling: Choose how external links are handled
  5. Tap "Save Settings"
  6. Enjoy your feeds!

🛠️ Development

Prerequisites

  • JDK 17 or higher
  • Android SDK with API 34

Or use mise for tool management:

mise install

Building

The project includes a Makefile for convenient build and install commands. It reads the version from app/build.gradle.kts and handles APK renaming.

# Debug build and rename
make debug-rename

# Release build (signed) and rename
make release-rename

# Install on connected device
make install-debug
make install-release

# Run tests
./gradlew test

# Clean build artifacts
make clean

For detailed build instructions, see docs/building.md.

🤖 AI-usage disclosure

This application was mostly developed with the assistance of LLMs (Large Language Models).

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Yarr - The excellent RSS reader this app wraps
  • Material Design Components for Android

� Documentation

About

Lightweight Android client for Yarr (RSS Reader).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published