{"id":22268438,"url":"https://github.com/arithefirst/lockbox","last_synced_at":"2025-03-25T14:46:18.512Z","repository":{"id":257905465,"uuid":"872298947","full_name":"arithefirst/lockbox","owner":"arithefirst","description":"A password protected dropbox where users given a password can upload a file","archived":false,"fork":false,"pushed_at":"2025-01-08T21:19:41.000Z","size":277,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T02:38:51.070Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arithefirst.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-14T07:42:59.000Z","updated_at":"2025-01-08T21:19:44.000Z","dependencies_parsed_at":"2025-01-02T16:28:59.397Z","dependency_job_id":"98f38eaa-8707-41ca-a6d2-a1eb6df09f7e","html_url":"https://github.com/arithefirst/lockbox","commit_stats":null,"previous_names":["arithefirst/lockbox"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Flockbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Flockbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Flockbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Flockbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arithefirst","download_url":"https://codeload.github.com/arithefirst/lockbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245486261,"owners_count":20623239,"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":[],"created_at":"2024-12-03T11:12:50.007Z","updated_at":"2025-03-25T14:46:18.486Z","avatar_url":"https://github.com/arithefirst.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔒 Lockbox 🔒\n\nA password protected dropbox where users given a password can upload a file. Comissioned by [@shibedrill](https://github.com/shibedrill).\n\n## Installation\n\n**1. Downloads**\n\nFirst, download [`docker-compose.yml`](https://github.com/arithefirst/lockbox/blob/master/docker/docker-compose.yml) and [`init.sql`](https://github.com/arithefirst/lockbox/blob/master/docker/init.sql) from `/docker/`. This can be done with the below comamand.\n\n```shell\nwget https://raw.githubusercontent.com/arithefirst/lockbox/refs/heads/master/docker/docker-compose.yml \u0026\u0026 \\\nwget https://raw.githubusercontent.com/arithefirst/lockbox/refs/heads/master/docker/init.sql\n```\n\n\u003e [!IMPORTANT]  \n\u003e [`init.sql`](https://github.com/arithefirst/lockbox/blob/master/docker/init.sql) is **required** for the application to work properly. It sets up the relations and inital admin credentials in PostgreSQL\n\n**2. Start the Docker Compose stack**\n\nUse vim or your favorite text editor to edit `docker-compose.yml`. Look for the line with the comment `# Your URL Goes Here (Default is localhost:3000)` and replace `http://localhost:3000` with the URI of your server. Then, run `docker-compose up -d` to start the stack. This will pull arithefirst/lockbox:latest and postgres:latest from Dockerhub and run them locally.\n\n**3. Accessing the server**\n\nNow that the Docker Compose stack is running, you can access the server from your browser at `http://IP_ADDR`, where `IP_ADDR` is the URI of the server that you are running the stack on (This should be the same URI that you set in Step 2).\n\n\u003e [!IMPORTANT]\n\u003e If you are not accessing the site at localhost, you must have a valid SSL certificate setup, as the site cookies are set to secure mode and you will not be able to log into the admin dashboard without them.\n\n## Usage\n\nThroughout the usage section, assume `IP_ADDR` is the IP or domain of the server that you are running your stack on\n\n### Uploading a File\n\nTo upload a file, go to `http://IP_ADDR:3000/` and enter the password given to you by the server's administrator. Then select a file using the `Browse...` button and click `Submit` to upload your file.\n\n### Accessing the Admin Dashboard\n\nTo access the Admin Dashboard, go to `http://IP_ADDR:3000/admin`. If you are not logged in, you will be re-directed to `http://IP_ADDR:3000/admin/login`, where you can enter your admin credentials. If this is your first time logging into the dashboard, your username will be `admin` and your password will be `changeme`\n\n### Creating a Password\n\nTo create a password, [Open the Admin Dashboard](#accessing-the-admin-dashboard), and find the password creation section. Once you find it, enter the desired password in the `Password` field, and the maximum amount of uses the password should have in the `Max Uses` field. Then click the `Add Password` button to add the new password to the database.\n\n### Creating a New Admin\n\nTo create a new admin account, [Open the Admin Dashboard](#accessing-the-admin-dashboard), and find the account creation section. Once you find it, enter the desired username in the `Username` field, and the password in the `Password` field. Then click the `Add Admin` button to add the new user to the database.\n\n### Accessing Uploads\n\nTo access uploads from a specific password, [Open the Admin Dashboard](#accessing-the-admin-dashboard), and look at the table to the left. There you will find the passwords table, which will contain every valid password. The table should display the password name, max uses, times used, and files uploaded for each password. The `Uploads` Column can be in one of three states.\n\n1. **\"No Uploads Yet!\"**\u003cbr\u003e\n   The \"No Uploads Yet!\" status means exactly what it seems, that password has not been used to upload a file yet.\n2. **Some random filename**\u003cbr\u003e\n   If you see a single filename, it means the password has only uploaded one file. In order to view/download it, click on it.\n3. **\"Click to reveal\"**\u003cbr\u003e\n   If you see \"Click to reveal\", it means that that password has been uploaded 2 or more times. Click the button to get a dropdown of all the files. Each entry can be clicked to view/download the file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farithefirst%2Flockbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farithefirst%2Flockbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farithefirst%2Flockbox/lists"}