Skip to content

Latest commit

 

History

History
341 lines (307 loc) · 17.2 KB

File metadata and controls

341 lines (307 loc) · 17.2 KB
layout default
title PitchBlack Recovery Project

PitchBlack Recovery Project

The Perfect Android Recovery for your device! PBRP provides the most advanced Open Source Android Recovery to troubleshoot your device on the GO!

About PBRP

PitchBlack Recovery Project is an Open Source organization founded on 28th March 2018 by developers from different countries with an aim to provide the world's most advanced recovery with better customization's, themes and features.

Advanced Toolbox

PBRP provides 10+ tools that come in handy when working with your device, including Magisk Manager integration.

Wide Device Support

Supports a wide range of devices with Treble, ARB Support, Force Encryption and much more.

Theme Support

Customize PBRP according to your needs using PBRP Theme Engine™.

Material Design UI

Best in class material design interface for the latest Android experience.

Latest TWRP Base

Based on TWRP 3.7.1 with support for both modern and legacy devices.

Multi-Language

Official support for 10+ languages that are updated and improved regularly!

Installation Requirements

<div class="bg-black border border-white/10 rounded-xl p-8">
  <ul class="space-y-4">
    <li class="flex items-center gap-4 text-gray-300">
      <i class="fas fa-unlock-alt text-pbrp-red text-xl w-6 text-center"></i>
      <span>Unlocked bootloader (device-specific process)</span>
    </li>
    <li class="flex items-center gap-4 text-gray-300">
      <i class="fas fa-bug text-pbrp-red text-xl w-6 text-center"></i>
      <span>USB debugging enabled</span>
    </li>
    <li class="flex items-center gap-4 text-gray-300">
      <i class="fas fa-terminal text-pbrp-red text-xl w-6 text-center"></i>
      <span>ADB and Fastboot tools installed on your computer</span>
    </li>
    <li class="flex items-center gap-4 text-gray-300">
      <i class="fas fa-usb text-pbrp-red text-xl w-6 text-center"></i>
      <span>Proper USB drivers for your device</span>
    </li>
    <li class="flex items-center gap-4 text-gray-300">
      <i class="fas fa-save text-pbrp-red text-xl w-6 text-center"></i>
      <span>A complete backup of your important data</span>
    </li>
  </ul>
  
  <div class="mt-8 bg-orange-900/20 border-l-4 border-orange-500 p-4 rounded-r-lg">
    <p class="text-orange-200 text-sm">
      <strong>Warning:</strong> Installing a custom recovery may void your warranty. Always follow device-specific guides.
    </p>
  </div>
</div>

Supported Devices

<!-- Search -->
<div class="relative max-w-xl mx-auto mt-8">
  <i class="fas fa-search absolute left-4 top-1/2 -translate-y-1/2 text-gray-500"></i>
  <input type="text" id="device-search" onkeyup="filterDevices()" 
    class="w-full bg-zinc-900 text-white pl-12 pr-4 py-4 rounded-xl border border-white/10 focus:outline-none focus:border-pbrp-red transition-colors" 
    placeholder="Search devices (e.g. 'alioth' or 'OnePlus')...">
</div>
{% assign oem_groups = site.oem | group_by:"oem" %} {% for group in oem_groups %}
{{ group.name }} {{ group.items.size }}
  <div class="device-list hidden bg-black/50 p-2 border-t border-white/10 grid grid-cols-1 md:grid-cols-2 gap-2">
    {% for device in group.items %}
    <a href="{{ device.url | relative_url }}" 
       class="device-item flex items-center justify-between p-3 rounded hover:bg-white/10 transition-colors"
       data-title="{{ device.title | downcase }}" 
       data-codename="{{ device.codename | downcase }}">
       <div>
         <div class="text-white font-medium">{{ device.title }}</div>
         <div class="text-xs text-gray-500 font-mono">{{ device.codename }}</div>
       </div>
       <i class="fas fa-chevron-right text-gray-600 text-sm"></i>
    </a>
    {% endfor %}
  </div>
</div>
{% endfor %}
No devices found.

Join Our Community

Join our active Telegram community for support and updates

Contribute to development and report issues

Support PBRP

YOUR DONATION MATTERS A LOT TO US!

We are a group of people giving our valuable time to this self-less service only for YOU. We need your Support to keep PBRP alive!

<div class="flex flex-col sm:flex-row justify-center gap-4">
  <a href="https://www.patreon.com/pitchblackrecovery" target="_blank" class="px-6 py-3 rounded-full bg-[#f96854] text-white font-bold hover:bg-[#da5a48] transition-colors">
    <i class="fab fa-patreon mr-2"></i> Patreon
  </a>
  <a href="https://opencollective.com/pitchblackrecovery" target="_blank" class="px-6 py-3 rounded-full bg-white/10 border border-white/20 text-white font-bold hover:bg-white/20 transition-colors">
    <i class="fas fa-hand-holding-heart mr-2"></i> Open Collective
  </a>
</div>

FAQ

