{"id":17941781,"url":"https://github.com/maheshtechnicals/upload_to_sourceforge","last_synced_at":"2025-04-30T11:56:42.374Z","repository":{"id":259353125,"uuid":"877160802","full_name":"MaheshTechnicals/upload_to_sourceforge","owner":"MaheshTechnicals","description":"The Upload to SourceForge Script is a Bash script designed to simplify the process of uploading .img and .zip files to a specified project on SourceForge. This script provides an interactive command-line interface that allows users to easily select files for upload from their local directory based on a numbered list.","archived":false,"fork":false,"pushed_at":"2025-01-13T18:19:20.000Z","size":64,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T02:17:32.135Z","etag":null,"topics":["automation","bash","command-line","files","interface","jq","json","scp","script","sourceforge","upload","uploads"],"latest_commit_sha":null,"homepage":"https://maheshtechnicals.com/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaheshTechnicals.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-23T07:35:35.000Z","updated_at":"2025-01-25T12:45:55.000Z","dependencies_parsed_at":"2024-10-24T19:20:47.728Z","dependency_job_id":"5d60c18b-9df0-49cc-a240-6eafbdbb43b1","html_url":"https://github.com/MaheshTechnicals/upload_to_sourceforge","commit_stats":null,"previous_names":["maheshtechnicals/upload_to_sourceforge"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaheshTechnicals%2Fupload_to_sourceforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaheshTechnicals%2Fupload_to_sourceforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaheshTechnicals%2Fupload_to_sourceforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaheshTechnicals%2Fupload_to_sourceforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaheshTechnicals","download_url":"https://codeload.github.com/MaheshTechnicals/upload_to_sourceforge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237894355,"owners_count":19383170,"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":["automation","bash","command-line","files","interface","jq","json","scp","script","sourceforge","upload","uploads"],"created_at":"2024-10-29T02:04:08.430Z","updated_at":"2025-02-09T02:17:38.871Z","avatar_url":"https://github.com/MaheshTechnicals.png","language":"Shell","readme":"\n# Upload to SourceForge Script\n\n## Overview\n\nThis script allows you to upload files from your local directory to a specified project on SourceForge using SCP (Secure Copy Protocol). It lists available `.img` and `.zip` files, and you can select them for upload. Additionally, the script now includes an option to upload any file via a custom path, enabling users to upload other types of files by specifying the file location.\n\nThis script was created by **Mahesh Technicals**.\n\n## Features\n\n- Lists all available `.img` and `.zip` files in the current directory with numbering.\n- **New Option:** Allows users to upload a file by providing a custom file path.\n- Allows selection of specific files to upload or uploading all files at once.\n- Verifies the uploaded files on SourceForge after completion.\n- Includes colorful terminal output for an enhanced user experience.\n- Automatically installs necessary dependencies (`jq`).\n\n## Requirements\n\n- `jq`: Used to parse `private.json` for SourceForge credentials.\n- `scp`: Secure Copy for file uploads over SSH.\n- A SourceForge account with a project to upload the files to.\n\n## Usage\n\n1. Clone or download this script.\n2. Ensure you have a `private.json` file with your SourceForge credentials (see format below).\n3. Run the script to upload your files.\n\n### `private.json` Format\n\nThe script uses a `private.json` file to retrieve your SourceForge credentials and project information. The format of the `private.json` file should be as follows:\n\n```json\n{\n  \"username\": \"your_sourceforge_username\",\n  \"project\": \"your_project_name\"\n}\n```\n\n- `username`: Your SourceForge username.\n- `project`: The name of your SourceForge project where files will be uploaded.\n\n### Running the Script\n\n1. Make the script executable:\n\n   ```bash\n   chmod +x upload_to_sourceforge.sh\n   ```\n\n2. Run the script:\n\n   ```bash\n   ./upload_to_sourceforge.sh\n   ```\n\n3. The script will display a list of `.img` and `.zip` files available for upload:\n   - Option 1: Upload all `.img` and `.zip` files.\n   - Option 2: Upload a file via a custom file path.\n   - You will be prompted to select the files or path you want to upload by entering the corresponding number(s).\n   - You can select multiple files by entering the numbers separated by spaces (e.g., `2 4 5`).\n\n4. The script will upload the selected files to your SourceForge project and verify the uploaded files.\n\n### Example Output\n\n```bash\n###############################################\nScript by Mahesh Technicals - Version 1.0\n###############################################\njq is already installed.\nAvailable options:\n1) All .img and .zip files\n2) Upload a file via custom path\n\nEnter the numbers of the files you want to upload (e.g., 1 2): 2\nEnter the full path of the file you want to upload: /path/to/customfile.txt\nUploading customfile.txt to your_project_name...\nSuccessfully uploaded customfile.txt.\n```\n\n## License\n\nThis script is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaheshtechnicals%2Fupload_to_sourceforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaheshtechnicals%2Fupload_to_sourceforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaheshtechnicals%2Fupload_to_sourceforge/lists"}