← Back
flyster67

flyster67/HomeCloud

A simple py+C application that turns an old laptop into a "cloud server".

View on GitHub ↗
Stars
3
Forks
0
Watchers
3
Open issues
0
Contributors
1
Language
Python
License
—
Default branch
main
Created Oct 1, 2026Updated Oct 1, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

HomeCloud

A minimal personal cloud server & client to turn a leftover laptop into local network storage.

Architecture

  • Backend (backend.c): Fast C engine handling file reading/writing and compression using zlib.
  • Frontend / Network (homecloud.py): Python socket manager handling TCP connections, routing, and client CLI interface over standard I/O pipes.

Build

Compile the C backend:

# Windows (portable standalone binary, bakes in zlib)
gcc backend.c -o backend.exe -lz -static

# Linux
gcc backend.c -o backend -lz

Dependencies

  • Python 3.7+ (built-in standard library only: socket, subprocess, struct, os, sys).
  • GCC / Clang (C99+).
  • zlib:
    • Linux: Pre-installed on virtually all distributions (libz.so).
    • Windows: To compile, you need zlib installed locally (e.g., via MSYS2 pacman -S mingw-w64-x86_64-zlib). Adding -static during compilation bakes the library directly into backend.exe, so you don't need to ship zlib1.dll to other computers.

Usage

Start server on laptop:

python homecloud.py server ./cloud 7878

Connect client from another machine:

python homecloud.py client <laptop_ip> 7878

Origin

i've had this laptop for a pretty long while,and its specs as a laptop are pretty bad. it has intengrated graphics and only 8gb ram & 500GB space. But - for something like a server/cloud, that is a lot more than enough.
so, i took the knowledge i learnt in magshimim & did some homework on libs and decided to make it myself, instead of vibecoding(only skeleton and starting documentation is, rest is manually coded.) or looking for something that already exists.