https://github.com/maheshtechnicals/upload_to_sourceforge
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.
https://github.com/maheshtechnicals/upload_to_sourceforge
automation bash command-line files interface jq json scp script sourceforge upload uploads
Last synced: 9 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/maheshtechnicals/upload_to_sourceforge
- Owner: MaheshTechnicals
- License: other
- Created: 2024-10-23T07:35:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-13T18:19:20.000Z (about 1 year ago)
- Last Synced: 2025-02-09T02:17:32.135Z (12 months ago)
- Topics: automation, bash, command-line, files, interface, jq, json, scp, script, sourceforge, upload, uploads
- Language: Shell
- Homepage: https://maheshtechnicals.com/
- Size: 62.5 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Upload to SourceForge Script
## Overview
This 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.
This script was created by **Mahesh Technicals**.
## Features
- Lists all available `.img` and `.zip` files in the current directory with numbering.
- **New Option:** Allows users to upload a file by providing a custom file path.
- Allows selection of specific files to upload or uploading all files at once.
- Verifies the uploaded files on SourceForge after completion.
- Includes colorful terminal output for an enhanced user experience.
- Automatically installs necessary dependencies (`jq`).
## Requirements
- `jq`: Used to parse `private.json` for SourceForge credentials.
- `scp`: Secure Copy for file uploads over SSH.
- A SourceForge account with a project to upload the files to.
## Usage
1. Clone or download this script.
2. Ensure you have a `private.json` file with your SourceForge credentials (see format below).
3. Run the script to upload your files.
### `private.json` Format
The 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:
```json
{
"username": "your_sourceforge_username",
"project": "your_project_name"
}
```
- `username`: Your SourceForge username.
- `project`: The name of your SourceForge project where files will be uploaded.
### Running the Script
1. Make the script executable:
```bash
chmod +x upload_to_sourceforge.sh
```
2. Run the script:
```bash
./upload_to_sourceforge.sh
```
3. The script will display a list of `.img` and `.zip` files available for upload:
- Option 1: Upload all `.img` and `.zip` files.
- Option 2: Upload a file via a custom file path.
- You will be prompted to select the files or path you want to upload by entering the corresponding number(s).
- You can select multiple files by entering the numbers separated by spaces (e.g., `2 4 5`).
4. The script will upload the selected files to your SourceForge project and verify the uploaded files.
### Example Output
```bash
###############################################
Script by Mahesh Technicals - Version 1.0
###############################################
jq is already installed.
Available options:
1) All .img and .zip files
2) Upload a file via custom path
Enter the numbers of the files you want to upload (e.g., 1 2): 2
Enter the full path of the file you want to upload: /path/to/customfile.txt
Uploading customfile.txt to your_project_name...
Successfully uploaded customfile.txt.
```
## License
This script is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.