High-performance parallel streaming engine and web dashboard for streaming HTTP/HTTPS downloads directly into PlayStation 5 FTP storage, or uploading local files from macOS, Windows, and Android. Built with pure Python standard library: zero cloud dependencies, zero pip packages, and no Node.js or npm required.
Real-time Gigabit LAN streaming (114+ MB/s), pre-flight link verification, zero-disk archive extraction, automated health diagnostics, and remote PS5 console file manager.
Download / View 1080p Master Video (assets/demo.mp4)
- Why Direct Stream?
- Architecture & Data Flow
- What is New in v2.9.1
- How to Capture Direct Download Links
- Live Hardware Verification Matrix
- Core Features
- Supported Hosting Providers
- Archive Extraction Strategies
- Smart Destination Routing
- Quick Start Guide
- Performance Presets & Diagnostics
- Transfer Resilience & Integrity
- Frequently Asked Questions (FAQ)
- Development & Test Suite
- Legal Disclaimer & Statutory Compliance
- License
Traditional methods of installing games and homebrew on PlayStation 5 require multiple wasteful read/write cycles and gigabytes of free disk space on your computer:
| Task Stage | Traditional Transfer Method | Direct Stream for PlayStation 5 |
|---|---|---|
| Download Stage | Saves 50GB–100GB to your computer SSD | Streams directly into RAM ring buffer (0 GB local disk) |
| Unpack Stage | Extracts 50GB–100GB onto local computer drive | Unpacks on console via native unrar-ps5 payload (0 GB local disk) |
| Local Disk Wear | 100GB to 200GB written to your SSD | 0 bytes written to your local drive |
| Transfer Stage | Manual FTP upload after hours of local extraction | Direct, simultaneous internet-to-PS5 stream over Gigabit LAN |
| Overall Time | Download time + Unpack time + Upload time | Single-pass network throughput at LAN wire speed |
+---------------------------------------------------------------------------------------------------------+
| DIRECT STREAM FOR PLAYSTATION 5 |
+---------------------------------------------------------------------------------------------------------+
| |
| [WEB SOURCES] [LOCAL STORAGE] |
| MediaFire, PixelDrain, Local .pkg packages, |
| Google Drive, Archive.org, disc dumps, or folder sets |
| Direct HTTP/HTTPS URLs from Mac / Windows / Phone |
| \ / |
| \ / |
| v v |
| +----------------------------------------------+ |
| | MANDATORY PRE-FLIGHT VERIFIER | |
| | Checks DNS, Range headers, size & passwords | |
| +----------------------------------------------+ |
| | |
| v |
| +----------------------------------------------+ |
| | DYNAMIC RAM RING BUFFER ENGINE | |
| | Zero disk staging · Backpressure sync | |
| +----------------------------------------------+ |
| | |
| 118+ MB/s Gigabit LAN Parallel FTP |
| | |
| v |
| +----------------------------------------------------------------+ |
| | PLAYSTATION 5 | |
| | /data/homebrew <-- Direct Stream / unrar-ps5 console payload | |
| | /data/pkg <-- Package files (.pkg) | |
| | /data/ShadowMount <-- Disc images (.ffpfsc, .exfat, .ufs) | |
| +----------------------------------------------------------------+ |
+---------------------------------------------------------------------------------------------------------+
Version 2.9.1 delivers complete hardware-verified validation, direct link streaming enhancements, and full ecosystem alignment:
- Exhaustive Live Hardware Verification (32/32 Tests Passed):
- Comprehensive matrix executed directly on physical PlayStation 5 hardware (
192.168.1.188:2121FTP and port9021decompressor payload). - Validated single and multi-part archives, password encryption (
DLPSGAME.COM), RAM extraction, PS5 console decompression, on-the-fly multi-part PKG stitching, pause and resume via FTPREST, bandwidth throttling, collision guards, and verified 0 bytes leaked on console storage.
- Comprehensive matrix executed directly on physical PlayStation 5 hardware (
- Universal Direct Download Link Capture Engine:
- Integrated guidance and protocol detection distinguishing direct binary octet-streams from web landing pages.
- Built-in link verification with automatic resolution for major cloud hosting services (AkiraBox, Rootz, DataNodes, VikingFile, FileDitch, Google Drive, MediaFire, PixelDrain).
- Interface 3.2 Polish & Diagnostic Version Alignment:
- Integrated quick-reference guide modal and collapsible in-app link capture instructions.
- Exact synchronization across Python core, macOS
.appbundle, web dashboard, and diagnostic export bundles.
Direct Stream for PlayStation 5 works by opening a direct, high-speed HTTP/HTTPS binary socket and piping the data immediately across your local network into the console FTP server. To make this work seamlessly, the application requires a direct binary download link, not an HTML webpage URL.
- Web Landing Page (Will Not Work Directly): A URL like
https://filesharing.com/file/12345loads an HTML webpage with JavaScript, countdown timers, captcha security challenges, or advertisements. A console FTP server cannot interpret HTML code as a game package. - Direct Download Link (Required): A URL pointing directly to the raw binary file stream (e.g.
https://cdn.filesharing.com/dl/package.pkg?token=abc...or headers returningContent-Type: application/octet-stream).
You can capture a direct download link from virtually any file hosting service using any standard web browser (Chrome, Edge, Firefox, or Safari):
- Start the Download in Your Browser:
- Visit the download page in your browser and click through the site buttons until the file actually begins downloading in your browser.
- Open Your Browser Downloads Manager:
- Press
Ctrl + Jon Windows/Linux, orCmd + Shift + J(orCmd + Option + Lin Safari) on macOS to view your active downloads.
- Press
- Copy the Direct Stream Address:
- Right-click the downloading file in your browser's download list and click Copy download link (or Copy link address).
- Paste and Stream:
- Cancel or pause the download in your web browser so it does not consume your computer's internet bandwidth or SSD storage.
- Paste the copied link into Direct Stream for PlayStation 5 and click Verify link or Add to queue.
For hosting services that obfuscate the download link:
- Open your browser Developer Tools by pressing
F12(orCmd + Option + Ion macOS) and switch to the Network tab. - Filter by
Fetch/XHRorMedia, then click the site download button. - Look for the request that returns a large
Content-Lengthor aContent-Typeofapplication/octet-stream,application/zip, orapplication/x-rar. - Right-click that request and select Copy -> Copy URL, then paste it into Direct Stream.
Direct Stream includes built-in resolvers for popular hosters. For the following services, you can paste the regular sharing URL directly and the application will extract the direct stream automatically:
- MediaFire: Standard sharing links
- PixelDrain:
pixeldrain.com/u/<id> - Google Drive: Sharing and file export URLs
- Internet Archive:
archive.org/details/<item> - Rootz / AkiraBox / DataNodes / VikingFile / FileDitch: Auto-resolved endpoints
- Direct URLs: Any direct link ending in
.pkg,.zip,.rar,.7z, or split parts (.001,.part1.rar,.z01)
The Direct Stream transfer engine was validated directly against physical PlayStation 5 hardware running etaHEN and ftps5. All 32 real-world testing scenarios passed with complete data integrity and zero leftover storage footprint:
| Category | Combinations Tested on PS5 Hardware | Result |
|---|---|---|
| Direct Package Streaming | Single .pkg URL streaming and local package delivery |
Verified byte-for-byte |
| Multi-Part PKG Stitching | 3-part split PKG reassembly on-the-fly in RAM without local files | Verified unified PKG |
| ZIP Archive Engine | Single & multi-part, unencrypted & AES password-protected, in-RAM and PS5 unpack | 100% Passed (6 tests) |
| 7Z Archive Engine | Single & multi-part, unencrypted & encrypted, streaming LZMA decompression | 100% Passed (5 tests) |
| RAR Archive Engine | Staged host extraction with folder tree and on-console unrar-ps5.elf payload |
100% Passed (4 tests) |
| Automation & Intelligence | Scene bracket password auto-discovery ([DLPSGAME.COM]), FTP keep-alives |
Auto-discovered & verified |
| Resilience & Safety | Pause and resume with FTP REST, speed throttling, gap detection, wrong-password abort |
Fully resilient |
| Collision Protection | Default existing file protection guard vs explicit overwrite replacement | Collision guarded |
| Console Storage Hygiene | Complete SSD space audit after running all test combinations | 0 bytes leaked |
For the complete 32-row hardware test ledger with exact byte payloads and commands, see VALIDATION.md.
- Zero-Copy Direct Streaming: Download HTTP/HTTPS web links directly into PS5 storage over high-speed LAN without writing gigabytes to your local drive.
- Pure Python Standard Library: 100% self-contained Python 3.9+ runtime with zero external pip packages or npm/Node.js dependencies.
- Multi-Stream Parallel Engine: Configurable 1 to 32 concurrent HTTP range workers with backpressure flow control to saturate Gigabit LAN connections.
- Dynamic RAM Ring Buffer: Configurable buffer sizing (32 MiB to 1024 MiB) keeps transfers smooth while absorbing network jitter.
- Automated Speed Diagnostics: Built-in benchmark suite (Quick Scan and Full Matrix) tests your connection and automatically applies the optimal profile.
- Multi-Part Archive Stitching: Automatically detects, sequences, and stitches multi-part split archives (
.part1.rar,.001) into unified console packages. - Remote PS5 Console File Browser: Browse, inspect, and navigate folders directly on the console internal and external storage.
- Enterprise-Grade Local Security: Binds strictly to localhost (
127.0.0.1), enforces per-session token authorization, and saves settings with owner-only permissions (0600).
The built-in Smart Link Resolver automatically converts file sharing landing pages into direct CDN download streams:
| Provider | Supported Formats | Automatic Behavior |
|---|---|---|
| MediaFire | Standard sharing links | Automatically extracts direct download endpoint |
| PixelDrain | pixeldrain.com/u/<id> |
Resolves to high-speed raw API stream |
| Google Drive | Sharing & export links | Bypasses large-file virus scan confirmation screens |
| Internet Archive | archive.org/details/<item> |
Resolves to full-speed direct file downloads |
| GoFile | Sharing pages | Pre-resolves to direct content stream |
| 1fichier | Direct access links | Handles direct inline CDN downloads |
| BuzzHeavier / Send.cm | Sharing links | Extracts underlying download stream |
| Direct HTTP / HTTPS | Any direct web link | Full parallel range chunking with multi-stream workers |
When adding an archive (.zip, .rar, .7z), choose from three tailored workflows:
| Strategy Card | Local Disk Usage | Console Payload | Best Suited For |
|---|---|---|---|
| Extract on PS5 (Recommended) | 0 GB (Zero disk writes) | unrar-ps5 (Port 9021) |
Multi-gigabyte folder dumps, split RAR/ZIP sets, games with thousands of files |
| Extract on this device | 0 GB for single files (RAM ring) Temporary staging for folders |
None required | Standalone files (.pkg, .ffpfsc, .exfat) streaming through RAM; fast CPUs |
| Send without extracting | 0 GB | None required | Archival raw backups, manual on-console management |
Direct Stream automatically routes files to their optimal destination folder based on file extension:
| File Type / Extension | Destination Folder | Purpose on PlayStation 5 |
|---|---|---|
| Homebrew & Unpacked Games | /data/homebrew |
Default homebrew application and game directory |
Package Files (.pkg) |
/data/pkg |
Direct package installation staging |
Disc Images (.ffpfsc, .exfat, .ufs, .iso) |
/data/ShadowMount |
Direct raw disc mounting via ShadowMount |
| Raw Archives (PS5 Unpack) | /data/unrar or /data/homebrew |
Staging for native unrar-ps5 console payload |
- Ensure Python 3.9 or later is installed.
- Double-click
Launch PS5 Streamer.commandor openPS5 Direct Streamer.app. - The dashboard opens automatically in your browser at
http://127.0.0.1:<port>/#session=.... - Open Settings, enter your PS5 IP address and FTP port (default:
2121), and click Test connection. - Click New transfer, paste your download link, and start streaming!
Note
If macOS Gatekeeper displays an alert on first open, follow standard confirmation (Right-click -> Open or System Settings -> Privacy & Security -> Open Anyway).
- Ensure Python 3.9 or later is installed from python.org (check "Add Python to PATH" during installation).
- Double-click
Launch Direct Stream for PlayStation 5.bat. - The dashboard opens automatically in your default browser.
- Open Settings, configure your PS5 IP address, and click Test connection.
Run Direct Stream natively on Android phones with raw Wi-Fi throughput and zero root required:
Paste this single command into Termux to install prerequisites, download the app, and launch immediately:
curl -sSL https://raw.githubusercontent.com/ChillQuant/direct-stream-ps5/main/install_android.sh | bashOnce installed, open Termux and type:
ps5If you want to control the Android stream server from your computer or tablet on the same Wi-Fi:
ps5 --host 0.0.0.0- Storage Access: Tap Allow when prompted so Direct Stream can access packages in
/sdcard/Download/. - Battery Optimization: Choose Unrestricted under Android Settings -> Apps -> Termux -> Battery to prevent Android from killing background transfers when your screen locks.
# Clone the repository
git clone https://github.com/ChillQuant/direct-stream-ps5.git
cd direct-stream-ps5
# Launch the server (opens default browser or prints console URL)
python3 ps5_streamer.py
# Or launch for LAN access from another device
python3 ps5_streamer.py --host 0.0.0.0Under Settings -> Transfer engine, select from calibrated quick-presets or run the benchmark:
| Preset | Streams | Chunk Size | RAM Buffer | Intended Connection |
|---|---|---|---|---|
| Conservative | 4 streams | 4 MiB | 64 MiB | Wi-Fi / Standard Broadband |
| Balanced | 8 streams | 8 MiB | 128 MiB | Default Fiber / Gigabit LAN |
| Turbo | 16 streams | 8 MiB | 256 MiB | High-Speed Fiber / Fast LAN |
| Max Saturation | 16 streams | 32 MiB | 512 MiB | Gigabit Ethernet Full Saturation |
In Speed diagnostics, input a test download URL and run:
- Quick Scan (~10s): Evaluates Conservative, Balanced, and Gigabit Turbo tiers.
- Full Test (~60s): Evaluates an 8-tier matrix across varying worker streams, chunk slice sizes, and memory cushions.
- Click Apply Recommended Settings to immediately update your engine configuration to the winning profile.
- Safe Partials (
.ps5part): Transfers write to a uniquely taggedfilename.<job-id>.ps5part. Only after transmission completes and the remote size matches the source byte-for-byte does the engine issue an FTP rename (RNFR/RNTO) to finalize the file. - Safe Resumes: Resuming inspects the remote partial length, verifies HTTP validators (
ETag,Last-Modified, or content fingerprint), and resumes seamlessly from the verified byte offset. - Existing File Protection: Overwriting existing console files is blocked by default unless explicitly toggled on per transfer.
- Downstream Backpressure: The memory ring buffer ensures incoming HTTP chunks never exceed available RAM. If the console FTP receiver is slower than the internet connection, reads pause gently to prevent buffer overruns.
On the console side, your PS5 must be running an FTP server (such as ftps5, LightningMods FTP, GoldHEN FTP, or itemzflow). On your computer or Android phone, no root or administrator access is required.
No. When using direct streaming or the Extract on PS5 strategy, bytes flow directly from the incoming network socket into process memory (RAM) and immediately out to the PS5 over LAN. Zero bytes are written to your computer disk.
The bundled unrar_ps5.elf payload is sent to port 9021 on the console. It natively unpacks RAR, ZIP, and 7Z archives directly on the console internal SSD, avoiding the need to stage folder dumps on your local computer.
The engine features automatic reconnects with exponential backoff. If interrupted, simply click Resume; the engine validates the existing .ps5part file on the console and resumes from the exact byte where it left off.
Direct Stream requires only the Python standard library for production execution. The test suite uses pyftpdlib for local FTP mock fixtures:
# Set up virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install test dependencies
pip install -r requirements-dev.txt
# Run integration test suite (100 tests covering auth, ranges, retries, resume, and archives)
python -m unittest discover -s tests -v
# Sync changes to native macOS application bundle
python3 build_bundle.py
# Package release distributions (macOS, Windows, Pure Python)
python3 package_releases.pyPlease read this section carefully before using or contributing to Direct Stream for PlayStation 5.
Direct Stream for PlayStation 5 is an independent, community-driven open-source software project. It is not endorsed by, certified by, partnered with, associated with, maintained by, or in any way officially connected to Sony Interactive Entertainment Inc. (SIE), Sony Group Corporation, or any of their parent companies, subsidiaries, or affiliates.
"PlayStation", "PS5", "PS4", "DualSense", "PlayStation Studios", and all associated logos, device names, and brand marks are registered trademarks or service marks of Sony Interactive Entertainment Inc. All product names, logos, brands, and registered trademarks featured or referenced within this software or its documentation are property of their respective trademark holders. Their use in this documentation does not imply any affiliation with or endorsement by them.
Direct Stream for PlayStation 5 is strictly a content-neutral, protocol-level network transfer manager. The authors, contributors, and maintainers of this project:
- Do not host, mirror, store, cache, index, provide, or distribute any copyrighted video game files, commercial software packages, system update binaries, decryption keys, license tokens, or game disk images.
- Do not provide, link to, promote, or encourage websites that distribute pirated, unauthorized, or infringing digital content.
- Do not bypass, disable, circumvent, or defeat any digital rights management (DRM), anti-piracy protections, encryption schemes, or technological protection measures (TPMs).
This tool is distributed strictly for lawful and educational purposes, including:
- Facilitating local network data transfers of legal, user-created homebrew applications, open-source development utilities, and public domain datasets.
- Managing legitimate archival backups of legally acquired physical media or digital licenses owned personally by the user, in strict compliance with applicable statutory fair use provisions, personal backup exemptions, and local intellectual property laws.
The end-user acknowledges and agrees that:
- It is solely the end-user's legal responsibility to verify that they possess all necessary licenses, permissions, and rights to transfer, store, and execute any software package, file, or disk image moved using this software.
- The user is solely responsible for compliance with all applicable municipal, state, national, and international copyright laws, computer security statutes, terms of service, and end-user license agreements (EULAs).
- Any use of this utility in violation of local laws, terms of service, or copyright acts (such as the DMCA) is strictly prohibited and outside the intended scope of this project.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER, AUTHORS, MAINTAINERS, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; HARDWARE CONSOLE BRICKING, SYSTEM INSTABILITY, BANNING OR RESTRICTIONS FROM NETWORK SERVICES, OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This project is licensed under the MIT License.
