name: Wordlist Updater - Combined directories

on:
  workflow_dispatch:
  push:
    branches:
      - '**'
    paths:
      - 'Discovery/Web-Content/apache.txt'
      - 'Discovery/Web-Content/combined_words.txt'
      - 'Discovery/Web-Content/common_directories.txt'
      - 'Discovery/Web-Content/DirBuster-2007_directory-list-2.3-big.txt'
      - 'Discovery/Web-Content/DirBuster-2007_directory-list-2.3-medium.txt'
      - 'Discovery/Web-Content/DirBuster-2007_directory-list-2.3-small.txt'
      - 'Discovery/Web-Content/raft-large-directories-lowercase.txt'
      - 'Discovery/Web-Content/raft-large-directories.txt'
      - 'Discovery/Web-Content/raft-medium-directories-lowercase.txt'
      - 'Discovery/Web-Content/raft-medium-directories.txt'
      - 'Discovery/Web-Content/raft-small-directories-lowercase.txt'
      - 'Discovery/Web-Content/raft-small-directories.txt'

jobs:
  update_combined_directories:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Generate combined_directories.txt
        run: cd Discovery/Web-Content/ && cat raft-small-directories* directory-list-2.3-small.txt raft-medium-directories* directory-list-2.3-medium.txt apache.txt combined_words.txt directory-list-2.3-big.txt raft-large-directories* directory-list-1.0.txt | awk '! seen[$0]++' > combined_directories.txt
      - name: Switching from HTTPS to SSH
        run: git remote set-url origin git@github.com:${{ github.repository }}.git
      - name: Check for changes
        run: git status
      - name: Stage changed files
        run: git add Discovery/Web-Content/combined_directories.txt
      - name: Configure git email and username
        run: |
          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
      - name: Commit changed files
        run: git commit -m "[Github Action] Updated combined_directories.txt"
      - name: Push changes # push the output folder to your repo
        uses: ad-m/github-push-action@4cc74773234f74829a8c21bc4d69dd4be9cfa599 # master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          force: true
