A powerful, keyboard-driven terminal app for browsing, managing, and installing Xbox 360 mods directly from your console.
Some data powered by Arisen Studio — the largest open Xbox 360 mod database.
Building tools like this takes real time. If x360tm helped you mod your console, find a trainer, or restore a save — please consider buying me a coffee. Every contribution, no matter how small, goes directly into keeping projects like this alive and growing. You'll also have my eternal gratitude. 🙏
Note - some screenshots may not be up-to-date with all of the functionality in the latest builds, as its being developed at a fairly rapid pace I will just leave the old screenshots in for now until the next full stable build.
The main menu shows your FTP connection status, live database counts (583 trainers, 70 mods, 55 homebrew, 133 patches, etc.), and quick-access buttons for every category. My Library is pinned at the top in green. The two orange buttons — Transfer Games and ISO → GOD — give you direct access to the local game management tools.
After scanning your console via FTP, My Library lists all 27 detected games by name and Title ID. Select any game and use the right-hand panel to jump straight into its Trainers, Saves, Mods, Cheats, or Patches.
Browsing trainers with the library filter applied — only trainers for your installed games are shown. Here GTA V (545408A7) has both an Aurora trainer and an XBDM TrainerLoader. The detail pane shows the full install path using {AURORAPATH} substitution.
Combining both filters: Source: Local restricts the list to trainers sourced from the LocalTrainers/ repo folder, while Library ✓ narrows results to only games present in your scanned library. Each row shows the [A] (Aurora) tag and [L] (local file) suffix. The detail pane confirms Source: Local, the Aurora install path, and the full path to the local .xex file on disk.
The full trainers browser — 583 trainers across hundreds of games. Search by game name, Title ID, or trainer name. The [A] prefix indicates Aurora-compatible trainers; [X] indicates XBDM. The Library button in the top-right toggles the library filter.
70 game mods browsable with name, game, version, author, mod type, and region. The detail pane shows description, credits, files list, and the install path. Library filter available.
55 homebrew apps across categories: Utilities (XDRPC, JRPC2, XBDM, FakeAnim, GOD Unlocker…), Dashboards (Aurora, FSD, XeXDash…), and Emulators (Amiga360, DosBox, SNES360, Mupen64…). Each entry shows its install path.
Pre-made save files for Xbox 360 games — max money, 100% completion, all items unlocked. Region and version shown. Installs directly to your console's save folder via FTP.
Memory offset cheats for supported games. Shows game, cheat name, region, version, and raw memory offsets. Useful for JTAG/RGH users who apply cheats via memory patching tools.
133 title update patches across games including Skyrim, Resident Evil series, GTA V, Mirror's Edge, and more. Source .patch.toml files listed with Title ID for accurate matching.
The Transfer Games screen lists all locally-stored GOD format games found in your configured GOD path — 35 games shown here. Selecting Alan Wake reveals its Title ID (4D530805), content type folder (00007000), container file, the number of files to transfer (43), total size (6.67 GB), local path, and the install destination on the console. Hit Transfer (or I) to push the game over FTP or to a mounted USB drive.
The torrent file browser — here a "Microsoft - Xbox 360 (Digital)" torrent is expanded showing 14,375 files (1.19 TB total). Individual files or entire folders can be toggled with Space; [x]/[~]/[ ] checkboxes show full / partial / none selection. Press D to hand the selection to qBittorrent via its Web API — only the chosen files are downloaded.
The ISO → GOD converter scans your local ISO folder and lists all Xbox 360 disc images. Here Dead Space (Europe) and Minecraft are detected at 7.30 GB each. The detail pane shows the full ISO path, the output GOD folder, and the binary status (Ready (v1.8.1)). The iso2god binary (v1.8.1, powered by iso2god-rs) is downloaded automatically on first use — just click "Get Binary". Hit Convert to GOD (or C) to start the conversion with a live progress bar.
The FTP File Browser navigated to /Usb1/Games — a full listing of installed game folders with timestamps. From here you can browse any drive, rename or delete files and directories in-place, and verify exactly what's installed on your console.
FTP File Browser connected to 192.168.1.187:21, showing the root filesystem (Game, Hdd1, HddX, SysExt, System, Usb0, Usb1). Keyboard shortcut bar at the bottom: esc Back, ↑ Up, r Rename, d Delete, f5 Refresh, q Quit.
Settings page showing the connection profile (My Xbox 360 — 192.168.1.187:21), live FTP status (Connected — green), Test Connection / Reconnect / Disconnect buttons, download directory, cache age, and Aurora folder path configuration.
Lower settings: game library paths (Usb1\Games), scan depth (4), and the Save button. All settings persist to JSON in the user config directory.
The Updates section at the bottom of Settings — Auto-Update toggle, Update Channel selector (Latest stable / Pre-release), and the Check for Updates button with a live status line below it.
The Title Updates screen listing STFS packages found in LocalTitleUpdates/, with game name, TitleID, and version parsed directly from the binary header. The detail pane shows the selected package's metadata and install options.
New Game Processing at the Select stage — the 6-stage pipeline tabs (Extract, Scan, Select, Convert, Tidy, Transfer) are shown at the top, with completed stages highlighted green. The game table lists all detected ISOs with their type and current status. "Found 3 game(s): 3 ISO, 0 already GOD" — select them and click Proceed to continue.
The Utilities hub screen — "Game Directory Tidy-up" and "USB Backup / Restore" buttons. Accessible from the main menu via the Utilities button.
Game Directory Tidy-up after analysis — a 35-game table showing Title ID, match type (CSV exact, Fuzzy %, Dir inferred), current folder structure, and planned rename action. Status bar: "35 game(s) found | 8 to move | 27 already correct | 0 skipped | Format: Name/TitleID". Click Apply Changes to perform the renames over FTP using RNFR/RNTO.
Create USB Backup screen — the auto-detected device table shows /dev/sdc (BADUPDATE, 7.2 GiB, vfat, ★auto-detected). The live scrolling log tracks partclone + zstd progress from 0% to 100%; on completion the output filename and compressed size are shown (usb_backup_BADUPDATE_2026-05-01_124625.pcl.zst — 0.14 GiB compressed). Accessed via Utilities → USB Backup / Restore → Create Backup.
USB Backup Restore screen — two side-by-side tables: saved backups (with timestamps and compressed sizes) and available target devices. A capacity check warns when the target drive matches or exceeds the source. Click Restore to decompress and write the image back to the USB drive with a live progress log.
The Create BadAvatar USB screen — device selection table with a connected USB drive listed. The Aurora auto-boot toggle sits above the Build button. The scrolling log fills in real time as each stage completes.
BadAvatar USB build complete — "✓ BadAvatar USB created successfully!" summary panel showing what was installed: ABadAvatar v1.1 + XeUnshackle 1.03, Aurora 0.7b.2 (auto-boot enabled). Instructions prompt you to plug the drive into Xbox Usb0 and power on.
x360tm is a full-featured terminal UI for Xbox 360 modding. Instead of hunting through websites or manually FTP-ing files, you get a fast, searchable, keyboard-driven interface that connects directly to your console and installs everything for you.
It pulls live data from the Arisen Studio public database — thousands of mods, trainers, game saves, cheats, and patches — all browsable and installable in seconds.
- Game Mods — browse and install gameplay modifications
- Homebrew — custom apps and tools for your console
- Trainers — Aurora-compatible and XBDM cheat trainers
- Game Saves — pre-made saves (Xbox 360 only, PS3/PS4 filtered out)
- Game Cheats — memory offsets and cheat codes
- Game Patches — title update patches with full patch entry details
- Real-time debounced search across all categories
- Two-pane layout: list + detail panel side by side
- Configure your Xbox game folder paths (e.g.
Usb1\Games) and a scan depth - Scans your console via FTP and auto-discovers all installed Title ID folders
- 3,079 game titles resolved from a bundled CSV — no internet lookup needed for names
- Select any game and instantly browse its Trainers, Saves, Mods, Cheats, or Patches
- Library filter toggle (
L) in every browser screen — shows only content for your installed games
- Direct install to your Xbox 360 over the network
- Full Xbox drive prefix mapping:
Hdd:→/Hdd1/,Usb0:→/Usb0/,Usb1:→/Usb1/, etc. - Automatic directory creation (MKD, Aurora FTP compatible — no MLST/MLSD)
{AURORAPATH}placeholder substituted with your configured Aurora folder path- Live progress bar during transfer
- Configurable Aurora folder path (e.g.
Usb0:\Apps\Aurora\)
- Install directly to a connected USB drive
- Auto-detect or manually specify USB mount path
- Drive prefix stripped automatically
- Browse locally-stored GOD (Games on Demand) format games from a configured local folder
- View per-game details: Title ID, content type, container file, file count, and total size
- Transfer to your Xbox 360 via FTP or directly to a mounted USB drive
- Searches by game name or Title ID
- Install destination configurable (default:
Hdd:\Content\0000000000000000\)
- Scan a local folder for Xbox 360 ISO disc images and list them with name and size
- Convert ISOs to GOD format using the iso2god-rs binary (v1.8.1)
- Binary is downloaded automatically on first use — no manual setup required
- Live progress bar showing current part, total parts, and detected Title ID / game name
- Output goes directly to your configured Local GOD Path, ready to transfer via Transfer Games
- End-to-end workflow for getting freshly downloaded games onto your console
- Stage 0: Extract — scans your Torrent download folder for archives (
zip,7z,rar); pick which to unpack; extracted using 7-Zip - Stage 1: Scan — finds ISO disc images and GOD containers in the download folder
- Stage 2: Select — choose which discovered games to include in this batch
- Stage 3: Convert — ISO images are converted to GOD format (skipped automatically if the game is already in GOD format)
- Stage 4: Tidy — applies your chosen local folder naming format (
Name/TitleID,TitleID, etc.) - Stage 5: Transfer — sends all processed games to your console via FTP or to a mounted USB drive
- Resolves game names from the bundled 4,047-title CSV for the tidy and display steps
- Navigate your Xbox 360's entire filesystem directly from the TUI
- Full directory listing using Aurora-compatible
LISTcommands (no MLSD/MLST required) - Rename and delete files or directories in-place
- Keyboard shortcuts:
Backspace/Uto go up,Rto refresh,Nto rename,Delto delete - Useful for inspecting installed content, tidying up folders, or verifying installs
- Scan your
LocalTitleUpdates/folder for Xbox 360 title update packages - Reads STFS binary headers (CON/LIVE/PIRS magic) to extract TitleID, display name, and version number directly from the package file — no metadata files needed
- Displays a searchable list with game name (resolved from the bundled CSV), TitleID, and version
- Select a package and choose to install it via FTP (direct to console) or copy it to a mounted USB drive
- Supports both flat file layout and
{TitleID} - {GameName}/subfolder structure underLocalTitleUpdates/
- Accessible via the Utilities button on the main menu
- Scans your configured game install path over FTP and analyses the folder structure of every game
- Looks up friendly game names from the bundled 4,047-title CSV (no internet needed)
- Fuzzy-matches folder names for games stored without a Title ID subfolder (e.g. after manual copies) using
difflibwith a 55% confidence threshold - Detects the current structure of each game (bare TitleID, Name/TitleID, other) and classifies each entry as:
CSV(exact match),Fuzzy XX%(fuzzy match),Dir(inferred from directory structure), orUnknown(skipped) - Choose your preferred target format from four options:
TitleID— e.g.545408A7/Name/TitleID(default) — e.g.GTA V/545408A7/Name - TitleID— e.g.GTA V - 545408A7/TitleID - Name— e.g.545408A7 - GTA V/
- Preview table shows every game's planned action before anything is changed
- Switch format at any time — the plan rebuilds instantly without re-scanning
- Confirmation modal summarises exactly how many folders will move, are already correct, or will be skipped
- Applies changes over FTP using
RNFR/RNTO(rename) — no files are copied or deleted - Cleans up empty parent folders after moves
- Block-level backup and restore of Xbox 360 USB drives using partclone + zstd compression
- Accessible via the Utilities button on the main menu
- Create Backup — select a removable device, image the used blocks with partclone, compress in real time with zstd; a metadata JSON is saved alongside the
.img.zstarchive - Restore Backup — browse saved backups and restore to any compatible device; a compatibility check warns if the target capacity is smaller than the original
- Live scrolling log with progress bar during both operations
- Requires
partcloneandzstd(apt install partclone zstd); sudo is prompted in-app via a password modal - All destructive actions gated behind a confirmation modal
- Builds an Xbox 360 BadAvatar exploit USB in one click — no manual steps
- Available as a dedicated Create BadAvatar USB button on the main menu (highlighted in red)
- Formats the target USB with the
BADUPDATEvolume label required by the exploit - Copies XeUnshackle 1.03 and ABadAvatar 1.1 payload files from your local
BadAvatarFiles/folder - Optional Aurora auto-boot toggle (enabled by default) — patches
launch.iniso Aurora loads automatically after the hack completes - Live scrolling log shows every stage as it runs
- Requires sudo (prompted in-app) and a populated
BadAvatarFiles/folder (not distributed — copyright restricted; obtain separately) - Platform guard enforced: Linux only — a clear unsupported panel is shown on Windows or macOS
- Drop
.torrentfiles for legally-owned Xbox 360 game backups into the bundledTorrent/folder at the repo root - The Game Torrents screen lists every
.torrentfile with name, file count, and total size - Open one and you get a navigable folder/file tree — every file in the torrent, organised exactly as it'll appear on disk
- Toggle individual files or whole folders with
Space(folder selection cascades to children);[x]/[~]/[ ]checkboxes show full / partial / none state at a glance - Press
Ato select all,Nto select none,Dto download - Hands the selection off to a running qBittorrent instance via its Web API: adds the torrent paused, sets every file's priority to
0(skip), then sets your selection to1(normal), then resumes — mirrors the GUI client's "select files to download" dialog exactly - Files save to your configured Torrent Download Folder (Settings); falls back to qBittorrent's own default if unset
- Powered by
torffor.torrentdecoding andqbittorrent-apifor the client wrapper
Alongside the Arisen Studio online database, x360tm supports local content folders bundled directly in the repo. These are scanned at startup and merged seamlessly with the online data — no internet required for local items.
| Folder | Content | Naming convention |
|---|---|---|
LocalTrainers/ |
Aurora .xex trainers |
{TitleID}/{TrainerFile}.xex |
LocalMods/ |
Game mods | {TitleID}/{filename} |
LocalHomebrew/ |
Homebrew apps | {AppName}/{filename} |
LocalGameSaves/ |
Pre-made save files | {TitleID}/{filename} |
The repo ships with 550+ trainers in LocalTrainers/ — one subfolder per Title ID, each containing an Aurora-compatible .xex trainer file (RETROBYTE format).
Metadata: Drop a mod.json, meta.json, or info.json file inside any content folder to provide name, author, version, and description. Without it, the folder/file name is used as a fallback.
In the UI: Local items are merged with online results in every browser. Trainers sourced from local files show a [L] suffix in the trainer list. The detail pane shows Source: Local and the full local file path instead of a download URL. Install works identically — the local file is pushed directly over FTP or USB.
Install paths used for local content:
- Trainers →
{AURORAPATH}\User\Trainers\{TitleID}\{TrainerStem}\{filename} - Mods →
Hdd:\JTAG\{TitleID}\ - Game Saves →
Hdd:\Content\0000000000000000\{TitleID}\000B0000\
Note on empty folders: Git does not track empty directories. After cloning,
LocalMods/,LocalHomebrew/, andLocalGameSaves/will not appear until files are added. The app handles missing folders gracefully — they are simply skipped. Drop your own files in and they'll be picked up on next launch.
- Connection Profiles — add, edit, delete, set default FTP connections
- FTP Test / Reconnect / Disconnect — inline connection health check with live status
- Aurora Folder Path — configurable per-user
- Game Library Paths — semicolon-separated Xbox paths for library scanning
- Library Scan Depth — how many folder levels deep to search (default: 4)
- Download Directory — where files are saved locally
- Local GOD Path — folder containing your converted GOD games (used by Transfer Games)
- Local ISO Path — folder containing your Xbox 360 ISO files (used by ISO → GOD)
- Game Install Path — destination path on console for GOD game transfers (default:
Hdd:\Content\0000000000000000\) - DB Cache — refresh from Arisen servers or clear, with age display
- Auto-Update — toggle automatic update checks on startup (silent toast notification when an update is available)
- Update Channel — choose between
Latest stableandPre-releasebuilds - Check for Updates — manual one-click update check; downloads the new release with a live progress bar; on Linux the app restarts automatically, on Windows a helper script swaps the binary
- Fully async (asyncio + aioftp + httpx) — never blocks the UI
- Smart caching of all database JSONs via platformdirs
- Graceful timeout handling for unresponsive FTP servers (Aurora's FtpDll quirks handled)
- 26 automated tests covering database, installer, downloader, and path logic
- Clean TCSS styling with dark theme
The easiest way — no Python required.
- Go to the Releases page
- Download the archive for your platform:
- Linux →
x360tm-linux.tar.gz - Windows →
x360tm-windows.zip
- Linux →
Linux — quick run (no install):
tar -xzf x360tm-linux.tar.gz
chmod +x x360tm
./x360tmLinux — install to Applications menu:
tar -xzf x360tm-linux.tar.gz
./install.shThis installs x360tm to ~/.local/bin, adds the icon, and registers it in Applications → Administration as "Xbox360 Mod Manager TUI".
Windows — quick run (no install):
Expand-Archive x360tm-windows.zip -DestinationPath x360tm
cd x360tm
.\x360tm.exeWindows — install to Start Menu:
Expand-Archive x360tm-windows.zip -DestinationPath x360tm
cd x360tm
.\install.ps1This copies x360tm.exe to %LOCALAPPDATA%\Programs\x360tm\, adds it to your user PATH, and creates a Start Menu → Administration → Xbox360 Mod Manager TUI shortcut with the icon.
Note: Windows may prompt about running an unsigned script. If so, run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce in PowerShell, then retry.
The binary is self-contained — all dependencies are bundled. No Python or venv required.
Prefer to run from the code directly, or want to contribute?
git clone https://github.com/WB2024/WBs360StudioTui
cd WBs360StudioTui
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate
pip install -r requirements.txt
python main.pypip install -r requirements-dev.txt
pytestTo build your own binary from source:
pip install pyinstaller
pyinstaller x360tm.spec --noconfirm
# Output: dist/x360tm (Linux) or dist\x360tm.exe (Windows)Builds for both platforms are also produced automatically via GitHub Actions whenever a new version tag is pushed.
| Key | Action |
|---|---|
↑ ↓ |
Navigate list |
/ |
Focus search bar |
L |
Toggle library filter (show only your games) |
I |
Install selected item / Transfer GOD game (Transfer Games screen) |
D |
Download selected item |
C |
Convert selected ISO to GOD (ISO → GOD screen) |
R |
Refresh table |
S |
Scan library (My Library screen) |
A |
Analyse games directory (Game Tidy-up) / Select All (Torrent Selector) |
N |
Rename selected item (FTP File Browser) / Select None (Torrent Selector) |
Space |
Toggle file/folder selection (Torrent Selector) |
D |
Download selected item / Download torrent (Torrent Selector) |
U / Backspace |
Go up one directory (FTP File Browser) |
Del |
Delete selected item (FTP File Browser) |
Esc |
Go back |
Q |
Quit |
| Type | Path |
|---|---|
| Settings | platformdirs.user_config_dir("x360tm")/settings.json |
| Cache | platformdirs.user_cache_dir("x360tm")/ |
| Library | platformdirs.user_cache_dir("x360tm")/library.json |
| Logs | platformdirs.user_log_dir("x360tm")/x360tm.log |
| Local Trainers | LocalTrainers/ (repo root — 550+ trainers shipped) |
| Local Mods | LocalMods/ (repo root — add your own) |
| Local Homebrew | LocalHomebrew/ (repo root — add your own) |
| Local Saves | LocalGameSaves/ (repo root — add your own) |
| Local Title Updates | LocalTitleUpdates/ (repo root — place STFS title update packages here) |
| Torrent files | Torrent/ (repo root — drop .torrent files for legally-owned games) |
- Install Aurora Dashboard on your Xbox 360
- Enable FTP in Aurora → Settings → FTP
- Note your console's IP address
- In x360tm → Settings → Connection Profiles → Add
- Enter IP, port (default
21), username/password (defaultxbox/xbox) - Hit Test Connection to verify
- Set as default profile
If Aurora is at Usb0:\Apps\Aurora\, set that in Settings → Aurora Folder Path.
This ensures trainers install to the right location.
In Settings, set Game Library Paths to your games folder (e.g. Usb1\Games) and Scan Depth to 4 if your structure is:
Usb1\Games\
Minecraft\
4D530A81\ ← Title ID folder Aurora uses
Then open My Library → Scan Library and all your installed games appear by name.
- Bulk install — queue multiple items and install in one go
- Install history — log of what was installed, when, and where
- FTP file browser — navigate your console's filesystem directly from the TUI
- Game Directory Tidy-up — reorganise your games folder into a consistent structure over FTP
- Game Torrents (selective download) — pick files from a
.torrentand hand them off to qBittorrent - Library auto-scan on connect — scan automatically when FTP connection is established
- Web UI — Make the TUI in webapp Mode so can be accessed from other devices remotley.
- New Game Processing Workflow — Automatically batch convert ISOs from download folder to GODs, tidy up and transfer to console
- Title Updates — browse and install local STFS title update packages via FTP or USB
- USB Backup & Restore — block-level USB imaging and restore using partclone + zstd (Linux)
- BadAvatar USB Creator — one-click exploit USB builder for Xbox 360 (Linux)
- Self-update system — in-app update checker, downloader, and auto-apply with restart
- Update checker — detect when a newer version of a trainer or mod is available vs what's installed
- Uninstall support — remove installed mods/trainers via FTP
- Custom categories / favourites — bookmark items for quick access
- Multiple console profiles — quickly switch between different consoles
- Plugin system — allow community-contributed content sources beyond Arisen Studio
- Save file manager — browse, backup, and restore saves from your console directly
- Trainer launcher — trigger trainer activation via XBDM without leaving the TUI
- Game cover art — display box art thumbnails alongside game listings
- Web UI mode — serve x360tm as a lightweight local web app for phone/tablet access
- Xbox 360 only — PS3/PS4 entries from Arisen Studio are filtered out automatically.
- Aurora FTP compatibility — the FTP client uses raw
LIST/MKDcommands, avoiding unsupportedMLST/MLSD/EPSVthat Aurora's FtpDll rejects. - Drive mapping: Aurora exposes drives as root directories (
Hdd1,Usb0,Usb1,Game). x360tm maps Xbox-style paths automatically. ConnectionResetErroron disconnect is a cosmetic Windows asyncio quirk when Aurora closes the socket — it does not affect transfers.- Local content folders (
LocalMods/,LocalHomebrew/,LocalGameSaves/) are empty by default and will not appear after a fresh clone — Git does not track empty directories. This is expected. Add files to them and they'll be picked up automatically.
PRs welcome. Run pytest before submitting. Please keep changes focused and include tests for new logic.
This software is provided for educational and personal use only.
The author does not endorse, encourage, or facilitate piracy, copyright infringement, or any other illegal activity. This tool is intended for use with content you legally own.
By using this software you agree that:
- You are solely responsible for how you use it and for ensuring your use complies with all applicable laws in your jurisdiction.
- The author bears no responsibility or liability for any consequences — legal, financial, or otherwise — arising from its use.
- Features that interact with torrent clients or exploit USB creation are designed for legally owned game backups and console homebrewing / research respectively. Using them for piracy or unauthorised access to systems you do not own is entirely at your own risk.
Always ensure you own physical or digital copies of any games you interact with.