- Products
- Learn
- Local User Groups
- Partners
- More
The Great Exposure Reset
24 February 2026 @ 5pm CET / 11am EST
CheckMates Fest 2026
Watch Now!AI Security Masters
Hacking with AI: The Dark Side of Innovation
CheckMates Go:
CheckMates Fest
🚀 Host SmartConsole Extensions locally on your firewall management
🔒 Most secure way to host and access SmartConsole Extensions
👍 No third-party hosting software required
One-liner (Bash) to localize SmartConsole Extensions.
In expert mode run:
_smx(){ printf "\n _ ____ ____ ____ _ _ _____ ____ _____ \n| |__ / () \\/ (__\` / () \\ | |__ | |\` / /_| ===|| () )\n|____|\\____/\\____)/__/\\__\\|____||_| /___/|____||_|\\_\\ \n";printf '%.s ' {1..26};printf "for SmartConsole Extensions\n\n";read -p "Public extension URL: " u;[[ $u == https://* && $u == *.json ]]||{ echo Error: URL must start with https:// and point to .json;echo;return;};f=$(basename "$u");p="";i=$(grep proxy:ip /config/active|awk '{print $2}');o=$(grep proxy:port /config/active|awk '{print $2}');[[ $i ]]&&p="--proxy $i:$o";curl_cli $p --cacert $CPDIR/conf/ca-bundle.crt -fsSL "$u" -o "$f.tmp"||{ echo Error: Failed to download SmartConsole Extension;rm -f "$f.tmp";echo;return;};$CPDIR/jq/jq -e . "$f.tmp" >/dev/null 2>&1||{ echo Error: Invalid JSON syntax of SmartConsole Extension;rm -f "$f.tmp";echo;return;};e=$($CPDIR/jq/jq -r '.locations[0]."ui-element".action.url' "$f.tmp");[[ $e && $e != null ]]||{ echo Error: Couldn\'t find the url field in "$f";rm -f "$f.tmp";echo;return;};x=$(basename "$e");[[ $e == http*://* ]]&&w="$e"||{ [[ $e == /* ]]&&w="${u%%/*}//${u#*//}";w="${w%%/*}$e";[[ $e != /* ]]&&w="${u%/*}/$e";};curl_cli $p --cacert $CPDIR/conf/ca-bundle.crt -fsSL "$w" -o "$x.tmp"||{ echo Error: Failed to download extension file $w;rm -f "$f.tmp";echo;return;};d=/web/htdocs2/smx;[[ -d $d ]]||mkdir -p "$d";chmod o+rx "$d";$CPDIR/jq/jq ".locations[0].\"ui-element\".action.url=\"$x\"" "$f.tmp">"$f.tmp2";mv "$f.tmp2" "$f.tmp";mv -f "$f.tmp" "$d/$f"||{ echo "Error: Failed to move $f.tmp to $d/$f";rm -f "$f.tmp" "$x.tmp";echo;return;};mv -f "$x.tmp" "$d/$x"||{ echo "Error: Failed to move $x.tmp to $d/$x";rm -f "$f.tmp" "$x.tmp";echo;return;};chmod o+r "$d/$f" "$d/$x";l=/web/htdocs2/login;ln -sf "$d/$f" "$l/$f";ln -sf "$d/$x" "$l/$x";echo -n "Localized extension URL: ";h=$(grep hosts:v4:mgmt:address /config/active|awk '{print $2}');s=$(grep httpd:ssl_port /config/active|awk '{print $2}');[[ $s == 443 ]]&&echo https://$h/login/$f||echo https://$h:$s/login/$f;echo;};_smx;unset -f _smx
Simply copy & paste the localized URL into your SmartConsole > Manage & Settings > Preferences > SmartConsole Extensions
Done. 🎉
If your firewall management has no internet access to localize SmartConsole Extensions with this tool, easily localize them manually following these steps:
smx in /web/htdocs2//web/htdocs2/smxsmx folder/web/htdocs2/smx/*/web/htdocs2/login and create symlinks to your SmartConsole Extension files
ln -s /web/htdocs2/smx/ipcalc.json & ln -s /web/htdocs2/smx/ipcalc.htm
🚀 Host SmartConsole Extensions locally on your firewall management
🔒 Most secure way to host and access SmartConsole Extensions
👍 No third-party hosting software required
One-liner (Bash) to localize SmartConsole Extensions.
In expert mode run:
_smx(){ printf "\n _ ____ ____ ____ _ _ _____ ____ _____ \n| |__ / () \\/ (__\` / () \\ | |__ | |\` / /_| ===|| () )\n|____|\\____/\\____)/__/\\__\\|____||_| /___/|____||_|\\_\\ \n";printf '%.s ' {1..26};printf "forThank you @Danny
This is very useful as using SmartConsole Extensions from remote servers is not allowed in our environment.
When localizing extensions I’d say it maybe would be beneficial to have a cronjob frequently comparing the external hosted original with the locally stored copy to get updates if any.
About CheckMates
Learn Check Point
Advanced Learning
YOU DESERVE THE BEST SECURITY