Ftpd 3DS: Difference between revisions

From GameBrew
No edit summary
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = ftpd
|title=ftpd
| image = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS.jpg|250px
|image=Ftpdmth2.png
| type = Utilities
|description=A FTP server.
| version = pro v3.1.0
|author=mtheall
| licence = Mixed
|lastupdated=2021/06/13
| author = mtheall
|type=Utilities
| website = https://github.com/mtheall/ftpd
|version=3.1.0
| download = https://github.com/mtheall/ftpd/releases
|license=Mixed
| source = https://github.com/mtheall/ftpd/releases
|download=https://dlhb.gamebrew.org/3dshomebrews/ftpdmth.7z
|website=https://github.com/mtheall/ftpd
|source=https://github.com/mtheall/ftpd/releases
}}
}}
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.


Line 25: Line 26:
==Installation==
==Installation==
===Installing===
===Installing===
Available as a CIA and 3DSX. Both comes 2 versions, the latest pro builds (Dear ImGui graphics) and classic builds (console's graphics).
Available as a CIA and 3DSX. Both comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).
* CIA - [https://mtheall.com/~mtheall/ftpd.cia pro build] and [https://mtheall.com/~mtheall/ftpd-classic.cia classic build].
* CIA - [https://mtheall.com/~mtheall/ftpd.cia Pro build] and [https://mtheall.com/~mtheall/ftpd-classic.cia Classic build]. Use either one and install with a CIA manager of your choice.
* 3DSX - [https://mtheall.com/~mtheall/ftpd.3dsx pro build] and [https://mtheall.com/~mtheall/ftpd-classic.3dsx classic build].
* 3DSX - [https://mtheall.com/~mtheall/ftpd.3dsx Pro build] and [https://mtheall.com/~mtheall/ftpd-classic.3dsx Classic build]. Copy either one to the 3ds folder of your SD card and run with homebrew launcher.


===Building===
===Building===
You must set up the [https://devkitpro.org/wiki/Getting_Started development environment].
You must set up the [https://devkitpro.org/wiki/Getting_Started development environment]. The following pacman packages are required to build <code>3ds/ftpd.3dsx</code>.
 
'''NDS:'''
 
The following pacman packages are required to build <code>nds/ftpd.nds</code>.
* devkitARM
* dswifi
* libfat-nds
* libnds
 
They are available as part of the <code>nds-dev</code> meta-package.
 
'''3DSX:'''
 
The following pacman packages are required to build <code>3ds/ftpd.3dsx</code>.
* 3dstools
* 3dstools
* devkitARM
* devkitARM
Line 54: Line 41:


==User guide==
==User guide==
===Dear ImGui===
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.
Standard Dear ImGui controller inputs are supported.
===Recommended FTP clients===
* Windows - [https://filezilla-project.org/download.php?type=client FileZilla].
* Linux - [https://filezilla-project.org/download.php?type=client FileZilla].
* MacOS - [https://filezilla-project.org/download.php?type=client FileZilla].
* iOS non jailbroken - [https://itunes.apple.com/us/app/ftpmanager-ftp-sftp-ftps-client/id525959186?mt=8 FTPManager].
* iOS Jailbroken - [http://moreinfo.thebigboss.org/moreinfo/depiction.php?file=filzafilemanagerDp Filza].
* Android - [https://play.google.com/store/apps/details?id=turbo.client&hl=en Turbo FTP Client & SFTP Client].
===Supported Commands===
===Supported Commands===
* ABOR
* ABOR
Line 105: Line 105:


'''Note:''' getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.
'''Note:''' getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.
===Dear ImGui===
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.
Standard Dear ImGui controller inputs are supported.


==Controls==
==Controls==
Line 129: Line 124:


D-Pad - Move
D-Pad - Move
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth3.png
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth5.png
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth4.png
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth6.png


==Media==
==Media==
Line 135: Line 137:


==Changelog==
==Changelog==
'''ftpd pro v3.1.0 2021/06/13'''
'''v3.1.0 2021/06/13''' (ftpd pro)
* Access Point mode on Switch.
* Access Point mode on Switch.
* Reset button for configuration.
* Reset button for configuration.
Line 141: Line 143:
* General system stability improvements to enhance the user’s experience.
* General system stability improvements to enhance the user’s experience.


'''ftpd pro v3.0.0 2020/05/27'''
'''v3.0.0 2020/05/27''' (ftpd pro)
* Even better graphics than ever (Dear ImGui backend).
* Even better graphics than ever (Dear ImGui backend).
* NDS support.
* NDS support.
Line 152: Line 154:
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.


'''ftpd snap! v2.3.1 2019/09/16'''
'''v2.3.1 2019/09/16''' (ftpd snap!)
* Rebuild against latest toolchains.
* Rebuild against latest toolchains.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
==External links==
* GitHub - https://github.com/mtheall/ftpd


[[Category:3DS homebrew applications]]
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]
[[Category:Homebrew utility applications on 3DS]]

Revision as of 10:16, 28 November 2021

ftpd
Ftpdmth2.png
General
Authormtheall
TypeUtilities
Version3.1.0
LicenseMixed
Last Updated2021/06/13
Links
Download
Website
Source

ftpd is a FTP Server for 3DS/Switch/Linux/NDS.

Features

  • Appears to work well with a variety of clients.
  • Supports multiple simultaneous clients. The 3DS itself only appears to support enough sockets to perform 4-5 simultaneous data transfers, so it will help if you limit your FTP client to this many parallel requests.
  • Cutting-edge graphics (Dear ImGui backend).
  • Exit on NDS/3DS with START button.
  • Toggle backlight on NDS/3DS with SELECT button.
  • Emulation of a /dev/zero (/devZero) device for network performance testing:
    • Example retrieve curl ftp://192.168.1.115:5000/devZero -o /dev/zero
    • Example send curl -T /dev/zero ftp://192.168.1.115:5000/devZero

Installation

Installing

Available as a CIA and 3DSX. Both comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).

Building

You must set up the development environment. The following pacman packages are required to build 3ds/ftpd.3dsx.

  • 3dstools
  • devkitARM
  • libctru

They are available as part of the 3ds-dev meta-package.

Build 3ds/ftpd.3dsx: make 3dsx

User guide

Dear ImGui

ftpd uses Dear ImGui as its graphical backend.

Standard Dear ImGui controller inputs are supported.

Recommended FTP clients

Supported Commands

  • ABOR
  • ALLO (no-op)
  • APPE
  • CDUP
  • CWD
  • DELE
  • FEAT
  • HELP
  • LIST
  • MDTM
  • MKD
  • MLSD
  • MLST
  • MODE (no-op)
  • NLST
  • NOOP
  • OPTS
  • PASS (no-op)
  • PASV
  • PORT
  • PWD
  • QUIT
  • REST
  • RETR
  • RMD
  • RNFR
  • RNTO
  • SITE
  • SIZE
  • STAT
  • STOR
  • STRU (no-op)
  • SYST
  • TYPE (no-op)
  • USER (no-op)
  • XCUP
  • XCWD
  • XMKD
  • XPWD
  • XRMD

SITE commands

  • Show help - SITE HELP
  • Set username - SITE USER
  • Set password - SITE PASS
  • Set port - SITE PORT
  • Set getMTime* - SITE MTIME [0|1]
  • Save config - SITE SAVE

Note: getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.

Controls

A - Activate, Open, Toggle

A+D-Pad - Tweak value (+L/R to tweak slower/faster)

B - Cancel, Close, Exit

X - Edit text/on-screen keyboard

Y - Toggle menu

Hold Y+L/R - Focus windows

Hold Y+D-Pad - Resize window

Left Stick - Scroll, Move window (when holding Y)

D-Pad - Move

Screenshots

ftpdmth3.pngftpdmth5.png

ftpdmth4.pngftpdmth6.png

Media

How to Setup an FTP Client [FTPD] on o3DS or n3DS (GameInCanada)

Changelog

v3.1.0 2021/06/13 (ftpd pro)

  • Access Point mode on Switch.
  • Reset button for configuration.
  • Update to Dear ImGui 1.83.
  • General system stability improvements to enhance the user’s experience.

v3.0.0 2020/05/27 (ftpd pro)

  • Even better graphics than ever (Dear ImGui backend).
  • NDS support.
  • Exit button changed from B to PLUS/START.
  • Backlight toggle changed from PLUS/START to MINUS/SELECT.
  • User/Password support.
  • Scrollable log.
  • Status icons/text (battery/wifi/time).
  • "Classic" builds retain console interface.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

v2.3.1 2019/09/16 (ftpd snap!)

  • Rebuild against latest toolchains.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

External links

Advertising: