Skip to content

Releases: juke32/PyPrintFileTransfer

2025-08-12_autostart-release

12 Aug 17:50
ca78254

Choose a tag to compare

File Transfer Application

A file transfer application with two versions:

  1. Full GUI version with system tray support for modern Windows
  2. Simple command-line version for Windows XP compatibility

Windows XP Version

Setup

  1. Copy the file_transfer_xp.exe to both computers
  2. Make sure both computers are connected to the same network

Usage

As File Receiver:

  • "C:\path\to\file_transfer.exe" --minimized --start-server
  • or use --minimized to start minimized.
## Quick start: Windows XP script (headless) ✅

Use the terminal-based XP script and start it at login without showing a console.

1) Configure once (saved next to the script)

Create `pyprint-filetransfer-config.json` in the same folder as `file_transfer_xp.py`:

{
"port": 25565,
"printer_name": "Default Printer",
"print_filetypes": [".pdf", ".png"]
}


Notes:
- Use the exact printer name as shown in Printers (or "Default Printer").
- The config file is ignored by all watchers and will never be transferred.

2) Startup via Startup folder (no console)

Create a batch file (for example `StartXPReceive.bat`) with:

@echo off
start "" "C:\Path\To\Python27\pythonw.exe" "C:\Path\To\file_transfer_xp.py" receive


- To listen on a specific IP: add it after `receive`, e.g. `receive 192.168.1.50`.
- To run as sender to a server IP: replace with `send 192.168.1.100`.

Place the `.bat` file in the user Startup folder on XP:

%USERPROFILE%\Start Menu\Programs\Startup


3) Alternative: Startup via Registry (current user)

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" ^
/v PyPrintXP ^
/t REG_SZ ^
/d ""C:\Path\To\Python27\pythonw.exe" "C:\Path\To\file_transfer_xp.py" receive" ^
/f


Tip: use `pythonw.exe` to hide the console on boot.

## Quick start: Windows EXE (GUI) 🖥️

1) Launch
- Run the built EXE from `dist/PyPrintFileTransfer/` (for example `file_transfer.exe`).

2) Configure
- In Settings, choose:
   - "Start server when application launches"
   - "Start minimized (to tray if available)"
   - "Start with Windows (current user)"
- The app writes your preferences to `pyprint-filetransfer-config.json` next to the EXE and auto-loads them on boot.

3) Optional: Startup shortcut
- Create a shortcut in `%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup` with Target:
   - `"C:\\Path\\To\\file_transfer.exe" --minimized --start-server`

## Troubleshooting

- Port already in use: change the port in Settings/JSON and make sure the same port is used by senders.
- Printing doesn’t trigger: verify the file extension is in `print_filetypes` and the selected printer exists.
- Console window on XP: ensure you’re using `pythonw.exe` in the Startup batch or Registry entry.
file_transfer_xp.exe receive [ip_to_listen_on]
  • Leave ip_to_listen_on empty to listen on all interfaces
  • Example: file_transfer_xp.exe receive 192.168.1.100

As File Sender:

file_transfer_xp.exe send server_ip
  • server_ip: IP address of the receiving computer
  • Example: file_transfer_xp.exe send 192.168.1.100

How It Works

  1. Place files you want to send in the same folder as the executable
  2. Files will automatically be sent to the receiving computer
  3. Sent files are moved to the "sent" folder
  4. Received files appear in the "received" folder
  5. Check file_transfer.log for detailed transfer information

System Requirements

  • Windows XP SP3 or newer (32-bit compatible)
  • Network connectivity between computers
  • Both computers must be on the same local network

Tips

  • Default port is 25565
  • All actions are logged to file_transfer.log
  • Press Ctrl+C to stop the program

Modern Windows Version

Features

  • Easy file transfer between computers on the same network
  • System tray integration for background operation
  • Optional auto-printing of received files
  • Activity logs for both sending and receiving
  • Support for customizable print file types
  • Simple and intuitive graphical interface
  • Persistent settings (IP/port/printer/file types)
  • Start minimized and auto-start server on launch
  • Start with Windows (registry-based) so it runs at boot

How to Use

Setup

  1. Run the application on both computers (sender and receiver)
  2. Make sure both computers are connected to the same network

Host Computer (Receiving Files)

  1. Go to the "Host" tab
  2. Select your network interface from the "Listen IP" dropdown
  3. Keep the default port (25565) or enter a custom port
  4. Click "Start Server"
  5. (Optional) Select a printer for auto-printing received files
  6. (Optional) Set file types for auto-printing (default: pdf, png)
  7. Open the "Settings" tab to:
    • Save your settings so they persist across restarts
    • Enable "Start server when application launches" so it will start listening automatically
    • Enable "Start minimized" to keep the window hidden (tray icon if available)
    • Enable "Start with Windows" to add a registry Run entry so it launches at login

Client Computer (Sending Files)

  1. Go to the "Client" tab
  2. Enter the Host computer's IP address
  3. Enter the same port number as the Host
  4. Click "Start Client"
  5. Place files in the application folder to send them automatically
    • Files will be moved to the "sent" folder after transfer
    • Received files appear in the "received" folder

System Requirements

  • Windows operating system
  • Network connectivity between computers
  • Both computers must be on the same local network

Tips

  • Double-click the system tray icon to show/hide the window
  • Right-click the system tray icon for options
  • Check the activity logs in both tabs for transfer status
  • The application runs in the background when minimized
  • Default port is 25565 (can be changed if needed)
  • Settings are stored next to the executable/script as: pyprint-filetransfer-config.json
    • This file is automatically ignored by the sender/watchers, so it will never be transferred
  • You can also pass flags when launching:
    • --minimized to start hidden
    • --start-server to force starting the receiver on launch

Folders

  • sent/: Stores files after they've been sent
  • received/: Stores incoming files from other computers

Start at Boot (Recommended)

You can have the app launch and start receiving automatically after login:

Option A (inside the app):

  • Open the "Settings" tab and enable both:
    • "Start server when application launches"
    • "Start with Windows (current user)"
    • (Optional) "Start minimized (to tray if available)"
  • Click "Save Settings"

Option B (manual):

  • Create a shortcut to the EXE and place it in %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup with the following Target:
    • "C:\path\to\file_transfer.exe" --minimized --start-server

Note: Firewall may prompt on first run; allow the app on private networks so it can listen on the chosen port.

2025-4-13_2007.file_transfer.exe

14 Apr 05:19

Choose a tag to compare

Working release!
Transfer files between computers and even see the ip of the server application to make it easier.

just install one of these on each machine and configure it and go!

image

must right click on tray icon bottom right to close application completly

WindowsXP - Windows11

14 Apr 19:31
2ce0fbd

Choose a tag to compare

simpleXP_file_sender.py (in a zip or as txt)

image

Windows XP-11
It includes a send and recieve function, but I only tested sending lol
I reccomend using python 2.7, download from python.org
just place in an empty folder and run it

file_transfer.exe

image

Windows 8-11

  • send, recieve, select prtinter for automatic usage
  • It froze my windows explorer untill I closed the application at one point, use at own risk
  • place in empty folder and run
  • close with bottom right tray icon, clicking close only minimizes it