Skip to content

Releases: RaSan147/pyrobox

pyrobox-0.6.5

12 Feb 18:52
Compare
Choose a tag to compare

NOTE: next release will be 0.7.0 with server file split into 2 parts pyroboxCore and server for the ease of development and creating webapps.

Version 0.6.5

Client-side Changes:

  • Folder info view now recieved a huge speed boost
  • Any file can be downloaded via R-Click -> Download
  • Updated some emojis

Server-side Changes:

  • moving towards pyroboxCore for future updates
  • Using os.scandir() instead of os.listdir() for speed boost
  • Post request handling is now done more cleanly, like how form data works

Fixes:

  • Nothing to notice since 0.6.4

pyrobox-0.6.4

22 Jan 20:29
Compare
Choose a tag to compare

Client-side Changes:

  • Nothing to notice

Server-side Changes:

  • HOTFIX: run_update is using --user flag due to permission issues

Fixes:

  • fixed update not working due to permission issues

pyrobox-0.6.3

22 Jan 19:07
Compare
Choose a tag to compare

note: since i don't have tester, and i often forget to combine multiple files (working in multiple dimensions uh i mean branches is a pain) and this happened.

Client-side Changes:

  • Nothing to notice

Server-side Changes:

  • HOTFIX: log_message now works like print funtion (*args), not like logger.log(format, *args)

Fixes:

  • fixed log_message not working

pyrobox-0.6.2

22 Jan 18:40
Compare
Choose a tag to compare

Client-side Changes:

  • Nothing to notice

Server-side Changes:

  • HOTFIX: added action="?upload" to upload form

Fixes:

  • fixed upload form not working due to missing action="?upload" which is required for POST requests

pyrobox-0.6.1

22 Jan 16:07
Compare
Choose a tag to compare

Client-side Changes:

  • Nothing to notice

Server-side Changes:

  • Completely changed server structure, now using @SimpleHTTPRequestHandler.on_req decorator to handle requests.

    @SimpleHTTPRequestHandler.on_req(request_type, conditions)

    • request_type: GET, POST, HEAD # use HEAD instead of GET since it will be called in get anyway must
  • conditions: url, query, fragment
  • sends return func(self, url_path=url_path, query=query, fragment=fragment, path=path, spathsplit=spathsplit) to the function.
    • self: SimpleHTTPRequestHandler
    • url_path: url path (no query, no fragment)
    • query: query dict (custom_dict)
    • fragment: fragment (excluding #)
    • path: Translated path (the actual path on OS file system)
    • spathsplit: path split (list)
  • Improved POST request handling (maybe)
  • IMPROVED update with pip on server
  • Server prints ==== request_id ==== on every request
    • == : start
    • ++ : request handling
    • -- : end
    • ## : separator
  • Update will print log on console

Fixes:

  • zip download now works (used to keep reloading and downloading)
  • Removed New folder creation with '../' in name Security concern
  • maybe some more that I forgot

pyrobox-0.5.0

20 Jan 22:45
Compare
Choose a tag to compare

Changes:

  1. Fixed port bug.
  2. Published to pip
  3. updated readme
  4. life got more painful

v0.5

17 Jan 18:12
2857752
Compare
Choose a tag to compare

Change log:

Improvements:

  1. Improved Zip speed
  2. Improved Folder property checking my using xhr on folder size
  3. Improver server side request handling (using query string)
  4. Using string template with better support for dev mode
  5. natort and send2trash optional, means will work without internet (send to trash will be disabled if not installed)
  6. Added server update feature in Admin page at bottom (if available on this repo)

Fixes:

  1. Stopped Flashing of no-script version of folder list
  2. Fixed every file was being downloaded on click instead of opening in browser
  3. Fixed no-script mode upload
  4. Fixed Selected File list style and functionality. (if 2 files with same name is selected, remove previous one and replace with new one, because, when uploading last file will remain in host server, so we need to replace it with new one)

Changes:

  1. Reload server is moved to admin page
  2. Made r_u_sure popup and toaster

local_server v0.4

01 Jan 14:56
c110749
Compare
Choose a tag to compare

ChangeLog:

  1. Bug fix
  2. More CSS
  3. Video player improvement
  4. Removed prev dir link for no js mode
  5. many more

local_server v0.3 is here with Updated UI and more.

26 Dec 21:45
92a0e7b
Compare
Choose a tag to compare

Now you can use right click context menu

  1. UI massive improvement
  2. Upload progress bar added
  3. Back-end massive improvement, uses url query. Ease of development.
  4. Front-end No more %3F hack, using query URL
  5. More css more effects
  6. Right click menu close asap and keep watching for responce from server.
  7. Video player improved
  8. Zip feature no longer needa 7z, and sudo apt bla bla bla on linux, using python zipfile with zipfly
  9. Folders and files are sorted like os file manager.
  10. Clone_dir.py added. Open the file and make changes to use as you wish. (Will improve docs and command-line feature)

New requirement: natsort

local_server v0.2 [DEPRICATED]

09 Sep 11:15
Compare
Choose a tag to compare

py_httpserver_Ult 🌐🌟☁

Note UPLOAD PASSWORD: SECret

Requesting for more suggesions and ideas

Server side requirement

  • Python 3.7 or higher (need to test lower versions)
  • Basic knowledge about Python
  • send2trash pip package (will be auto installed when the code runs)
  • (for windows) no need to download 7z (from here), it will be automatically downloaded

Installation

  1. Download the local_server.py
  2. yes, only the local_Server.py. Other files are not necessary.
  3. Install Python 3.7 or higher and run the local_server.py
  4. The server will show your ip and port, use that with and local device browser under the same network
    • Like this 192.168.0.100:6969/

On Linux

On Linux give permissions by :

$sudo chmod +x local_Server.py

run like a script with :

$./local_Server.py

Customization

  1. Simply running the code will create a server on G:\ Drive for windows on Port: 6969

  2. On browser (same device as server), go to localhost:port_number to see the output

  3. To change the server running directory,

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

    • i) just edit the code for permanent change
    • ii) or add the port number at the end of the command line arg
      • local_server.py 45678
      • local_server.py -d . 45678
  5. To specify alternate bind address

    • Add bind add -bind {address}

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
  • 📈 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
  • 🧨 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)
  • 🔜 More comming soon

Context menu: