NOTE, PROJECT ACTIVELY BEING DEVELOPED, CHANGES MAY NOT BE REFLECTED IMMEDIATELY IN THE README.md
BUT THE BASIC USAGE MOSTLY REMAINS THE SAME
Python-based server for transferring files between your PC and Android phone through hotspot connection.
Wayer is a two-component project:
- ๐ป PC Server - File server for handling requests (This Repository)
- ๐ฑ Android Client - Connect and transfer files from your phone
# Install dependencies
pip install -r requirements.txt
# Navigate to python folder
cd python
# Start the server
python server/app3.pyYou should see:
Listening on <HOST>:<PORT>
- Python 3.x
- MinGW64 or GCC (for C DLL compilation)
- CMake 3.10+ (for building C DLL)
Install and run the Android app on your phone to connect and transfer files.
๐ โ Full Android Setup Guide
๐ โ Go to Wayer Repository
WayerPC/
โโโ python/
โ โโโ server/ # Main server code
โ โ โโโ app3.py # Entry point
โ โ โโโ socket_server3.py
โ โ โโโ Locate.py
โ โ โโโ transfer.py
โ โ โโโ config.py
| | |__ ItemImporter.py
| |
โ โโโ Filesmanager/ # File utilities
โ โโโ FindRoot.py
โโโ c/ # C DLL source for file search
โโโ build/ # Build output directory
โโโ CMakeLists.txt
โโโ .gitignore
โโโ LICENSE
โโโ README.md # Quick overview
โโโ README_PC_END.md # Detailed guide
Phone requests a file from the PC
/ask <filename>
Phone sends a file to the PC
/upload <filesize> <filename>
Files automatically upload to the received/ folder.
For complete setup, configuration, compilation, and troubleshooting:
๐ README_PC_END.md
Wayer (Complete File Transfer System)
โโโ ojilon/WayerPC (This Repo)
โ โโโ ๐ป Python Server + C DLL
โ โโโ Languages: Python, C, C++, CMake
โ โโโ Purpose: File server for handling requests
โ โโโ Role: Backend processing & file search
โ
โโโ ojilon/Wayer (Separate Repo)
โโโ ๐ฑ Android Application
โโโ Language: Javas
โโโ Build: Gradle
โโโ Purpose: Client app for file browsing & transfer
-
Start this server on your PC
python server/app3.py
-
Install Wayer app on your Android phone
- Use the Android repository to build the APK
-
Connect phone to PC hotspot
- Both devices need to be on the same network
-
Use the app to transfer files
- List files:
ls - Navigate:
cd <path> - Download:
/ask <filename> - Upload:
/upload <filepath>
- List files:
shared/- Contains files available for download by the phone (auto-created if missing)received/- Stores files uploaded from the phone (auto-created if missing)python/- Main server code and utilitiesc/- C filesbuild/- CMake build output directory + DLL file
โ
Handles /ask file download requests
โ
Handles /upload file upload requests
โ
Fast file searching with C DLL
โ
Automatic folder creation
โ
Connection logging and status reporting
โ
Optimized for hotspot connections
The server uses a C DLL (libfilesearch.dll) for efficient file system searching.
To compile:
# Install dependencies
# - CMake 3.10+
# - MinGW64 or GCC
# Create and enter build directory
mkdir build
cd build
# Generate build files
cmake ..
# Build
cmake --build .The compiled DLL will be in build/c/.
| File | Purpose |
|---|---|
app3.py |
Entry point - starts the server |
socket_server3.py |
Core server logic handling /ask and /upload commands |
Locate.py |
Utilities for finding files and folders, locating DLL |
transfer.py |
File streaming and transfer functions |
config.py |
Server configuration (HOST, PORT, etc.) |
Edit config.py to customize server settings:
- HOST: Server listening address
- PORT: Server listening port
- Other connection parameters
| Issue | Solution |
|---|---|
| DLL not found error | Make sure libfilesearch.dll is in the c/ folder after compilation |
| Socket address in use | Port may be occupied; change PORT in config.py |
| Folder creation failed | Ensure the application has write permissions in the project directory |
| Connection issues | Verify the PC and phone are connected to the same hotspot |
| File not found | Check if the file exists in the project or shared folder |
- The server creates necessary folders (
shared/,received/) automatically if they don't exist - All file operations are logged to console
- The C DLL handles efficient file system searching
- Both devices must be on the same network (hotspot or WiFi)
- Larger files may take longer depending on connection quality
- PC Server Repo: https://github.com/ojilon/WayerPC
- Android Client Repo: https://github.com/ojilon/Wayer
- Android Setup Guide: README_ANDROID_END.md
- PC Server Full Guide: README_PC_END.md
MIT License - See LICENSE file
Get started: Full PC Server Guide โ | Android App Guide โ