diff --git a/.github/workflows/build_cli_linux.yml b/.github/workflows/build_cli_linux.yml index e565a4f..0ed2e6c 100644 --- a/.github/workflows/build_cli_linux.yml +++ b/.github/workflows/build_cli_linux.yml @@ -76,138 +76,3 @@ jobs: with: name: PornFetch_Linux_CLI_x32 path: dist/PornFetch_Linux_CLI_x32 - - create-release: - needs: [build-pornfetch-cli-linux-64, build-pornfetch-cli-linux-32] - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install gh CLI - run: | - curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg - sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null - sudo apt update - sudo apt install gh -y - - - name: Download Linux x64 artifact - uses: actions/download-artifact@v2 - with: - name: PornFetch_Linux_CLI_x64 - path: ./artifacts - - - name: Download Linux x32 artifact - uses: actions/download-artifact@v2 - with: - name: PornFetch_Linux_CLI_x32 - path: ./artifacts - - - name: List artifacts directory - run: ls -R ./artifacts - - - name: Get short SHA - id: vars - run: echo "GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV - - - name: Verify PAT - run: | - curl -H "Authorization: token ${{ secrets.PAT }}" https://api.github.com/user - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Check if Release Exists - id: check_release - run: | - if gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} >/dev/null 2>&1; then - echo "RELEASE_EXISTS=true" >> $GITHUB_ENV - echo "::set-output name=release_exists::true" - else - echo "RELEASE_EXISTS=false" >> $GITHUB_ENV - echo "::set-output name=release_exists::false" - fi - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Calculate SHA512 for Linux x64 - id: sha512_linux_x64 - run: | - sha512sum ./artifacts/PornFetch_Linux_CLI_x64 | awk '{ print $1 }' > sha512_linux_x64.txt - echo "sha512_linux_x64=$(cat sha512_linux_x64.txt)" >> $GITHUB_ENV - - - name: Calculate SHA512 for Linux x32 - id: sha512_linux_x32 - run: | - sha512sum ./artifacts/PornFetch_Linux_CLI_x32 | awk '{ print $1 }' > sha512_linux_x32.txt - echo "sha512_linux_x32=$(cat sha512_linux_x32.txt)" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - if: steps.check_release.outputs.release_exists == 'false' - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - SHA512_LINUX_X64: ${{ env.sha512_linux_x64 }} - SHA512_LINUX_X32: ${{ env.sha512_linux_x32 }} - with: - tag_name: v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} - release_name: Automated Release v${{ secrets.VERSION }}-${{ env.GITHUB_SHA_SHORT }} - body: | - This is an automated release generated by the CI/CD pipeline. - SHA512 Checksums: - - PornFetch_Linux_CLI_x64: ${{ env.SHA512_LINUX_X64 }} - - PornFetch_Linux_CLI_x32: ${{ env.SHA512_LINUX_X32 }} - - draft: false - prerelease: true - - - - name: Get current release body - id: get_release_body - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json body --jq .body > current_body.txt || echo "" > current_body.txt - - - name: Append new SHA512 hash to release body - id: append_release_body - run: | - echo -e "$(cat current_body.txt)\n- PornFetch_Linux_CLI_x64: ${{ env.sha512_linux_x64 }}\n- PornFetch_Linux_CLI_x32: ${{ env.sha512_linux_x32 }}" > new_body.txt - - - name: Update GitHub release - run: | - gh release edit v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --notes "$(cat new_body.txt)" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Get Release Upload URL - id: get_release_url - run: | - UPLOAD_URL=$(gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json uploadUrl --jq .uploadUrl) - echo "UPLOAD_URL=$UPLOAD_URL" >> $GITHUB_ENV - echo "::set-output name=upload_url::$UPLOAD_URL" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Upload Linux x64 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/PornFetch_Linux_CLI_x64 - asset_name: PornFetch_Linux_CLI_x64 - asset_content_type: application/gzip - - - name: Upload Linux x32 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/PornFetch_Linux_CLI_x32 - asset_name: PornFetch_Linux_CLI_x32 - asset_content_type: application/gzip diff --git a/.github/workflows/build_cli_windows.yml b/.github/workflows/build_cli_windows.yml index cbdee8c..be9e3c9 100644 --- a/.github/workflows/build_cli_windows.yml +++ b/.github/workflows/build_cli_windows.yml @@ -60,136 +60,3 @@ jobs: with: name: PornFetch_Windows_CLI_x32 path: dist/PornFetch_Windows_CLI_x32.exe - - create-release: - needs: [build-pornfetch-cli-windows-x64, build-pornfetch-cli-windows-x32] - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install gh CLI - run: | - curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg - sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null - sudo apt update - sudo apt install gh -y - - - name: Download Windows x64 artifact - uses: actions/download-artifact@v2 - with: - name: PornFetch_Windows_CLI_x64 - path: ./artifacts - - - name: Download Windows x32 artifact - uses: actions/download-artifact@v2 - with: - name: PornFetch_Windows_CLI_x32 - path: ./artifacts - - - name: List artifacts directory - run: ls -R ./artifacts - - - name: Get short SHA - id: vars - run: echo "GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV - - - name: Verify PAT - run: | - curl -H "Authorization: token ${{ secrets.PAT }}" https://api.github.com/user - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Check if Release Exists - id: check_release - run: | - if gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} >/dev/null 2>&1; then - echo "RELEASE_EXISTS=true" >> $GITHUB_ENV - echo "::set-output name=release_exists::true" - else - echo "RELEASE_EXISTS=false" >> $GITHUB_ENV - echo "::set-output name=release_exists::false" - fi - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Calculate SHA512 for Windows x64 - id: sha512_windows_x64 - run: | - sha512sum ./artifacts/PornFetch_Windows_CLI_x64.exe | awk '{ print $1 }' > sha512_windows_x64.txt - echo "sha512_windows_x64=$(cat sha512_windows_x64.txt)" >> $GITHUB_ENV - - - name: Calculate SHA512 for Windows x32 - id: sha512_windows_x32 - run: | - sha512sum ./artifacts/PornFetch_Windows_CLI_x32.exe | awk '{ print $1 }' > sha512_windows_x32.txt - echo "sha512_windows_x32=$(cat sha512_windows_x32.txt)" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - if: steps.check_release.outputs.release_exists == 'false' - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - SHA512_WINDOWS_X64: ${{ env.sha512_windows_x64 }} - SHA512_WINDOWS_X32: ${{ env.sha512_windows_x32 }} - - with: - tag_name: v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} - release_name: Automated Release v${{ secrets.VERSION }}-${{ env.GITHUB_SHA_SHORT }} - body: | - This is an automated release generated by the CI/CD pipeline. - SHA512 Checksums: - - PornFetch_Windows_CLI_x64: ${{ env.SHA512_WINDOWS_X64 }} - - PornFetch_Windows_CLI_x32: ${{ env.SHA512_WINDOWS_X32 }} - - draft: false - prerelease: true - - - name: Get current release body - id: get_release_body - run: | - gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json body --jq .body > current_body.txt || echo "" > current_body.txt - - - name: Append new SHA512 hash to release body - id: append_release_body - run: | - echo -e "$(cat current_body.txt)\n- PornFetch_Windows_CLI_x64: ${{ env.sha512_windows_x64 }}\n- PornFetch_Windows_CLI_x32: ${{ env.sha512_windows_x32 }}" > new_body.txt - - - name: Update GitHub release - run: | - gh release edit v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --notes "$(cat new_body.txt)" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Get Release Upload URL - id: get_release_url - run: | - UPLOAD_URL=$(gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json uploadUrl --jq .uploadUrl) - echo "UPLOAD_URL=$UPLOAD_URL" >> $GITHUB_ENV - echo "::set-output name=upload_url::$UPLOAD_URL" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Upload Windows x64 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/PornFetch_Windows_CLI_x64.exe - asset_name: PornFetch_Windows_CLI_x64.exe - asset_content_type: application/octet-stream - - - name: Upload Windows x32 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/PornFetch_Windows_CLI_x32.exe - asset_name: PornFetch_Windows_CLI_x32.exe - asset_content_type: application/octet-stream \ No newline at end of file diff --git a/.github/workflows/build_gui_linux.yml b/.github/workflows/build_gui_linux.yml index 4d9e038..344efb8 100644 --- a/.github/workflows/build_gui_linux.yml +++ b/.github/workflows/build_gui_linux.yml @@ -46,112 +46,3 @@ jobs: with: name: pyside6-application-x64 path: deploy/main.bin - - create-release: - needs: build-pornfetch-gui-linux-x64 - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install gh CLI - run: | - curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg - sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null - sudo apt update - sudo apt install gh -y - - - name: Download Linux x64 artifact - uses: actions/download-artifact@v2 - with: - name: pyside6-application-x64 - path: ./artifacts - - - name: List artifacts directory - run: ls -R ./artifacts - - - name: Get short SHA - id: vars - run: echo "GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV - - - name: Verify PAT - run: | - curl -H "Authorization: token ${{ secrets.PAT }}" https://api.github.com/user - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Check if Release Exists - id: check_release - run: | - if gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} >/dev/null 2>&1; then - echo "RELEASE_EXISTS=true" >> $GITHUB_ENV - echo "::set-output name=release_exists::true" - else - echo "RELEASE_EXISTS=false" >> $GITHUB_ENV - echo "::set-output name=release_exists::false" - fi - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Calculate SHA512 for Linux x64 - id: sha512_linux_x64 - run: | - sha512sum ./artifacts/main.bin | awk '{ print $1 }' > sha512_linux_x64.txt - echo "sha512_linux_x64=$(cat sha512_linux_x64.txt)" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - if: steps.check_release.outputs.release_exists == 'false' - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - SHA512_LINUX_X64: ${{ env.sha512_linux_x64 }} - with: - tag_name: v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} - release_name: Automated Release v${{ secrets.VERSION }}-${{ env.GITHUB_SHA_SHORT }} - body: | - This is an automated release generated by the CI/CD pipeline. - SHA512 Checksums: - - PornFetch_Linux_GUI_x64: ${{ env.sha512_linux_x64 }} - draft: false - prerelease: true - - - name: Get current release body - id: get_release_body - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json body --jq .body > current_body.txt || echo "" > current_body.txt - - - name: Append new SHA512 hash to release body - id: append_release_body - run: | - echo -e "$(cat current_body.txt)\n- PornFetch_GUI_Linux_x64: ${{ env.sha512_linux_x64 }}" > new_body.txt - - - name: Update GitHub release - run: | - gh release edit v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --notes "$(cat new_body.txt)" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Get Release Upload URL - id: get_release_url - run: | - UPLOAD_URL=$(gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json uploadUrl --jq .uploadUrl) - echo "UPLOAD_URL=$UPLOAD_URL" >> $GITHUB_ENV - echo "::set-output name=upload_url::$UPLOAD_URL" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Upload Linux x64 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/main.bin - asset_name: PornFetch_GUI_Linux_x64.bin - asset_content_type: application/octet-stream \ No newline at end of file diff --git a/.github/workflows/build_gui_windows.yml b/.github/workflows/build_gui_windows.yml index b452a42..ca3e0ff 100644 --- a/.github/workflows/build_gui_windows.yml +++ b/.github/workflows/build_gui_windows.yml @@ -43,118 +43,3 @@ jobs: with: name: pyside6-application-windows-x64 path: deploy/main.exe - - create-release: - needs: build-pornfetch-gui-windows-x64 - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Install gh CLI - run: | - curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg - sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null - sudo apt update - sudo apt install gh -y - - - name: Download Windows x64 artifact - uses: actions/download-artifact@v2 - with: - name: pyside6-application-windows-x64 - path: ./artifacts - - - name: List artifacts directory - run: ls -R ./artifacts - - - name: Get short SHA - id: vars - run: echo "GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV - - - name: Verify PAT - run: | - curl -H "Authorization: token ${{ secrets.PAT }}" https://api.github.com/user - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Check if Release Exists - id: check_release - run: | - if gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} >/dev/null 2>&1; then - echo "RELEASE_EXISTS=true" >> $GITHUB_ENV - echo "::set-output name=release_exists::true" - else - echo "RELEASE_EXISTS=false" >> $GITHUB_ENV - echo "::set-output name=release_exists::false" - fi - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - - - name: Calculate SHA512 for Windows x64 - id: sha512_windows_x64 - run: | - sha512sum ./artifacts/main.exe | awk '{ print $1 }' > sha512_windows_x64.txt - echo "sha512_windows_x64=$(cat sha512_windows_x64.txt)" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - if: steps.check_release.outputs.release_exists == 'false' - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - SHA512_WINDOWS_X64: ${{ env.sha512_windows_x64 }} - with: - tag_name: v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} - release_name: Automated Release v${{ secrets.VERSION }}-${{ env.GITHUB_SHA_SHORT }} - body: | - This is an automated release generated by the CI/CD pipeline. - SHA512 Checksums: - - PornFetch_Windows_GUI_x64: ${{ env.sha512_windows_x64 }} - draft: false - prerelease: true - - - name: Get current release body - id: get_release_body - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json body --jq .body > current_body.txt || echo "" > current_body.txt - - - name: Debug - Print current release body - run: cat current_body.txt - - - name: Append new SHA512 hash to release body - id: append_release_body - run: | - echo -e "$(cat current_body.txt)\n- PornFetch_GUI_Windows_x64: ${{ env.sha512_windows_x64 }}" > new_body.txt - - - name: Debug - Print new release body - run: cat new_body.txt - - - name: Update GitHub release - run: | - gh release edit v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --notes "$(cat new_body.txt)" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Get Release Upload URL - id: get_release_url - run: | - UPLOAD_URL=$(gh release view v${{ secrets.VERSION }}-automated-${{ env.GITHUB_SHA_SHORT }} --json uploadUrl --jq .uploadUrl) - echo "UPLOAD_URL=$UPLOAD_URL" >> $GITHUB_ENV - echo "::set-output name=upload_url::$UPLOAD_URL" - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - shell: bash - - - name: Upload Windows x64 artifact to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.PAT }} - with: - upload_url: ${{ steps.get_release_url.outputs.upload_url }} - asset_path: ./artifacts/main.exe - asset_name: PornFetch_GUI_Windows_x64.exe - asset_content_type: application/octet-stream \ No newline at end of file diff --git a/README/ANTIVIRUS_FLAGS.md b/README/ANTIVIRUS_FLAGS.md index b9d3fcb..86bfcd5 100644 --- a/README/ANTIVIRUS_FLAGS.md +++ b/README/ANTIVIRUS_FLAGS.md @@ -17,7 +17,6 @@ Porn Fetch also is not known by any AV or by any browser as it only has like 7k (This explanation is also for people who are not in tech, so read carefully) - GitHub is a platform where developers can host their code. To say it extremely simple, GitHub manages your code and let people interact with it (really simple explained). GitHub has a feature called "GitHub Actions" (CI/CD). This lets you automate things using a script. @@ -28,8 +27,9 @@ if I made any changes to the code before publishing it. This is of course not go to automatically convert the source code into the binary file, but here comes the best: I am technically not able to modify this process. The code compilation in the GitHub actions is defined by the scripts which are -available under ".github/workflows" in my repository. The workflow will also calculate the SHA 512 sum. The SHA 512 sum is a fingerprint -of the file. It's technically not possible for anyone in the world to "fake" this sha sum. It's cryptographically safe. +available under ".github/workflows" in my repository. So what you can do is, you can after every release go to the workflow +which created the binary file. (I'll link to it) And then you can download it, and compare the sha sum from this GitHub actions +release with the official release. So if you compare the SHA sum from the file from GitHub actions and the SHA sum from the releases and the SHA sum matches, then you know that the file is by 100% the same. It's completely identical. @@ -39,7 +39,7 @@ Now what if a hacker hacks into my account and publishes his own file? My files are also signed using a PGP key. Now I won't explain what this is, but basically you can do: -gpg --verify "filename" +gpg --verify "filename.sig" "filename" If it says something like signed by "Johannes Habel " with this key ID: 1E04D0A679846BC0 then you know it was me who published it. diff --git a/README/CHANGELOG.md b/README/CHANGELOG.md index 9eb3519..751b819 100644 --- a/README/CHANGELOG.md +++ b/README/CHANGELOG.md @@ -415,4 +415,4 @@ I tested it on Android 12 & 13 on two devices. - Fixed file progress - Fixed an issue where the semaphore wouldn't release in the CLI which makes downloading almost impossible, because the thread is permanently locked -- Fixed the build scripts for Windows and Linux | Thanks @omar-st [Pull Request #48](https://github.com/EchterAlsFake/Porn_Fetch/commit/2d9cc2885c1383369020a5c26e957fe5cdf0f886) [Related Issue #46](https://github.com/EchterAlsFake/Porn_Fetch/issues/46) \ No newline at end of file +- Fixed the build scripts for Windows and Linux | Thanks @omar-st [Pull Request #48](https://github.com/EchterAlsFake/Porn_Fetch/commit/2d9cc2885c1383369020a5c26e957fe5cdf0f886) [Related Issue #46](https://github.com/EchterAlsFake/Porn_Fetch/issues/46)> \ No newline at end of file