No Description

Willy-JL b67301bf00 Add 'cli_bridge/' from commit 'aa42c1af8b481d6c551461c01b0966826b9be81a' 2 years ago
.modules 28d1a505aa Icon tweaks 2 years ago
apple_ble_spam f1d73125f6 Add apps by Xtreme team 2 years ago
cli_bridge b67301bf00 Add 'cli_bridge/' from commit 'aa42c1af8b481d6c551461c01b0966826b9be81a' 2 years ago
esp_flasher a0c9700a65 Switch to subtrees 2 years ago
multi_fuzzer a0c9700a65 Switch to subtrees 2 years ago
nfc_maker f1d73125f6 Add apps by Xtreme team 2 years ago
sentry_safe a0c9700a65 Switch to subtrees 2 years ago
subghz_bruteforcer a0c9700a65 Switch to subtrees 2 years ago
wifisniffer f1d73125f6 Add apps by Xtreme team 2 years ago
.gitconfig aab170e4e4 Add bulk-update-subtree 2 years ago
.gitignore dfd15232a3 Add .gitignore 2 years ago
.gitmodules 3e95ffa0fe Port submodule 2 years ago
README.md 45dfa5bf90 Add note on symlinks 2 years ago
application.fam 39a48d88e5 Add metapackage manifest 2 years ago
avr_isp 0245660866 Rename good-faps module and branch 2 years ago
dap_link 0245660866 Rename good-faps module and branch 2 years ago
hid_app 0245660866 Rename good-faps module and branch 2 years ago
mass_storage 0245660866 Rename good-faps module and branch 2 years ago
mayhem_camera 8dde56b0c7 Add mayhem apps 2 years ago
mayhem_marauder 8dde56b0c7 Add mayhem apps 2 years ago
mayhem_morseflash 8dde56b0c7 Add mayhem apps 2 years ago
mayhem_motion 8dde56b0c7 Add mayhem apps 2 years ago
mayhem_nannycam 8dde56b0c7 Add mayhem apps 2 years ago
mayhem_qrcode 8dde56b0c7 Add mayhem apps 2 years ago
mfkey32 0245660866 Rename good-faps module and branch 2 years ago
music_player 0245660866 Rename good-faps module and branch 2 years ago
nfc_magic 0245660866 Rename good-faps module and branch 2 years ago
nfc_rfid_detector 0245660866 Rename good-faps module and branch 2 years ago
picopass 0245660866 Rename good-faps module and branch 2 years ago
spi_mem_manager 0245660866 Rename good-faps module and branch 2 years ago
totp 65631f3951 Link totp 2 years ago

README.md

Xtreme-Apps

Bundle of external apps tweaked for Xtreme

Why?

Apps we use for Xtreme are all modified (some lots more than others). This includes:

  • Removing duplicate icons that are part of firmware to support our Asset Packs system
  • Removing duplicate keyboard implementations to use our extended system keyboard
  • With our system keyboard also support our CLI command input keyboard to type with PC keyboard
  • Moving location of save files or changing how they are saved
  • Changing application display names to fit our scheme
  • Changing how some menus work/look or adding new exclusive menus and features
  • Improving or extending functionality and better integrating with Xtreme firmware
  • Updating and fixing apps that were abandoned by the original developers

How?

Apps made by the Xtreme team are kept as plain code here. For all others we use git subtrees to pull updates from elsewhere but also keep our own tweaks. We didn't want to have fork repos for each single app since it would get out of hand very quick. Instead, we opted for subtrees.

Subtrees work in a very peculiar way, where they pull and compare commit history from a remote repo and apply it to a subdirectory of this repo. That's why the commit history for our repo is so huge, it contains all the commits for all the apps, plus our edits.

To make updating more manageable, we have added another layer on top of subtrees:

  • each remote app/repo has a .gitremote file that indicates the remote url and branch name
  • we have a git alias update-subtree for pulling updates based on the current directory (set it up by running git config --local include.path ../.gitconfig)
  • run git update-subtree in each subtree folder to update it
  • or run find . -name .gitremote -execdir git update-subtree \; to run it on all subtrees

Also, some repos dont have the code in their top-level folders, so for those we have symlinks from our root folder to the approriate place in .modules/.