Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

Vitacompanion Plugin: Difference between revisions

From GameBrew
m Text replacement - "https://vitadb.rinnegatamante.it/" to "https://www.rinnegatamante.eu/vitadb/"
1.02
 
Line 10: Line 10:
|description=Development helper plugin.
|description=Development helper plugin.
|author=devnoname120
|author=devnoname120
|lastupdated=2019/06/25
|lastupdated=2026/07/09
|type=Plugins
|type=Plugins
|version=1.00
|version=1.02
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/vitahomebrews/vitacompanion.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/vitacompanion.7z
Line 34: Line 34:
You can upload stuff to your vita by running:
You can upload stuff to your vita by running:


  curl --ftp-method nocwd -T somefile.zip <nowiki>ftp://IP_TO_VITA:1337/ux0:/somedir/</nowiki>
  curl -T somefile.zip <nowiki>ftp://IP_TO_VITA:1337/ux0:/somedir/somefile.zip</nowiki>


Or you can use your regular FTP client.
Or you can use your regular FTP client. The server accepts both Vita-style paths such as <code>ux0:/somedir/</code> and FTP absolute paths such as <code>/ux0:/somedir/</code>. It also supports <code>EPSV</code>, <code>PASV</code>, <code>LIST</code>, <code>NLST</code>, and <code>MDTM</code> for compatibility with generic FTP clients.
 
If you want curl to send the full FTP path directly instead of changing directories first, use the double-slash URL form:
 
curl --ftp-method nocwd <nowiki>ftp://IP_TO_VITA:1337//ux0:/somedir/</nowiki>


=== Command server ===
=== Command server ===
Line 48: Line 52:


=== Available commands ===
=== Available commands ===
{|class="wikitable"
{| class="wikitable"
! Command
|-
! Arguments
! dir="ltr"| Command
! Explanation
! dir="ltr"| Arguments
! dir="ltr"| Explanation
|-
|-
| <code>destroy</code>
| dir="ltr"| <code>help</code>
| none
| dir="ltr"| none
| kill all running applications
| dir="ltr"| display the help screen
|-
|-
| <code>launch</code>
| dir="ltr"| <code>destroy</code>
| <code>&lt;TITLEID&gt;</code>
| dir="ltr"| none
| launch an application by id e.g. <code>launch VHBB00001</code> to launch the [https://github.com/devnoname120/vhbb Vita Homebrew Browser]
| dir="ltr"| kill all running applications
|-
|-
| <code>reboot</code>
| dir="ltr"| <code>launch</code>
| none
| dir="ltr"| <code>&lt;TITLEID&gt;</code>
| reboot the console
| dir="ltr"| launch an application by id e.g. <code>launch VHBB00001</code> to launch the [https://github.com/devnoname120/vhbb Vita Homebrew Browser]
|-
|-
| <code>screen</code>
| dir="ltr"| <code>kill</code>
| <code>on</code> or <code>off</code>
| dir="ltr"| <code>&lt;TITLEID&gt;</code>
| turn screen on or off
| dir="ltr"| kill an application by id
|-
| dir="ltr"| <code>nosleep</code>
| dir="ltr"| <code>on</code>, <code>off</code> or <code>status</code>
| dir="ltr"| enable or disable automatic suspend prevention. This is enabled by default at boot
|-
| dir="ltr"| <code>reboot</code>
| dir="ltr"| none
| dir="ltr"| reboot the console
|-
| dir="ltr"| <code>screen</code>
| dir="ltr"| <code>on</code> or <code>off</code>
| dir="ltr"| turn screen on or off
|}
|}


Line 74: Line 91:
===Integration in IDE's===
===Integration in IDE's===
VSCode - https://github.com/imcquee/vitacompanion-VSCODE
VSCode - https://github.com/imcquee/vitacompanion-VSCODE
== Changelog ==
'''1.02'''
* Fixed a regression where no-argument FTP commands such as LIST were parsed as their own path argument.
* Restored plain LIST support for clients such as lftp and FileZilla after changing into a directory.
* Bumped module metadata to version 1.02.
'''1.01'''
* Added help output, application kill-by-title-id support, and command-controlled no-sleep mode.
* Hardened command server input handling.
* Fixed startup behavior when Wi-Fi is already connected.
* Expanded FTP compatibility with uma0/imc0 drive support, vendored libftpvita path handling fixes, EPSV, NLST, and MDTM.


==Credits==
==Credits==

Latest revision as of 03:30, 10 July 2026

vitacompanion
General
Authordevnoname120
TypePlugins
Version1.02
LicenseMIT License
Last Updated2026/07/09
Links
Download
Website
Source

vitacompanion by devnoname120 is a user module which makes developing homebrews for the PS Vita device easier. It does two things:

  • Open a FTP server on port 1337.
  • Listen to commands on port 1338.

Installation

Run VitaShell on your PS Vita, press Select to activate the FTP server and copy vitacompanion.suprx to ur0:tai/.

Finally, add the following line to ur0:tai/config.txt

*main
ur0:tai/vitacompanion.suprx

User guide

FTP server

You can upload stuff to your vita by running:

curl -T somefile.zip ftp://IP_TO_VITA:1337/ux0:/somedir/somefile.zip

Or you can use your regular FTP client. The server accepts both Vita-style paths such as ux0:/somedir/ and FTP absolute paths such as /ux0:/somedir/. It also supports EPSVPASVLISTNLST, and MDTM for compatibility with generic FTP clients.

If you want curl to send the full FTP path directly instead of changing directories first, use the double-slash URL form:

curl --ftp-method nocwd ftp://IP_TO_VITA:1337//ux0:/somedir/

Command server

Send a command by opening a TCP connection to the port 1338 of your Vita.

For example, you can reboot your vita by running:

echo reboot | nc IP_TO_PSVITA 1338

Note that you need to append a newline character to the command that you send. echo already adds one, which is why it works here.

Available commands

Command Arguments Explanation
help none display the help screen
destroy none kill all running applications
launch <TITLEID> launch an application by id e.g. launch VHBB00001 to launch the Vita Homebrew Browser
kill <TITLEID> kill an application by id
nosleep onoff or status enable or disable automatic suspend prevention. This is enabled by default at boot
reboot none reboot the console
screen on or off turn screen on or off

Note: Commands are defined in src/cmd_definitions.c, you can add new commands there.

Integration in IDE's

VSCode - https://github.com/imcquee/vitacompanion-VSCODE

Changelog

1.02

  • Fixed a regression where no-argument FTP commands such as LIST were parsed as their own path argument.
  • Restored plain LIST support for clients such as lftp and FileZilla after changing into a directory.
  • Bumped module metadata to version 1.02.

1.01

  • Added help output, application kill-by-title-id support, and command-controlled no-sleep mode.
  • Hardened command server input handling.
  • Fixed startup behavior when Wi-Fi is already connected.
  • Expanded FTP compatibility with uma0/imc0 drive support, vendored libftpvita path handling fixes, EPSV, NLST, and MDTM.

Credits

Thanks to xerpi for his vita-ftploader plugin, I stole a lot of his code (with his permission).

Thanks to cpasjuste for PSP2SHELL Vita, it inspired me to create this tool.

External links

Advertising: