mirror of
https://github.com/0x5t4l1n/Keylogger.git
synced 2026-05-26 19:36:31 +00:00
Merge pull request #23 from Stalin-143/copilot/create-release-version
Add release automation with tag-triggered workflow
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
name: Create Release
|
name: Create Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
- 'v[0-9]+.[0-9]+.[0-9]+-*'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
version:
|
version:
|
||||||
@@ -26,13 +30,30 @@ jobs:
|
|||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v3
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.10"
|
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
|
- name: Validate version format
|
||||||
run: |
|
run: |
|
||||||
if [[ ! "${{ inputs.version }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
|
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)"
|
echo "Error: Version must follow semantic versioning (e.g., v1.0.0 or v1.0.0-beta.1)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -40,10 +61,10 @@ jobs:
|
|||||||
- name: Create Release
|
- name: Create Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ inputs.version }}
|
tag_name: ${{ steps.get_version.outputs.version }}
|
||||||
name: Release ${{ inputs.version }}
|
name: Release ${{ steps.get_version.outputs.version }}
|
||||||
body: |
|
body: |
|
||||||
## Keylogger ${{ inputs.version }}
|
## Keylogger ${{ steps.get_version.outputs.version }}
|
||||||
|
|
||||||
### 📦 What's Included
|
### 📦 What's Included
|
||||||
- Main keylogger script (`src/keylogger.py`)
|
- Main keylogger script (`src/keylogger.py`)
|
||||||
@@ -68,7 +89,7 @@ jobs:
|
|||||||
|
|
||||||
See [README.md](https://github.com/Stalin-143/Keylogger/blob/main/README.md) for full documentation.
|
See [README.md](https://github.com/Stalin-143/Keylogger/blob/main/README.md) for full documentation.
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: ${{ inputs.prerelease }}
|
prerelease: ${{ steps.get_version.outputs.prerelease }}
|
||||||
generate_release_notes: true
|
generate_release_notes: true
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.0.0] - 2026-02-04
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Initial release of the Keylogger project
|
||||||
|
- Main keylogger script (`src/keylogger.py`) with keystroke logging capabilities
|
||||||
|
- Web server (`src/server.py`) for viewing logs through a secure interface
|
||||||
|
- Configuration management via JSON config files and environment variables
|
||||||
|
- Command-line interface with flexible argument parsing
|
||||||
|
- Batch processing to reduce network overhead
|
||||||
|
- Basic authentication for the web interface
|
||||||
|
- Setup script (`setup.sh`) for easy installation
|
||||||
|
- Comprehensive documentation including README, SECURITY, and DISCLAIMER files
|
||||||
|
- GitHub Actions workflows for CI/CD and releases
|
||||||
|
|
||||||
|
### Security
|
||||||
|
- Password-protected web interface
|
||||||
|
- Environment variable support for sensitive credentials
|
||||||
|
- Security policy documentation (SECURITY.md)
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Planned
|
||||||
|
- Enhanced encryption for log transmission
|
||||||
|
- Multi-platform support improvements
|
||||||
|
- Additional authentication methods
|
||||||
@@ -242,6 +242,24 @@ Contributions are welcome! Please make sure to follow ethical guidelines and leg
|
|||||||
|
|
||||||
See our [Contributors Hall of Fame](CONTRIBUTORS.md) to view all the amazing people who have contributed to this project! ✨
|
See our [Contributors Hall of Fame](CONTRIBUTORS.md) to view all the amazing people who have contributed to this project! ✨
|
||||||
|
|
||||||
|
### Creating Releases
|
||||||
|
|
||||||
|
Releases can be created in two ways:
|
||||||
|
|
||||||
|
1. **Using Git tags** (recommended):
|
||||||
|
```bash
|
||||||
|
git tag v1.0.0
|
||||||
|
git push origin v1.0.0
|
||||||
|
```
|
||||||
|
This automatically triggers the release workflow.
|
||||||
|
|
||||||
|
2. **Manual workflow dispatch**:
|
||||||
|
- Go to Actions → Create Release
|
||||||
|
- Click "Run workflow"
|
||||||
|
- Enter the version (e.g., `v1.0.0`)
|
||||||
|
|
||||||
|
See [CHANGELOG.md](CHANGELOG.md) for version history.
|
||||||
|
|
||||||
## 📜 License
|
## 📜 License
|
||||||
|
|
||||||
This project is licensed under the [License](LICENSE)
|
This project is licensed under the [License](LICENSE)
|
||||||
|
|||||||
Reference in New Issue
Block a user