{"id":26189082,"url":"https://github.com/aasmpro/djangosmartshare","last_synced_at":"2025-04-15T01:34:28.049Z","repository":{"id":57422090,"uuid":"122369787","full_name":"aasmpro/djangosmartshare","owner":"aasmpro","description":"a simple django app for sharing files over http","archived":false,"fork":false,"pushed_at":"2018-11-02T13:43:11.000Z","size":625,"stargazers_count":10,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T22:47:35.430Z","etag":null,"topics":["django","file-manager","file-sharing","hacktoberfest","python3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aasmpro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-21T17:34:19.000Z","updated_at":"2024-12-12T06:41:02.000Z","dependencies_parsed_at":"2022-09-06T10:51:22.167Z","dependency_job_id":null,"html_url":"https://github.com/aasmpro/djangosmartshare","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasmpro%2Fdjangosmartshare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasmpro%2Fdjangosmartshare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasmpro%2Fdjangosmartshare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasmpro%2Fdjangosmartshare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aasmpro","download_url":"https://codeload.github.com/aasmpro/djangosmartshare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248989105,"owners_count":21194528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","file-manager","file-sharing","hacktoberfest","python3"],"created_at":"2025-03-12T00:30:20.271Z","updated_at":"2025-04-15T01:34:28.028Z","avatar_url":"https://github.com/aasmpro.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django smart share\nsimple django app for sharing files over http / https.\n\n![DirectoryAsAdmin2.png](screenshots/DirectoryAsAdmin2.png)\n\nmore [screenshots](screenshots/screenshots.md)\n\n## Requirements\n* python \u003e= 3.5\n* django \u003e= 2\n\n## Installation\ninstall using `pip`:\n```\npip install djangosmartshare\n```\nadding `smartshare` to `INSTALLED_APPS` in `settings.py`:\n```python\nINSTALLED_APPS = [\n    ...,\n    'smartshare',\n    ...,\n]\n```\nincluding `smartshare.urls` in your project `urls.py`:\n```python\nfrom django.urls import path, include\n\nurlpatterns = [\n    ...,\n    path('', include('smartshare.urls')),\n    ...,\n]\n```\nrunning `migrate` for making related database tables:\n```\npython3 manage.py migrate\n```\n\n## Features\nyou can simply share any directory on your local system over http / https, in short : just like a file browser.\n\nin `Location` model, by adding a new location, system will check if the path exist, so you can have following permissions separated for 3 different user types per each **Location** object. **Admins** , **Users** ( mean normal users ) and **Anonymouse Visitors** ( public ) :\n\n\u003e attention : \n\u003e 1. if you share a directory, inside another shared directory, neither **Base Directory** nor **Sub Directory** will not change each other permissions. the deepest available **Sub Directory** Location object permissions will be used for each directory.\n\u003e 2. the root path **`/`** is not available.\n\u003e 3. only directories path are allowed to be shared, not files.\n\u003e 4. commands will run as logged-in user on local system, so even if a permission like **Can Delete** be **True**, on a directory that need superuser **sudo** permission, the command will not effect, for security reasons.\n\npermission | description\n------------|------------\nActive | wheather to show this directory for the allowed user or not.\nShow Files | user can view Files in directory. ( only view, nothing more )\nShow Directories | user can view Directories in directory.\nShow Hidden Files | same as Files, fore Hidden Files.\nShow Hidden Directories | same as Directories, for Hidden Directories\nCan Download | if this permission be `True`, user can download shared directory and it's subdirectories in compressed files as **zip**, **tar**, **tar.gz** and **tar.bz2**. an also user allowed to download any Files in directory and it's subdirectories.\nCan Upload | if this permission be `True`, user can upload Files in directory and it's subdirectories.\nCan Delete | if this permission be `True`, a **Delete** button will be showed for each subdirectories and files in directory, so user can delete them.\nCan Create | if this permission be `True`, an **Add** button will be showed for Directories and Files, so user can add new directory, or a file with it's content.\n\nthis app have a simple responsive front-end design, created using **Bootstrap 4** framework.\n\n## TO DO\nthis Features are planned to be added in next version :\n- [ ] adding **Run Command** ability.\n- [ ] adding **Copy** and **Move**.\n- [ ] adding **multi upload**.\n- [ ] adding **multi selecting** files and directories ability for Download or Delete.\n- [ ] adding **Preview** and **Edit** abilities.\n- [ ] adding **permissions** for duplicated files and directories while adding or uploading.\n- [ ] changing **dirs.html** template for adding **Upload**, **Delete**, **Add** forms.\n- [ ] rewriting **views** definitions.\n- [ ] rewriting responsive template for a better UX / UI.\n\n## Contribution\nany contributions are warmly accepted! even if you have any idea about enhancing this project, i'd be glad to hear from you.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faasmpro%2Fdjangosmartshare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faasmpro%2Fdjangosmartshare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faasmpro%2Fdjangosmartshare/lists"}