From 479618052492a697dcfc4470177aa6a19b18dca8 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 19 Aug 2021 01:19:25 +0100 Subject: [PATCH] Add aaruremote documentation. --- README.md | 2 +- remote/readme.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 remote/readme.md diff --git a/README.md b/README.md index 0a4b539..108165a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ not) and to extract the files from those images. - **Aaru** - The main software that does all the heavy lifting, including dumping and extraction. -- **Aaru Remote** +- **[Aaru Remote](remote/readme.md)** - A slim application that allows Aaru to dump media or run other commands on an unsupported system via a network connection. - **libaaruformat** diff --git a/remote/readme.md b/remote/readme.md new file mode 100644 index 0000000..528164f --- /dev/null +++ b/remote/readme.md @@ -0,0 +1,51 @@ +Aaru Remote +==================== + +The Aaru Remote is a slim miniature application designed to receive device commands from a remote [Aaru](https://github.com/aaru-dps/Aaru) +instance, sends it to a local device, and returns the data to the instance. + +The main motivation for this is the desire to update Aaru to the latest and greatest features of .NET and C#. +This creates a problem, as some people have old devices that do not work in modern Linux distributions. + +This remote will be supported in older versions of Linux, and will in future versions be supported in FreeBSD, Windows, and possibly +network-enabled game consoles (like PSP, Wii, etc.). + +While some people will suggest porting the whole Aaru to C or C++, that won't happen, and for the only situation that +would be needed (accessing devices where C# does not run) this slim is more than enough. + +The usage is very simple, just run the remote, and it will listen for a connection over TCP/IP in port 6666, and print you +the available IPs. Running as non-root user only works with some SCSI devices, so better run as root. + +On the other side, you can use the Aaru with the *remote* command and one of those IP addresses to test the +connection. Similarly, using the IP address as an argument for the *list-devices* command will list the devices available +remotely. + +All commands that support devices are supported, with a URI with the following schema: +`aaru:///`. + +Feature matrix +============== +| |Minimum OS*1| SCSI |CHS ATA |28-bit LBA ATA |48-bit LBA ATA |Secure Digital|MultiMediaCard|USB |FireWire |PCMCIA |Special*2| +|------------|-----------------------|---------------|---------------|---------------|---------------|--------------|--------------|--------------------|--------------------|----------------|-------| +|FreeBSD | 12 |Yes |Yes |Yes |Yes |Not yet |Not yet |Not yet*4|Not yet*4|No*5 || +|Linux |2.6 |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Yes*6|| +|Nintendo Wii|4.3 |No*3|No*3|No*3|No*3|Not yet |Not yet |Not yet |No*3 |No*3 |Not yet| +|Windows NT | XP |Yes |Yes |Yes |Yes |Yes |Yes |Yes |Not yet*4|No*5 || + +1. Minimum operating system version where aaruremote has been tested. May work on early version. +2. Special storage media only available on that environment. +3. Hardware not available or supported by the operating system. +4. As SCSI device, not possible to retrieve special data. +5. As ATA device, not possible to retrieve special data. +6. Only ATA devices, not linear memory devices. + +TODO +==== +- More buffer overflow guards +- Support PSP +- Support Wii +- Support Wii U +- Support connections thru serial port +- Timing under Linux + +Licensed under the *GPLv3 license*. \ No newline at end of file