secureftp.xyz

Run bridge.py locally to launch a browser-based file manager, editor, and terminal for any remote server.

What this does

bridge.py is a lightweight local HTTP bridge. It starts a server on your machine, serves the web interface, and proxies all SFTP and SSH commands through your system's OpenSSH client. No Python packages required.

app.html is the web interface. Connect to remote servers with a private key or password, then browse files, edit code with syntax highlighting, change permissions, rename, delete, upload, download, and run shell commands via an embedded terminal.

Place both files in the same folder. bridge.py will automatically locate and serve app.html.

PY

bridge.py

Local HTTP bridge. Proxies SFTP and SSH through your system's OpenSSH client.

Python 3.8+ / OpenSSH

Download
HTML

app.html

The web interface. File manager, editor, and terminal in one page.

Any modern browser

Download
Setup Guides

macOS

Requirements
  • macOS 10.15 or later
  • Python 3.8 or higher (pre-installed on macOS 12.3+)
  • OpenSSH client (pre-installed)
  • Modern browser (Safari, Chrome, Firefox)
bridge.py

Place bridge.py and app.html in the same folder. Open Terminal and run:

python3 bridge.py

The script picks a free port, starts the server, and opens your browser automatically. The terminal window must stay open while you use the tool.

Note: If Python is not found, install it via brew install python or from python.org.
app.html

Do not open app.html directly. It is served automatically by bridge.py. Once the bridge is running, the interface loads at http://127.0.0.1:PORT/.

Enter your remote host, username, port (default 22), and private key or password to connect. The first connection is normal speed; all subsequent operations reuse the SSH master connection for near-instant response.

Windows

Requirements
  • Windows 10 or 11
  • Python 3.8 or higher
  • OpenSSH client (built into Windows 10+)
  • Modern browser (Edge, Chrome, Firefox)
bridge.py

Place both files in the same folder. Open Command Prompt or PowerShell and run:

py bridge.py

The server starts and opens your default browser automatically. Keep the window open.

Note: Install Python from python.org if py is not recognized. Ensure the OpenSSH client is enabled in Windows Settings under Optional Features.
app.html

Served automatically by bridge.py. Once running, use the web UI to connect to your remote server with a key file or password. Connection multiplexing is disabled on Windows, so each operation opens a fresh SSH session.

Linux

Requirements
  • Any modern distribution (Ubuntu, Debian, Fedora, Arch)
  • Python 3.8 or higher
  • OpenSSH client (openssh-client package)
  • Modern browser (Firefox, Chromium)
bridge.py

Place both files in the same directory. Run from a terminal:

python3 bridge.py

The server binds to 127.0.0.1 on a random high port and auto-opens your browser. Leave the terminal running.

Tip: On headless servers, use python3 bridge.py and access the UI via SSH port forwarding: ssh -L 8080:localhost:PORT user@server
app.html

Served by bridge.py. Connect via the web UI using your SSH credentials. The bridge uses SSH connection multiplexing on Linux and macOS for fast repeated operations.

?

Troubleshooting

Connection fails

Verify the remote host is reachable and port 22 (or your custom port) is open. Check that your private key is in OpenSSH format and that the remote server accepts key authentication. If using a password, ensure password auth is enabled on the server.

sftp command not found

Install the OpenSSH client for your platform. On Windows, enable it in Settings / Apps / Optional Features. On Linux, install openssh-client.

Port already in use

bridge.py automatically scans for a free port in the 49152-65535 range. If it cannot find one, close other local servers and try again.

Browser does not open

Check the terminal output for the local URL (e.g., http://127.0.0.1:54231/) and open it manually.