Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Vitacompanion Plugin: Difference between revisions

From GameBrew
1.02
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
{{#seo:
|title=Vita Homebrew Apps (Plugins) - GameBrew!
|title=Vita Homebrew Apps (Plugins) - GameBrew
|title_mode=append
|title_mode=append
|image=vitacompanionvita.jpg
|image=vitacompanion2.png
|image_alt=vitacompanion
|image_alt=vitacompanion
}}
}}
{{Infobox Vita Homebrews
{{Infobox Vita Homebrews
|title=vitacompanion
|title=vitacompanion
|image=vitacompanionvita.jpg
|image=vitacompanion2.png
|description=Development helper plugin.
|description=Development helper plugin.
|author=devnoname120
|author=devnoname120
|lastupdated=2019/06/24
|lastupdated=2026/07/09
|type=Plugins
|type=Plugins
|version=1.00
|version=1.02
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/vitahomebrews/vitacompanionvita.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/vitacompanion.7z
|website=
|website=https://github.com/devnoname120/vitacompanion
|source=https://github.com/devnoname120/vitacompanion
|source=https://github.com/devnoname120/vitacompanion
}}
}}
'''Vitacompanion''' is a plugin to ease the development of homebrews and plugins on the PS Vita.
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.


==What is Vitacompanion?==
==Installation==
Vitacompanion is a user module which makes developing homebrews for the PS Vita device easier. It does two things:
Run [[VitaShell]] on your PS Vita, press Select to activate the FTP server and copy vitacompanion.suprx to ur0:tai/.  
#Open a FTP server on port 1337.
#Listen to commands on port 1338.


== How To Install Vitacompanion==
Finally, add the following line to ur0:tai/config.txt
Run VitaShell on your PS Vita, press SELECT to activate the FTP server and copy <code>vitacompanion.suprx</code> to <code>ur0:/tai</code>. Finally, add the following line to <code>ur0:/tai/config.txt</code>:


<pre>*main
*main
ur0:tai/vitacompanion.suprx</pre>
ur0:tai/vitacompanion.suprx


==Media==
==User guide==
<youtube>NhgwTei_K48</youtube>
 
== Vitacompanion's Usage ==
=== FTP server ===
=== FTP server ===
You can upload stuff to your vita by running:
You can upload stuff to your vita by running:


<div class="snippet-clipboard-content notranslate position-relative overflow-auto">
curl -T somefile.zip <nowiki>ftp://IP_TO_VITA:1337/ux0:/somedir/somefile.zip</nowiki>


<pre>curl --ftp-method nocwd -T somefile.zip ftp://IP_TO_VITA:1337/ux0:/somedir/</pre>
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.


Or you can use your regular FTP client.
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 49: Line 47:
For example, you can reboot your vita by running:
For example, you can reboot your vita by running:


<pre>echo reboot | nc IP_TO_PSVITA 1338</pre>
echo reboot | nc IP_TO_PSVITA 1338


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


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


'''Note''': Commands are defined in [https://github.com/robsdedude/vitacompanion/blob/master/src/cmd_definitions.c <code>src/cmd_definitions.c</code>], you can add new commands there.
'''Note''': Commands are defined in [https://github.com/robsdedude/vitacompanion/blob/master/src/cmd_definitions.c <code>src/cmd_definitions.c</code>], you can add new commands there.


== How To Build Vitacompanion==
===Integration in IDE's===
<pre>mkdir build
VSCode - https://github.com/imcquee/vitacompanion-VSCODE
cd build
cmake ..
make</pre>


=== Integration in IDE's ===
== Changelog ==
'''VSCode''':https://github.com/imcquee/vitacompanion-VSCODE
'''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.


==Changelog==
==Credits==
'''(v.1.0)'''
Thanks to xerpi for his [https://bitbucket.org/xerpi/vita-ftploader/src/87ef1d13a8aa/plugin/?at=master vita-ftploader] plugin, I stole a lot of his code (with his permission).  
* First Release.


== Acknowledgements ==
Thanks to cpasjuste for [[PSP2SHELL Vita]], it inspired me to create this tool.
Thanks to xerpi for his [https://bitbucket.org/xerpi/vita-ftploader/src/87ef1d13a8aa/plugin/?at=master 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 ==
== External links ==
* Github - https://github.com/devnoname120/vitacompanion
* GitHub - https://github.com/devnoname120/vitacompanion
* VitaDB - https://vitadb.rinnegatamante.it/#/info/488
* VitaDB - https://www.rinnegatamante.eu/vitadb/#/info/488

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: