Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Issue getting squidguard regex to work

    Scheduled Pinned Locked Moved Cache/Proxy
    1 Posts 1 Posters 389 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lostinbits
      last edited by

      Hi everyone.

      I'm trying to get a squidguard regex filter to work.
      So far I've got a group acl configured with default deny and specific categories to whitelist.
      The domain category works perfectly fine and any domains added are usable for downloading, surfing etc.
      I want to add a specific URL using regex because some domains I don't want full access to (ie github, sourceforge etc).
      So I created a regex filter as follows

      https?\:\/\/.*\/v[0-9]\.[0-9][0-9]\/windows\/gimp-[0-9]\.[0-9][0-9]\.[0-9][0-9]-setup\.exe|https?\:\/\/github\.com\/notepad-plus-plus\/notepad-plus-plus\/releases\/download\/.*\.exe|https?\:\/\/github-releases\.githubusercontent\.com\/33014811\/.*
      

      Now according to regex tester this "should" capture the urls correctly. However when I test the download on the system it fails and falls into the default deny category.

      The SG config is below

      
      logdir /var/squidGuard/log
      dbhome /var/db/squidGuard
      ldapbinddn **CREDENTIAL**
      ldapbindpass **CREDENTIAL**
      ldapcachetime 300
      ldapprotover 3
      stripntdomain true
      striprealm true
      
      # Allow Desktop Central Update Downloads
      src DPR_Beta {
      	ip     10.23.32.2
      	log block.log
      }
      
      # Block Server Internet access Except to explicit Whitelist
      src DPR_Servers {
      	ip     10.23.32.1
      	log block.log
      }
      
      # Allow DPRCAD Internet to update sites only
      src DPRCAD_IA {
      	ip     10.23.33.6
      	log block.log
      }
      
      # 
      dest blk_BL_adv {
      	domainlist blk_BL_adv/domains
      	urllist blk_BL_adv/urls
      	redirect https://10.23.68.100:443/sgerror.php?url=blank_img&msg=&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u
      	log block.log
      }
      
      # 
      dest blk_BL_aggressive {
      	domainlist blk_BL_aggressive/domains
      	urllist blk_BL_aggressive/urls
      	log block.log
      }
      
      # 
      dest blk_BL_alcohol {
      	domainlist blk_BL_alcohol/domains
      	urllist blk_BL_alcohol/urls
      	log block.log
      }
      
      # 
      dest blk_BL_anonvpn {
      	domainlist blk_BL_anonvpn/domains
      	urllist blk_BL_anonvpn/urls
      	log block.log
      }
      
      # 
      dest blk_BL_automobile_bikes {
      	domainlist blk_BL_automobile_bikes/domains
      	urllist blk_BL_automobile_bikes/urls
      	log block.log
      }
      
      # 
      dest blk_BL_automobile_boats {
      	domainlist blk_BL_automobile_boats/domains
      	urllist blk_BL_automobile_boats/urls
      	log block.log
      }
      
      # 
      dest blk_BL_automobile_cars {
      	domainlist blk_BL_automobile_cars/domains
      	urllist blk_BL_automobile_cars/urls
      	log block.log
      }
      
      # 
      dest blk_BL_automobile_planes {
      	domainlist blk_BL_automobile_planes/domains
      	urllist blk_BL_automobile_planes/urls
      	log block.log
      }
      
      # 
      dest blk_BL_chat {
      	domainlist blk_BL_chat/domains
      	urllist blk_BL_chat/urls
      	log block.log
      }
      
      # 
      dest blk_BL_costtraps {
      	domainlist blk_BL_costtraps/domains
      	urllist blk_BL_costtraps/urls
      	log block.log
      }
      
      # 
      dest blk_BL_dating {
      	domainlist blk_BL_dating/domains
      	urllist blk_BL_dating/urls
      	log block.log
      }
      
      # 
      dest blk_BL_downloads {
      	domainlist blk_BL_downloads/domains
      	urllist blk_BL_downloads/urls
      	log block.log
      }
      
      # 
      dest blk_BL_drugs {
      	domainlist blk_BL_drugs/domains
      	urllist blk_BL_drugs/urls
      	log block.log
      }
      
      # 
      dest blk_BL_dynamic {
      	domainlist blk_BL_dynamic/domains
      	urllist blk_BL_dynamic/urls
      	log block.log
      }
      
      # 
      dest blk_BL_education_schools {
      	domainlist blk_BL_education_schools/domains
      	urllist blk_BL_education_schools/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_banking {
      	domainlist blk_BL_finance_banking/domains
      	urllist blk_BL_finance_banking/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_insurance {
      	domainlist blk_BL_finance_insurance/domains
      	urllist blk_BL_finance_insurance/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_moneylending {
      	domainlist blk_BL_finance_moneylending/domains
      	urllist blk_BL_finance_moneylending/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_other {
      	domainlist blk_BL_finance_other/domains
      	urllist blk_BL_finance_other/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_realestate {
      	domainlist blk_BL_finance_realestate/domains
      	urllist blk_BL_finance_realestate/urls
      	log block.log
      }
      
      # 
      dest blk_BL_finance_trading {
      	domainlist blk_BL_finance_trading/domains
      	urllist blk_BL_finance_trading/urls
      	log block.log
      }
      
      # 
      dest blk_BL_fortunetelling {
      	domainlist blk_BL_fortunetelling/domains
      	urllist blk_BL_fortunetelling/urls
      	log block.log
      }
      
      # 
      dest blk_BL_forum {
      	domainlist blk_BL_forum/domains
      	urllist blk_BL_forum/urls
      	log block.log
      }
      
      # 
      dest blk_BL_gamble {
      	domainlist blk_BL_gamble/domains
      	urllist blk_BL_gamble/urls
      	log block.log
      }
      
      # 
      dest blk_BL_government {
      	domainlist blk_BL_government/domains
      	urllist blk_BL_government/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hacking {
      	domainlist blk_BL_hacking/domains
      	urllist blk_BL_hacking/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hobby_cooking {
      	domainlist blk_BL_hobby_cooking/domains
      	urllist blk_BL_hobby_cooking/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hobby_games-misc {
      	domainlist blk_BL_hobby_games-misc/domains
      	urllist blk_BL_hobby_games-misc/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hobby_games-online {
      	domainlist blk_BL_hobby_games-online/domains
      	urllist blk_BL_hobby_games-online/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hobby_gardening {
      	domainlist blk_BL_hobby_gardening/domains
      	urllist blk_BL_hobby_gardening/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hobby_pets {
      	domainlist blk_BL_hobby_pets/domains
      	urllist blk_BL_hobby_pets/urls
      	log block.log
      }
      
      # 
      dest blk_BL_homestyle {
      	domainlist blk_BL_homestyle/domains
      	urllist blk_BL_homestyle/urls
      	log block.log
      }
      
      # 
      dest blk_BL_hospitals {
      	domainlist blk_BL_hospitals/domains
      	urllist blk_BL_hospitals/urls
      	log block.log
      }
      
      # 
      dest blk_BL_imagehosting {
      	domainlist blk_BL_imagehosting/domains
      	urllist blk_BL_imagehosting/urls
      	log block.log
      }
      
      # 
      dest blk_BL_isp {
      	domainlist blk_BL_isp/domains
      	urllist blk_BL_isp/urls
      	log block.log
      }
      
      # 
      dest blk_BL_jobsearch {
      	domainlist blk_BL_jobsearch/domains
      	urllist blk_BL_jobsearch/urls
      	log block.log
      }
      
      # 
      dest blk_BL_library {
      	domainlist blk_BL_library/domains
      	urllist blk_BL_library/urls
      	log block.log
      }
      
      # 
      dest blk_BL_military {
      	domainlist blk_BL_military/domains
      	urllist blk_BL_military/urls
      	log block.log
      }
      
      # 
      dest blk_BL_models {
      	domainlist blk_BL_models/domains
      	urllist blk_BL_models/urls
      	log block.log
      }
      
      # 
      dest blk_BL_movies {
      	domainlist blk_BL_movies/domains
      	urllist blk_BL_movies/urls
      	log block.log
      }
      
      # 
      dest blk_BL_music {
      	domainlist blk_BL_music/domains
      	urllist blk_BL_music/urls
      	log block.log
      }
      
      # 
      dest blk_BL_news {
      	domainlist blk_BL_news/domains
      	urllist blk_BL_news/urls
      	log block.log
      }
      
      # 
      dest blk_BL_podcasts {
      	domainlist blk_BL_podcasts/domains
      	urllist blk_BL_podcasts/urls
      	log block.log
      }
      
      # 
      dest blk_BL_politics {
      	domainlist blk_BL_politics/domains
      	urllist blk_BL_politics/urls
      	log block.log
      }
      
      # 
      dest blk_BL_porn {
      	domainlist blk_BL_porn/domains
      	urllist blk_BL_porn/urls
      	log block.log
      }
      
      # 
      dest blk_BL_radiotv {
      	domainlist blk_BL_radiotv/domains
      	urllist blk_BL_radiotv/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_humor {
      	domainlist blk_BL_recreation_humor/domains
      	urllist blk_BL_recreation_humor/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_martialarts {
      	domainlist blk_BL_recreation_martialarts/domains
      	urllist blk_BL_recreation_martialarts/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_restaurants {
      	domainlist blk_BL_recreation_restaurants/domains
      	urllist blk_BL_recreation_restaurants/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_sports {
      	domainlist blk_BL_recreation_sports/domains
      	urllist blk_BL_recreation_sports/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_travel {
      	domainlist blk_BL_recreation_travel/domains
      	urllist blk_BL_recreation_travel/urls
      	log block.log
      }
      
      # 
      dest blk_BL_recreation_wellness {
      	domainlist blk_BL_recreation_wellness/domains
      	urllist blk_BL_recreation_wellness/urls
      	log block.log
      }
      
      # 
      dest blk_BL_redirector {
      	domainlist blk_BL_redirector/domains
      	urllist blk_BL_redirector/urls
      	log block.log
      }
      
      # 
      dest blk_BL_religion {
      	domainlist blk_BL_religion/domains
      	urllist blk_BL_religion/urls
      	log block.log
      }
      
      # 
      dest blk_BL_remotecontrol {
      	domainlist blk_BL_remotecontrol/domains
      	urllist blk_BL_remotecontrol/urls
      	log block.log
      }
      
      # 
      dest blk_BL_ringtones {
      	domainlist blk_BL_ringtones/domains
      	urllist blk_BL_ringtones/urls
      	log block.log
      }
      
      # 
      dest blk_BL_science_astronomy {
      	domainlist blk_BL_science_astronomy/domains
      	urllist blk_BL_science_astronomy/urls
      	log block.log
      }
      
      # 
      dest blk_BL_science_chemistry {
      	domainlist blk_BL_science_chemistry/domains
      	urllist blk_BL_science_chemistry/urls
      	log block.log
      }
      
      # 
      dest blk_BL_searchengines {
      	domainlist blk_BL_searchengines/domains
      	urllist blk_BL_searchengines/urls
      	log block.log
      }
      
      # 
      dest blk_BL_sex_education {
      	domainlist blk_BL_sex_education/domains
      	urllist blk_BL_sex_education/urls
      	log block.log
      }
      
      # 
      dest blk_BL_sex_lingerie {
      	domainlist blk_BL_sex_lingerie/domains
      	urllist blk_BL_sex_lingerie/urls
      	log block.log
      }
      
      # 
      dest blk_BL_shopping {
      	domainlist blk_BL_shopping/domains
      	urllist blk_BL_shopping/urls
      	log block.log
      }
      
      # 
      dest blk_BL_socialnet {
      	domainlist blk_BL_socialnet/domains
      	urllist blk_BL_socialnet/urls
      	log block.log
      }
      
      # 
      dest blk_BL_spyware {
      	domainlist blk_BL_spyware/domains
      	urllist blk_BL_spyware/urls
      	log block.log
      }
      
      # 
      dest blk_BL_tracker {
      	domainlist blk_BL_tracker/domains
      	urllist blk_BL_tracker/urls
      	log block.log
      }
      
      # 
      dest blk_BL_updatesites {
      	domainlist blk_BL_updatesites/domains
      	urllist blk_BL_updatesites/urls
      	log block.log
      }
      
      # 
      dest blk_BL_urlshortener {
      	domainlist blk_BL_urlshortener/domains
      	urllist blk_BL_urlshortener/urls
      	log block.log
      }
      
      # 
      dest blk_BL_violence {
      	domainlist blk_BL_violence/domains
      	urllist blk_BL_violence/urls
      	log block.log
      }
      
      # 
      dest blk_BL_warez {
      	domainlist blk_BL_warez/domains
      	urllist blk_BL_warez/urls
      	log block.log
      }
      
      # 
      dest blk_BL_weapons {
      	domainlist blk_BL_weapons/domains
      	urllist blk_BL_weapons/urls
      	log block.log
      }
      
      # 
      dest blk_BL_webmail {
      	domainlist blk_BL_webmail/domains
      	urllist blk_BL_webmail/urls
      	log block.log
      }
      
      # 
      dest blk_BL_webphone {
      	domainlist blk_BL_webphone/domains
      	urllist blk_BL_webphone/urls
      	log block.log
      }
      
      # 
      dest blk_BL_webradio {
      	domainlist blk_BL_webradio/domains
      	urllist blk_BL_webradio/urls
      	log block.log
      }
      
      # 
      dest blk_BL_webtv {
      	domainlist blk_BL_webtv/domains
      	urllist blk_BL_webtv/urls
      	log block.log
      }
      
      # Whitelist for Windows Servers
      dest Server_WL {
      	domainlist Server_WL/domains
      }
      
      # Domain Filter for permitting Desktop Central Repository Downloads
      dest P_DCREP_DOM {
      	domainlist P_DCREP_DOM/domains
      }
      
      # Regex Filter for permitting Desktop Central Repository Downloads
      dest P_DCREP_REx {
      	expressionlist P_DCREP_REx/expressions
      }
      
      # 
      dest Permittedext {
      	domainlist Permittedext/domains
      	expressionlist Permittedext/expressions
      	urllist Permittedext/urls
      	log block.log
      }
      
      # 
      dest BlockedExe {
      	expressionlist BlockedExe/expressions
      	redirect https://10.23.68.100:443/sgerror.php?url=403%20These%20Extensions%20have%20been%20Blocked.%20Contact%20Jason%20if%20you%20need%20access%20to%20these%20files.&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u
      	log block.log
      }
      
      # Whitelist for clients denied access to proxy but permitted updates.
      dest Permitted_WL {
      	domainlist Permitted_WL/domains
      	urllist Permitted_WL/urls
      }
      
      # Blocks All domains
      dest Blacklist_ALL {
      	expressionlist Blacklist_ALL/expressions
      	log block.log
      }
      
      # 
      rew safesearch {
      	s@(google..*/search?.*q=.*)@&safe=active@i
      	s@(google..*/images.*q=.*)@&safe=active@i
      	s@(google..*/groups.*q=.*)@&safe=active@i
      	s@(google..*/news.*q=.*)@&safe=active@i
      	s@(yandex..*/yandsearch?.*text=.*)@&fyandex=1@i
      	s@(search.yahoo..*/search.*p=.*)@&vm=r&v=1@i
      	s@(search.live..*/.*q=.*)@&adlt=strict@i
      	s@(search.msn..*/.*q=.*)@&adlt=strict@i
      	s@(.bing..*/.*q=.*)@&adlt=strict@i
      	s@(duckduckgo..*/?.*q=.*)@&kp=1@i
      	s@(rambler..*/?.*query=.*)@&adult=family@i
      	s@(qwant..*/?.*q=.*)@&s=2@i
      	s@(ecosia..*/search.*q=.*)@&safesearch=2@i
      	s@(onesearch..*/yhs/search.*)@&vm=r@i
      	log block.log
      }
      
      # 
      acl  {
      	# Allow Desktop Central Update Downloads
      	DPR_Beta  {
      		pass Server_WL P_DCREP_DOM P_DCREP_REx none
      		log block.log
      	}
      	# Block Server Internet access Except to explicit Whitelist
      	DPR_Servers  {
      		pass Server_WL !Blacklist_ALL all
      		log block.log
      	}
      	# Allow DPRCAD Internet to update sites only
      	DPRCAD_IA  {
      		pass Permitted_WL !Blacklist_ALL all
      		log block.log
      	}
      	# 
      	default  {
      		pass Permittedext !BlockedExe !blk_BL_anonvpn !blk_BL_drugs !blk_BL_porn !blk_BL_sex_lingerie !blk_BL_spyware !blk_BL_tracker !blk_BL_warez all
      		redirect https://10.23.68.100:443/sgerror.php?url=403%20&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u
      		rewrite safesearch
      		log block.log
      	}
      }
      

      Any thoughts on what I need to look at?

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.