Files
Keylogger/.github/workflows/release.yml
T
2026-02-04 16:25:06 +00:00

96 lines
3.3 KiB
YAML

name: Create Release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-*'
workflow_dispatch:
inputs:
version:
description: 'Release version (e.g., v1.0.0)'
required: true
type: string
prerelease:
description: 'Is this a pre-release?'
required: false
type: boolean
default: false
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Get version
id: get_version
run: |
if [ "${{ github.event_name }}" = "push" ]; then
VERSION="${GITHUB_REF#refs/tags/}"
else
VERSION="${{ inputs.version }}"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
# Determine if it's a prerelease (contains hyphen after version number)
if [[ "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+-.+ ]]; then
echo "prerelease=true" >> $GITHUB_OUTPUT
else
echo "prerelease=${{ inputs.prerelease || 'false' }}" >> $GITHUB_OUTPUT
fi
- name: Validate version format
run: |
VERSION="${{ steps.get_version.outputs.version }}"
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
echo "Error: Version must follow semantic versioning (e.g., v1.0.0 or v1.0.0-beta.1)"
exit 1
fi
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.get_version.outputs.version }}
name: Release ${{ steps.get_version.outputs.version }}
body: |
## Keylogger ${{ steps.get_version.outputs.version }}
### 📦 What's Included
- Main keylogger script (`src/keylogger.py`)
- Web server for viewing logs (`src/server.py`)
- Configuration templates
- Setup script for easy installation
### 🚀 Quick Start
1. Clone or download this release
2. Run `./setup.sh` to install dependencies
3. Configure `config/config.json` and `config/.env`
4. Start the server: `python3 src/server.py`
5. Run the keylogger: `python3 src/keylogger.py`
### ⚠️ Important Legal Disclaimer
**This project is for EDUCATIONAL PURPOSES ONLY.**
- Unauthorized use of keyloggers is **illegal** and may result in criminal prosecution
- Always obtain **explicit informed consent** before deploying any monitoring software
- Users are responsible for complying with all applicable local and international laws
- See [DISCLAIMER.md](https://github.com/Stalin-143/Keylogger/blob/main/DISCLAIMER.md) for full legal information
See [README.md](https://github.com/Stalin-143/Keylogger/blob/main/README.md) for full documentation.
draft: false
prerelease: ${{ steps.get_version.outputs.prerelease }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}