Last active
February 8, 2026 01:03
-
-
Save shuuryou/c07332d3d0949fcbd7c413166201b21e to your computer and use it in GitHub Desktop.
Zammad branding remover: a small shell script that will patch away "Powered by Zammad" and the "Come work for us" banner in the JavaScript console. It also provides a clean way to replace the SVG logos. The script needs to be run after every update.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | |
| remove_branding() { | |
| local file="$1" | |
| echo " * $file" | |
| perl -i -pe 'BEGIN{undef $/;} s!<div class="poweredBy">.+?</div>!!sig' "$file" | |
| } | |
| echo "Removing branding..." | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/admin_password_auth/request.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/admin_password_auth/request_sent.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/login.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/password/reset_change.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/password/reset_failed.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/password/reset.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/password/reset_sent.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/signup/verify.jst.eco | |
| remove_branding /opt/zammad/app/assets/javascripts/app/views/signup.jst.eco | |
| echo "Removing ASCII art logo in JavaScript console..." | |
| cp "$SCRIPT_DIR/hello_banner.coffee" "/opt/zammad/app/assets/javascripts/app/controllers/_plugin/hello_banner.coffee" | |
| echo "Restoring custom files in public folder..." | |
| rsync -av "$SCRIPT_DIR/public/" "/opt/zammad/public/" | |
| echo "Replacing logos..." | |
| if xsltproc "$SCRIPT_DIR/patchsprites.xsl" "/opt/zammad/public/assets/images/icons.svg" > "/opt/zammad/public/assets/images/icons.svg.new" | |
| then | |
| mv "/opt/zammad/public/assets/images/icons.svg.new" "/opt/zammad/public/assets/images/icons.svg" | |
| else | |
| echo "Error!" | |
| exit 1 | |
| fi | |
| echo "Deleting stale assets..." | |
| rm -v /opt/zammad/public/assets/*.gz | |
| rm -v /opt/zammad/public/assets/*.js | |
| rm -v /opt/zammad/public/assets/*.css | |
| echo "Clearing cache..." | |
| zammad run rails r "Rails.cache.clear" | |
| echo "Recompiling assets..." | |
| /usr/bin/zammad run rake assets:precompile | |
| echo "Restarting application server..." | |
| systemctl restart zammad | |
| echo "Finished." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:svg="http://www.w3.org/2000/svg"> | |
| <xsl:output method="xml" doctype-public="-//W3C//DTD SVG 1.1//EN" doctype-system="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"/> | |
| <xsl:template match="svg:symbol[@id='icon-logo' or @id='icon-full-logo' or @id='icon-logotype']"> | |
| <symbol> | |
| <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute> | |
| <xsl:attribute name="preserveAspectRatio"><xsl:value-of select="@preserveAspectRatio"/></xsl:attribute> | |
| <xsl:attribute name="viewBox"><!-- TODO: Replace --></xsl:attribute> | |
| <!-- TODO: Replace --> | |
| </symbol> | |
| </xsl:template> | |
| <xsl:template match="@*|node()"> | |
| <xsl:copy> | |
| <xsl:apply-templates select="@*|node()"/> | |
| </xsl:copy> | |
| </xsl:template> | |
| </xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment