Skip to main content

Personal DropBox for Private Network

Project description

""" Since this is almost in the alpha stage, I'm not sure if I should call it a beta or not. But it's almost there. I'm still working on it. So, if you find any issue, please report it. I'll try to fix it as soon as possible. And also for the same reason, I'm punching too many updates (acually bug fixes) in a short time. """

pyrobox 🔥

Note UPLOAD PASSWORD: SECret

Status

Downloads

Requesting for more suggesions and ideas

Basic FEATURES

  • File Hosting system (Serve files from local Storage system)
  • Access Shared File System from Multiple Devices

Extra FEATURES

  • 🔽 DOWNLOAD AND VIDEO STREAM WITH PAUSE AND RESUME
  • 🔼 UPLOAD WITH PASSWORD
  • 👌 HTML5 drag and drop uploader
  • 📈 MULTIPLE FILE UPLOAD
  • 📝 RENAME
  • 📁 FOLDER DOWNLOAD as ZIP (uses temp folder)
  • ⏯ VIDEO PLAYER
  • 🔁 DELETE FILE (MOVE TO RECYCLE BIN)
  • 🔥 PERMANENTLY DELETE
  • File manager like NAVIGATION BAR
  • 📑 Right click Context menu (Tap n hold on touch device)
  • 🧨 RELOAD SERVER FROM REMOTE [DEBUG PURPOSE]
  • 🆕 FOLDER CREATION
  • 💬 Pop-up messages UI(from my Web leach repo)
  • 🌐 If you are using REAL IP AND ALLOW PYTHON TO USE PUBLIC NETWORK, YOUR SERVER CAN BE VISIBLE AROUND THE GLOBE. (also vulnerable, since you can't control access yet)
  • 🧬 Clone entire directory from Host to Client with least changes (last modified preserved)
  • 🔜 More comming soon

Server side requirement

  • Python 3.7 or higher. Older support available.[^1]
  • Basic knowledge about Python
  • send2trash, natsort pip package (if missing, will be auto installed when the code runs)

[^1]: [<=3.4 compat] is on the way.

Installation


  • Install Python 3.7 or higher
  1. Install using PIP

On Windows:

  • Open CMD or PowerShell
  • Run pip install pyrobox
  • Run pyrobox to launch the server

On Linux:

  • Open Terminal
  • Run pip3 install pyrobox
  • Run pyrobox to launch the server

CHECK FAQ FOR FUTURE HELP AND ISSUE FIX

Customization

  1. Simply running the code on will create a server on CURRENT WORKING DIRECTORY on Port: 6969

  2. On browser (on device under same router/wifi network), go to deviceIP:port_number to see the output like this: http://192.168.0.101:6969/

    • you must allow python in firewall to access network, check FAQ for more help
  3. To change the server running directory,

    • i) either edit the code (see config class at top)
    • ii) or add -d or --directory command line argument when launching the program
      • pyrobox -d . to launch the server in current directory (where the file is)
      • pyrobox -d "D:\Server\Public folder\" (Use Double-Quotation while directory has space)
      • pyrobox -d "D:/Server/Public folder" (Forward or backward slash really doesn't matter, unless your terminal thinks otherwise)
  4. To change port number

    • i) just edit the code for permanent change (see config class at top)
    • ii) or add the port number at the end of the command line arg
      • pyrobox 45678 # will run on port 45678
      • pyrobox -d . 45678 # will run on port 45678 in current directory
  5. To specify alternate bind address

    • Add bind add -bind {address} # idk if it works and how it works, but it's there

TODO:

Support for more features

Context menu:

Right click on any file link

FAQ:

Using WSL, "PIP not found"

Run this to install pip3 and add pip to path

sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip
pip3 install --upgrade pip
echo "export PATH=\"${HOME}/.local/bin:$PATH\"" >>"${HOME}"/.bashrc

Re-running the file should work.

Using Linux, "PIP not found"

Run this to install pip3

sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip
pip3 install --upgrade pip

Re-running the file should work.

Deleted (Move to Recycle), But WHERE ARE THEY?? [on LINUX & WSL]

Actually the feature is working fine, unfortunately NO-GUI mode linux and WSL don't recycle bin, so you can't find it! And to make things worse, you need to manually clear the recyle bin from ~/.local/share/Trash SO I'D RECOMMAND USING DELETE PARMANENTLY

Running on WINDOWS, but can't access with other device [FIREWALL]

You probably have FireWall ON and Unconfigured. For your safety, I'd recommand you to allow Python on private network and run the server when your network is Private. IN SHORT: ALLOW PYTHON ON FIREWALL, RUN THE SERVER

note: allowed on private but using public network on firewall will cause similar issue, you gotta make both same or allow python both on public and private

Thanks to:

  1. https://github.com/bones7456/bones7456/blob/master/SimpleHTTPServerWithUpload.py (the guy who made upload possible)
  2. https://gist.github.com/UniIsland/3346170 (the guy who made multiple file upload possible)
  3. https://github.com/SethMMorton/natsort (sorting titles)
  4. https://github.com/sandes/zipfly (modified lets you see the zip progress)
  5. https://github.com/sampotts/plyr (improved video player)

Disclaimer: the owner or the programmers or any content of this repository hold no responsibility for any kind of data loss or modification on your system and do not warrenty for such actions. I tried my best to prevent all sorts of ways (that I am currently aware of) to prevent data loss or unwanted data modification. See Data Safety Measures taken on this projects to prevent unwanted data loss.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrobox-0.6.9.tar.gz (46.2 kB view details)

Uploaded Source

Built Distribution

pyrobox-0.6.9-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file pyrobox-0.6.9.tar.gz.

File metadata

  • Download URL: pyrobox-0.6.9.tar.gz
  • Upload date:
  • Size: 46.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pyrobox-0.6.9.tar.gz
Algorithm Hash digest
SHA256 dc434453d7bfe3f0c14af68682b60507221dfe5ca9c9794608fcc8f35b13b1ad
MD5 944e71362b9c877b9612dba650b00f3c
BLAKE2b-256 80e4a9e3086b572401dbb5d9c6c9e57bccf91a3a9f867e3c6c5963cf8a95f81b

See more details on using hashes here.

File details

Details for the file pyrobox-0.6.9-py3-none-any.whl.

File metadata

  • Download URL: pyrobox-0.6.9-py3-none-any.whl
  • Upload date:
  • Size: 46.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pyrobox-0.6.9-py3-none-any.whl
Algorithm Hash digest
SHA256 dfdd87378f415eb1874504708a256cc5027dad3b9abbd548ae8e1427ecbda397
MD5 563e2ed377b0b03bde912bc07b2911e6
BLAKE2b-256 0b42f86a2d84f081b4d88eff3a4b53e1c3cbeb200c93b2059465a149eec6f970

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page