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

Ftpd 3DS: Difference between revisions

From GameBrew
No edit summary
 
(47 intermediate revisions by 3 users 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=2024/11/17
| author = mtheall
|type=Utilities
| website = https://github.com/mtheall/ftpd
|version=3.2.1
| download = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
|license=Mixed
| source = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
|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/[[Ftpd Switch|Switch]]/Linux/NDS.
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.


==Features==
==Features==
* Appears to work well with a variety of clients.
* 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.
* 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 [https://github.com/ocornut/imgui graphics].
* Cutting-edge graphics ([https://github.com/ocornut/imgui Dear ImGui] backend).
* Exit on NDS/3DS with START button.
* Exit on NDS/3DS with START button.
* Toggle backlight on NDS/3DS with SELECT button.
* Toggle backlight on NDS/3DS with SELECT button.
* Emulation of a /dev/zero (/devZero) device for network performance testing:
* Emulation of a /dev/zero (/devZero) device for network performance testing:
** Example retrieve <code>curl ftp://192.168.1.115:5000/devZero -o /dev/zero</code>
** Example retrieve <code><nowiki>curl ftp://192.168.1.115:5000/devZero -o /dev/zero</nowiki></code>
** Example send <code>curl -T /dev/zero ftp://192.168.1.115:5000/devZero</code>
** Example send <code><nowiki>curl -T /dev/zero ftp://192.168.1.115:5000/devZero</nowiki></code>


==Installation==
==Installation==
===Classic===
Release comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).
Classic builds use a console instead of Dear ImGui:
* CIA - https://mtheall.com/~mtheall/ftpd-classic.cia
* 3DSX - https://mtheall.com/~mtheall/ftpd-classic.3dsx


===Building===
Copy the .3dsx file the 3ds folder of your SD card and run with Homebrew Launcher or install .cia with a CIA manager of your choice.
You must set up the [https://devkitpro.org/wiki/Getting_Started development environment].


'''NDS''' - The following pacman packages are required to build <code>nds/ftpd.nds</code>.
==User guide==
* devkitARM
===Recommended FTP clients===
* dswifi
* Windows - [https://filezilla-project.org/download.php?type=client FileZilla].
* libfat-nds
* Linux - [https://filezilla-project.org/download.php?type=client FileZilla].
* libnds
* 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].
They are available as part of the <code>nds-dev</code> meta-package.
* 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].


'''3DSX''' - The following pacman packages are required to build <code>3ds/ftpd.3dsx</code>:
* 3dstools
* devkitARM
* libctru
They are available as part of the <code>3ds-dev</code> meta-package.
Build <code>3ds/ftpd.3dsx</code>: <code>make 3dsx</code>
==User guide==
===Supported Commands===
===Supported Commands===
{|
|
* ABOR
* ABOR
* ALLO (no-op)
* ALLO (no-op)
Line 71: Line 61:
* PASV
* PASV
* PORT
* PORT
|width="20px"|&nbsp;<!--spacer-column-->
|
* PWD
* PWD
* QUIT
* QUIT
Line 91: Line 83:
* XPWD
* XPWD
* XRMD
* XRMD
|}


===SITE commands===
===SITE commands===
* Show help - SITE HELP
* Show help: SITE HELP
* Set username - SITE USER
* Set username: SITE USER
* Set password - SITE PASS
* Set password: SITE PASS
* Set port - SITE PORT
* Set port: SITE PORT
* Set getMTime* - SITE MTIME [0|1]
* Set hostname1: SITE HOST
* Save config - SITE SAVE
* Set getMTime2(*): SITE MTIME [0|1]
* Save config: SITE SAVE


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


===Dear ImGui===
===Forks===
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.
* [[ftpd-nds|ftpd for DS/DSi]] by asiekierka.
 
* [[Ftbrony 3DS|ftbrony]] by yellow8.
Standard Dear ImGui controller inputs are supported.
* [[FTPd Recompile 3DS|Recompile FTPd]] by GizmoTheGreen.
* [[FTP_-_Graphic_ModifierX_Edition_3DS|FTP Graphic ModifierX]] by Vorpal Blade.


==Controls==
==Controls==
'''Dear ImGui:'''
A - Activate, Open, Toggle
A - Activate, Open, Toggle


Line 127: Line 120:


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==
<youtube>WpqX0Tx8uHE</youtube>
'''How to Setup an FTP Client [FTPD] on o3DS or n3DS''' ([https://www.youtube.com/watch?v=edXKoeXVw4s GameInCanada]) <br>
<youtube>edXKoeXVw4s</youtube>


==Changelog==
==Changelog==
'''ftpd pro v3.1.0 13 Jun 2021'''
'''v3.2.1 2024/11/17''' (ftpd pro)
* Center 3DS window selector on top screen
* Update to [https://github.com/ocornut/imgui/releases/tag/v1.91.5 Dear ImGui v1.91.5]
* General system stability improvements to enhance the user’s experience
 
'''v3.2.0 2024/11/11''' (ftpd pro)
* DSi wifi support with update to libnds-2.0.0
* mDNS support
* glob support
* ImGui stereoscopic effect on 3DS
* Removed CIA build for 3DS
** DO NOT ASK ME TO SUPPORT CIA
* Build with CMake
* Update to [https://github.com/ocornut/imgui/releases/tag/v1.91.4 Dear ImGui v1.91.4]
* General system stability improvements to enhance the user’s experience
 
'''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 138: Line 155:
* 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 27 May 2020'''
'''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 149: Line 166:
* 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 16 Sep 2019'''
'''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.


[[Category:3DS homebrew application]]
==External links==
[[Category:Homebrew utility applications on 3DS]]
* GitHub - https://github.com/mtheall/ftpd

Latest revision as of 21:59, 17 November 2024

ftpd
Ftpdmth2.png
General
Authormtheall
TypeUtilities
Version3.2.1
LicenseMixed
Last Updated2024/11/17
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

Release comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).

Copy the .3dsx file the 3ds folder of your SD card and run with Homebrew Launcher or install .cia with a CIA manager of your choice.

User guide

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 hostname1: SITE HOST
  • Set getMTime2(*): SITE MTIME [0|1]
  • Save config: SITE SAVE

(*) getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.

Forks

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.png ftpdmth5.png

ftpdmth4.png ftpdmth6.png

Media

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

Changelog

v3.2.1 2024/11/17 (ftpd pro)

  • Center 3DS window selector on top screen
  • Update to Dear ImGui v1.91.5
  • General system stability improvements to enhance the user’s experience

v3.2.0 2024/11/11 (ftpd pro)

  • DSi wifi support with update to libnds-2.0.0
  • mDNS support
  • glob support
  • ImGui stereoscopic effect on 3DS
  • Removed CIA build for 3DS
    • DO NOT ASK ME TO SUPPORT CIA
  • Build with CMake
  • Update to Dear ImGui v1.91.4
  • General system stability improvements to enhance the user’s experience

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: