Skip to content

Commit af9b5b0

Browse files
committed
Revamp README with badges and screenshots
Reformat README into a centered header with badges and screenshots. Expand Key Features, How To Use, Development, Download, Roadmap and Credits sections. Add two new screenshot assets.
1 parent ca14f49 commit af9b5b0

3 files changed

Lines changed: 86 additions & 49 deletions

File tree

README.md

Lines changed: 86 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,49 @@
1-
# decky-ftpd
2-
3-
![logo](assets/logo.png)
4-
5-
> Transfer files to and from your Steam Deck over Wi-Fi directly from Game Mode, no desktop required.
6-
> Inspired by ftpd on PSP / PS Vita.
7-
8-
---
9-
10-
## Features
11-
12-
- 📡 Start/stop an FTP server from the Quick Access Menu
13-
- 🔗 Displays your local IP and port connect instantly with any FTP client
14-
- 📁 Full read and write access to the deck
15-
- 🔌 Anonymous login — no credentials to configure
16-
- ⚡ Works entirely offline after install — no internet required on the Deck
17-
18-
---
19-
20-
## Usage
1+
<h1 align="center">
2+
<br>
3+
<img src="assets/logo.png" alt="decky-ftpd" width="200">
4+
<br>
5+
decky-ftpd
6+
<br>
7+
</h1>
8+
9+
<h4 align="center">Transfer files to and from your Steam Deck over Wi-Fi directly from Game Mode no desktop required. Inspired by <a href="https://github.com/mtheall/ftpd" target="_blank">ftpd</a> on PSP / PS Vita.</h4>
10+
11+
<p align="center">
12+
<img src="https://img.shields.io/badge/platform-Steam%20Deck-1A9FFF.svg" alt="Platform">
13+
<img src="https://img.shields.io/badge/decky%20loader-compatible-brightgreen.svg" alt="Decky Loader">
14+
<a href="https://github.com/codevski/decky-ftpd/releases">
15+
<img src="https://img.shields.io/github/v/release/codevski/decky-ftpd" alt="Release">
16+
</a>
17+
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License">
18+
</p>
19+
20+
<p align="center">
21+
<a href="#key-features">Key Features</a> •
22+
<a href="#how-to-use">How To Use</a> •
23+
<a href="#connecting">Connecting</a> •
24+
<a href="#development">Development</a> •
25+
<a href="#roadmap">Roadmap</a> •
26+
<a href="#license">License</a>
27+
</p>
28+
29+
<p align="center">
30+
<img src="assets/screenshot-qam.jpg" alt="QAM panel" width="45%">
31+
&nbsp;&nbsp;
32+
<img src="assets/screenshot-running.jpg" alt="Server running" width="45%">
33+
</p>
34+
35+
## Key Features
36+
37+
* 📡 **Game Mode native** — start and stop the FTP server from the Quick Access Menu
38+
- No desktop mode, no SSH, no keyboard required.
39+
* 🔗 **Instant connect** — your Deck's local IP and port are displayed right in the panel
40+
* 📁 **Full read/write access** to `/`
41+
- Games, saves, emulators, homebrew all transferable.
42+
* 🔌 **Zero config** — anonymous login, no credentials to set up
43+
***Fully offline** — no internet required on the Deck after install
44+
* 🛡️ **Local network only** — never exposed to the public internet
45+
46+
## How To Use
2147

2248
1. Press the **``** button to open the Quick Access Menu
2349
2. Open **decky-ftpd** and toggle **Enable FTP Server** ON
@@ -44,37 +70,27 @@
4470
| iOS | FE File Explorer, Filza |
4571
| Linux | FileZilla, Nautilus (built-in) |
4672

47-
---
48-
49-
## Notes
50-
51-
- The FTP server shares `/home/deck` — this includes your games, saves, emulators, and homebrew
52-
- The server is only accessible on your **local network** — it is not exposed to the internet
53-
- The server stops automatically when the plugin is unloaded or the Deck shuts down
54-
- Toggle it off when not in use if you are on a shared network
55-
56-
---
73+
> **Note**
74+
> The server stops automatically when the plugin is unloaded or the Deck shuts down. Toggle it off when not in use if you're on a shared network.
5775
5876
## Development
5977

60-
### Prerequisites
78+
To clone and run this plugin, you'll need [Git](https://git-scm.com), [pnpm](https://pnpm.io), Python 3.11+, and a Steam Deck with [Decky Loader](https://decky.xyz) installed. From your command line:
6179

62-
- [pnpm](https://pnpm.io)
63-
- Python 3.11+
64-
- A Steam Deck with [Decky Loader](https://decky.xyz) installed
65-
66-
> **Note:** SSH is only required if you want to deploy directly from your dev machine during development. End users installing from the Decky store don't need it.
80+
```bash
81+
# Clone this repository
82+
$ git clone https://github.com/codevski/decky-ftpd
6783

68-
### Setup
84+
# Go into the repository
85+
$ cd decky-ftpd
6986

70-
```bash
71-
# Install frontend deps
72-
pnpm install
87+
# Install frontend dependencies
88+
$ pnpm install
7389

7490
# Set up Python venv for editor support (optional but recommended)
75-
python3 -m venv .venv
76-
source .venv/bin/activate # or activate.fish for fish shell
77-
pip install pyftpdlib
91+
$ python3 -m venv .venv
92+
$ source .venv/bin/activate # or activate.fish for fish shell
93+
$ pip install pyftpdlib
7894
```
7995

8096
### Build & Deploy
@@ -88,15 +104,20 @@ DECK_IP=192.168.1.x
88104
Then:
89105

90106
```bash
91-
make deploy # build frontend, create zip, rsync to Deck
92-
make zip # build + create zip only
93-
make build # build frontend only
94-
make clean # remove build artifacts
107+
$ make deploy # build frontend, create zip, rsync to Deck
108+
$ make zip # build + create zip only
109+
$ make build # build frontend only
110+
$ make clean # remove build artifacts
95111
```
96112

97113
On the Deck, install via **Decky → Settings → Developer → Install Plugin from ZIP**.
98114

99-
---
115+
> **Note**
116+
> SSH is only required if you want to deploy directly from your dev machine during development. End users installing from the Decky store don't need it.
117+
118+
## Download
119+
120+
You can [download](https://github.com/codevski/decky-ftpd/releases) the latest release, or install directly from the Decky Plugin Store.
100121

101122
## Roadmap
102123

@@ -105,8 +126,24 @@ On the Deck, install via **Decky → Settings → Developer → Install Plugin f
105126
- [ ] MicroSD card quick-access shortcut
106127
- [ ] Active connection count in the status line
107128

108-
---
129+
## Credits
130+
131+
This plugin uses the following open source packages:
132+
133+
- [Decky Loader](https://decky.xyz/)
134+
- [pyftpdlib](https://github.com/giampaolo/pyftpdlib)
135+
- [@decky/api](https://github.com/SteamDeckHomebrew/decky-frontend-lib)
136+
- [React](https://react.dev/)
137+
138+
## You may also like...
139+
140+
- [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) — The plugin loader that makes this possible
141+
- [ftpd](https://github.com/mtheall/ftpd) — The original Nintendo Switch / 3DS inspiration
109142

110143
## License
111144

112145
MIT
146+
147+
---
148+
149+
> GitHub [@codevski](https://github.com/codevski)

assets/screenshot-qam.jpg

74.5 KB
Loading

assets/screenshot-running.jpg

71.6 KB
Loading

0 commit comments

Comments
 (0)