<div class="space-y-4">
  <!-- FAQ Item 1 -->
  <div class="faq-item border border-white/10 rounded-xl bg-black overflow-hidden">
    <button class="faq-question w-full text-left px-6 py-4 font-bold text-white flex justify-between items-center hover:bg-white/5 transition-colors" onclick="toggleFaq(this)">
      What is PBRP?
      <i class="fas fa-plus text-pbrp-red transition-transform duration-300"></i>
    </button>
    <div class="faq-answer hidden px-6 py-4 text-gray-400 border-t border-white/5 text-sm leading-relaxed">
      PitchBlack Recovery Project is a feature-rich custom recovery, based on TWRP 3.7.1, designed to offer a unique black-themed interface and improved functionality. It provides tools for backup, restore, and system modification operations.
    </div>
  </div>

  <!-- FAQ Item 2 -->
  <div class="faq-item border border-white/10 rounded-xl bg-black overflow-hidden">
    <button class="faq-question w-full text-left px-6 py-4 font-bold text-white flex justify-between items-center hover:bg-white/5 transition-colors" onclick="toggleFaq(this)">
      How do I install PBRP?
      <i class="fas fa-plus text-pbrp-red transition-transform duration-300"></i>
    </button>
    <div class="faq-answer hidden px-6 py-4 text-gray-400 border-t border-white/5 text-sm leading-relaxed">
      Installation methods vary by device. Common methods include fastboot, Odin (Samsung devices), or SP Flash Tool (MediaTek devices). Always follow the device-specific installation guide available on your device's download page.
    </div>
  </div>

  <!-- FAQ Item 3 -->
  <div class="faq-item border border-white/10 rounded-xl bg-black overflow-hidden">
    <button class="faq-question w-full text-left px-6 py-4 font-bold text-white flex justify-between items-center hover:bg-white/5 transition-colors" onclick="toggleFaq(this)">
      Is PBRP safe?
      <i class="fas fa-plus text-pbrp-red transition-transform duration-300"></i>
    </button>
    <div class="faq-answer hidden px-6 py-4 text-gray-400 border-t border-white/5 text-sm leading-relaxed">
      Yes, PBRP is safe when used correctly. We recommend always creating a backup before making system modifications. Follow installation instructions carefully and verify your device is supported.
    </div>
  </div>

  <!-- FAQ Item 4 -->
  <div class="faq-item border border-white/10 rounded-xl bg-black overflow-hidden">
    <button class="faq-question w-full text-left px-6 py-4 font-bold text-white flex justify-between items-center hover:bg-white/5 transition-colors" onclick="toggleFaq(this)">
      What makes PBRP different from TWRP?
      <i class="fas fa-plus text-pbrp-red transition-transform duration-300"></i>
    </button>
    <div class="faq-answer hidden px-6 py-4 text-gray-400 border-t border-white/5 text-sm leading-relaxed">
      While based on TWRP 3.7.1, PBRP offers a distinctive dark theme, enhanced UI elements, and additional features. We focus on regular updates, device-specific optimizations, and user-friendly interface improvements.
    </div>
  </div>

  <!-- FAQ Item 5 -->
  <div class="faq-item border border-white/10 rounded-xl bg-black overflow-hidden">
    <button class="faq-question w-full text-left px-6 py-4 font-bold text-white flex justify-between items-center hover:bg-white/5 transition-colors" onclick="toggleFaq(this)">
      Can I contribute to PBRP?
      <i class="fas fa-plus text-pbrp-red transition-transform duration-300"></i>
    </button>
    <div class="faq-answer hidden px-6 py-4 text-gray-400 border-t border-white/5 text-sm leading-relaxed">
      Yes! You can contribute by maintaining devices, reporting bugs, or improving our code. Visit our GitHub repository to get started. We welcome contributions from developers around the world.
    </div>
  </div>
</div>
<script> // FAQ Toggle Logic function toggleFaq(btn) { const answer = btn.nextElementSibling; const icon = btn.querySelector('.fa-plus'); if (answer.classList.contains('hidden')) { answer.classList.remove('hidden'); icon.style.transform = 'rotate(45deg)'; } else { answer.classList.add('hidden'); icon.style.transform = 'rotate(0deg)'; } } // Device Toggle Logic function toggleOem(btn) { const list = btn.nextElementSibling; const icon = btn.querySelector('.fa-chevron-down'); if (list.classList.contains('hidden')) { list.classList.remove('hidden'); list.classList.add('grid'); icon.style.transform = 'rotate(180deg)'; } else { list.classList.add('hidden'); list.classList.remove('grid'); icon.style.transform = 'rotate(0deg)'; } } // Device Filter Logic function filterDevices() { const query = document.getElementById('device-search').value.toLowerCase(); const sections = document.querySelectorAll('.oem-section'); let totalVisible = 0; sections.forEach(section => { const items = section.querySelectorAll('.device-item'); let hasMatch = false; let sectionTitle = section.querySelector('.oem-toggle span').innerText.toLowerCase(); // Check if section title matches (e.g. searching "Xiaomi") const titleMatch = sectionTitle.includes(query); items.forEach(item => { const title = item.dataset.title; const code = item.dataset.codename; if (title.includes(query) || code.includes(query) || titleMatch) { item.classList.remove('hidden'); item.classList.add('flex'); hasMatch = true; totalVisible++; } else { item.classList.add('hidden'); item.classList.remove('flex'); } }); if (hasMatch) { section.classList.remove('hidden'); // Auto expand if searching if (query.length > 0) { const list = section.querySelector('.device-list'); const icon = section.querySelector('.fa-chevron-down'); list.classList.remove('hidden'); list.classList.add('grid'); icon.style.transform = 'rotate(180deg)'; } } else { section.classList.add('hidden'); } }); const noRes = document.getElementById('no-results'); if (totalVisible === 0) noRes.classList.remove('hidden'); else noRes.classList.add('hidden'); } </script>