Shareify

image Hackatime Badge

When sharing is storing.

Latest Release Python Version License GitHub Stars

v1.0.0 - Finally calling this stable after months of daily use 🎉

Why I built this

Got fed up with paying Dropbox $10/month just to store family photos, then hitting upload limits when trying to share a 2GB video with friends. Plus accessing work files from home was always a pain.

So I built my own thing. It’s basically a personal file server that you can reach from anywhere - no subscription fees, no upload limits, no “premium features” locked behind paywalls.

Been running it on my old MacBook for 6 months now. It just sits there serving files while I’m at work, friends can grab stuff I share, and I can access everything from my phone when I’m out.

This works well if you:

Quick start (the impatient version)

Need Python 3.7+ and about 100MB space. Works on Windows/Mac/Linux.

git clone https://github.com/bbarni2020/Shareify.git
cd Shareify
pip install -r requirements.txt
python3 main.py

Open http://localhost:6969 and you’re running. Default login is admin/admin (change it immediately).

Full setup guide is in guides/Install.md if you want the details.

Or just use the prebuilt executables (Windows, macOS & Linux)

If you don’t feel like messing with Python or pip, grab the latest release from the Releases page. There are standalone executables for Windows (.exe), macOS (app/bundle), and Linux (shareify binary).

How it goes:

Then just hit: http://localhost:6969

Default credentials for the executable builds:

user: admin
password: root

(Yep, that’s different from the source install example above — change it ASAP either way.)

No install steps, no virtualenv, no pip. Just run it. If you ever want to hack on the code, you can always switch to the full source setup later.

What you actually get

The web interface is drag-and-drop simple. I kept it minimal because I got tired of bloated file managers. You can:

The mobile situation: Mobile browser experience sucked, so I built a proper iOS app. It’s in the ios_app folder if you want to build it yourself. Handles switching between local/remote connections automatically.

Security bits: JWT tokens for auth, SQLite for user management, HTTPS if you set it up. There’s also an FTP server built in because sometimes you just need FTP.

The bridge thing: This took me forever to figure out. Basically lets you access your server from anywhere without dealing with port forwarding or dynamic DNS. Your server connects to my bridge service, and when you access it remotely, requests get relayed back to your machine. The bridge can’t see your files - it’s just passing encrypted requests through.

Some other stuff that’s in there:

Project structure

Shareify/
├── host/              # Main server (this is what you run)
│   ├── main.py        # Flask app entry point
│   ├── cloud_connection.py  # Bridge communication
│   ├── database.py    # SQLite wrapper
│   └── web/           # Static files (HTML/CSS/JS)
│
├── cloud/             # Bridge services (I host these)
│   ├── server.py      # WebSocket relay server
│   ├── main.py        # Command API server
│   └── templates/     # Web dashboard for bridge
│
├── current/           # Development helpers (installers, launchers, mirrors)
│   ├── main.py
│   ├── launcher.py
│   └── settings/
│
├── static/            # Shared static assets and templates used by cloud/host
│   └── templates/
│
├── ios_app/           # Native iOS app (Xcode project)
│   └── shareify/
│
├── guides/            # Documentation (Install, API, iOS guide...)
│
├── website/           # Marketing / website assets
│
├── info/              # Version info (version file, update messages)
│   ├── version
│   └── msg.json
│
├── som-demo/          # small demo site
│
├── cloud-bridge.html  # misc root-level files
├── index.html
├── README.md
├── package.json
├── style.css
└── LICENSE

Getting started

Requirements: Python 3.7+, works on Windows 10+/Linux/Mac (tested on macOS). You’ll need about 100MB for the app itself, plus whatever space you want for your files.

The installation is pretty simple - check out guides/Install.md for the full walkthrough.

Quick version:

git clone https://github.com/bbarni2020/Shareify.git
cd Shareify/host
pip install -r requirements.txt
python3 main.py

Then open http://localhost:6969 and you’re good to go.

The iOS app situation

Built this because the mobile browser experience wasn’t great. The app connects to both local servers (when you’re on the same WiFi) and remote servers through the cloud bridge.

Features:

Status: v1.0.0 is ready, you can build it from the Xcode project. App Store version coming eventually.

More details: guides/ios_app.md

API stuff

There’s a REST API if you want to build something on top of Shareify or automate file operations. It’s documented at guides/API.md with examples for common tasks.

The bridge (remote access)

This part took forever to get right. The bridge lets you access your server from anywhere without messing with your router settings.

How it works: Your server connects to the bridge service, which acts as a relay. When you access your files remotely, the requests go through the bridge to your server and back.

Bridge services are hosted at:

The connection is encrypted and the bridge can’t see your actual files - it just passes the requests along.

Hacking on this

Want to mess with the code? Here’s how:

git clone https://github.com/bbarni2020/Shareify.git
cd Shareify/host
pip install -r requirements.txt
python3 main.py

For the iOS app you’ll need Xcode:

open ios_app/shareify/shareify.xcodeproj

Set up your Apple Developer team, then build and run. Should work on any recent macOS version.

Known issues & roadmap

Stuff that’s broken:

Stuff I want to add:

What changed in v1.0.0

First version I’m comfortable calling stable. Been using it myself since around v0.6 and haven’t lost any files yet.

Big changes since early versions:

Contributing

Found a bug? Want to add something? Open an issue or send a PR. I usually respond within a day or two.

Random notes

The iOS app has 19 background images because I couldn’t decide which one looked best. They’re all pretty nice though.

If you’re running this on a Raspberry Pi, it works but file uploads are slow. SSD helps a lot.

The bridge services cost me about $5/month to run on DigitalOcean. If this gets popular I might need to figure out something else.

If this saved you money on Dropbox, consider starring the repo!

License

MIT license - do whatever you want with it. See LICENSE for the legal stuff.


Download latest • Docs • iOS Guide • API Download ARM IOS