From 2c02a6eb0318cee2827c3e4784b4a9bfee073a8d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 16:22:09 +0000 Subject: [PATCH 1/2] Initial plan From 39a494fcdc9a8dcafa0bfa2c9e8ce95400f685eb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 16:25:06 +0000 Subject: [PATCH 2/2] Add release automation with tag-triggered workflow and changelog Co-authored-by: Stalin-143 <161853795+Stalin-143@users.noreply.github.com> --- .github/workflows/release.yml | 33 +++++++++++++++++++++++++++------ CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ README.md | 18 ++++++++++++++++++ VERSION | 1 + 4 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 VERSION diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8931f0b..f547eef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,10 @@ name: Create Release on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + - 'v[0-9]+.[0-9]+.[0-9]+-*' workflow_dispatch: inputs: version: @@ -26,13 +30,30 @@ jobs: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v3 + 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: | - 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)" exit 1 fi @@ -40,10 +61,10 @@ jobs: - name: Create Release uses: softprops/action-gh-release@v2 with: - tag_name: ${{ inputs.version }} - name: Release ${{ inputs.version }} + tag_name: ${{ steps.get_version.outputs.version }} + name: Release ${{ steps.get_version.outputs.version }} body: | - ## Keylogger ${{ inputs.version }} + ## Keylogger ${{ steps.get_version.outputs.version }} ### 📦 What's Included - 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. draft: false - prerelease: ${{ inputs.prerelease }} + prerelease: ${{ steps.get_version.outputs.prerelease }} generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bb02771 --- /dev/null +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 239ed07..f1607c4 100644 --- a/README.md +++ b/README.md @@ -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! ✨ +### 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 This project is licensed under the [License](LICENSE) diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..3eefcb9 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.0.0