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
 
(38 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://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/[[Ftpd Switch|Switch]]/Linux/NDS.
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.


==Features==
==Features==
Line 24: Line 25:


==Installation==
==Installation==
===Installing===
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 The latest build].
* 3DSX - [https://mtheall.com/~mtheall/ftpd-classic.3dsx The latest build].


===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:'''
==User guide==
 
===Recommended FTP clients===
The following pacman packages are required to build <code>nds/ftpd.nds</code>.
* Windows - [https://filezilla-project.org/download.php?type=client FileZilla].
* devkitARM
* Linux - [https://filezilla-project.org/download.php?type=client FileZilla].
* dswifi
* MacOS - [https://filezilla-project.org/download.php?type=client FileZilla].
* libfat-nds
* iOS non jailbroken - [https://itunes.apple.com/us/app/ftpmanager-ftp-sftp-ftps-client/id525959186?mt=8 FTPManager].
* libnds
* 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].
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
* 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 75: Line 61:
* PASV
* PASV
* PORT
* PORT
|width="20px"|&nbsp;<!--spacer-column-->
|
* PWD
* PWD
* QUIT
* QUIT
Line 95: 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.


===Dear ImGui===
(*) getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.


Standard Dear ImGui controller inputs are supported.
===Forks===
* [[ftpd-nds|ftpd for DS/DSi]] by asiekierka.
* [[Ftbrony 3DS|ftbrony]] by yellow8.
* [[FTPd Recompile 3DS|Recompile FTPd]] by GizmoTheGreen.
* [[FTP_-_Graphic_ModifierX_Edition_3DS|FTP Graphic ModifierX]] by Vorpal Blade.


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


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


==Changelog==
==Changelog==
'''ftpd pro v3.1.0 2021/06/13'''
'''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 142: 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 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 153: 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 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.


[[Category:3DS homebrew applications]]
==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: