{"id":16818002,"url":"https://github.com/sourcedoctor/puppet-squidguard","last_synced_at":"2026-05-22T05:21:36.233Z","repository":{"id":57665107,"uuid":"119590431","full_name":"SourceDoctor/puppet-squidguard","owner":"SourceDoctor","description":"Puppet Module for SquidGuard URL Redirector","archived":false,"fork":false,"pushed_at":"2020-07-25T09:17:39.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-25T09:20:44.445Z","etag":null,"topics":["hiera","puppet","squidguard","squidguard-configuration"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SourceDoctor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-30T20:28:35.000Z","updated_at":"2020-07-25T09:17:36.000Z","dependencies_parsed_at":"2022-09-26T21:40:15.996Z","dependency_job_id":null,"html_url":"https://github.com/SourceDoctor/puppet-squidguard","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SourceDoctor%2Fpuppet-squidguard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SourceDoctor%2Fpuppet-squidguard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SourceDoctor%2Fpuppet-squidguard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SourceDoctor%2Fpuppet-squidguard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SourceDoctor","download_url":"https://codeload.github.com/SourceDoctor/puppet-squidguard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244040886,"owners_count":20388138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hiera","puppet","squidguard","squidguard-configuration"],"created_at":"2024-10-13T10:48:56.764Z","updated_at":"2026-05-22T05:21:36.202Z","avatar_url":"https://github.com/SourceDoctor.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Puppet module for SquidGuard\n============================\n\n[![Build Status](https://travis-ci.org/SourceDoctor/puppet-squidguard.png?branch=master)](https://travis-ci.org/SourceDoctor/puppet-squidguard)\n\nDescription\n-----------\n\nPuppet module for configuring squidGuard URL Rewrite.\n\n## Supported distributions\n - Debian\n - Ubuntu\n\nDependencies\n------------\n\n - Squid Proxy Cache\n\n\nTo get all Features and rules check SquidGuard Homepage\n\n[Basic Settings](http://www.squidguard.org/Doc/configure.html)\n\n[Extended Settings](http://www.squidguard.org/Doc/extended.html)\n\nUsage\n-----\n\nThe set up a simple squidguard configuration\nwith pass through all requests\n\n```puppet\nclass { 'squidguard': }\nsquidguard::acl { 'default':\n  ruleset =\u003e ['pass all'],\n}\n```\n\nwould result in squidguard.conf\n\n```\nacl {\n    default {\n        pass all\n    }\n}\n```\n\n### Define a Source Rule squidguard::src\n\n```puppet\nsquidguard::src { 'grownups':\n   ip     =\u003e ['1.2.3.4/24',\n              '2.3.4.10-2.3.4.100'],\n   domain =\u003e ['example.org',\n              'example.com'],\n   user   =\u003e ['user1', 'user2', 'user3'],\n}\n```\n\nwould result in squidguard.conf\n\n```\nsrc grownups {\n    ip\t   1.2.3.4/24\n    ip\t   2.3.4.10-2.3.4.100\n    domain example.org\n    domain example.com\n    user   user1 user2 user3\n}\n```\n\n### Define a Destination Rule squidguard::dest\n\n```puppet\nsquidguard::dest { 'blocked':\n   domainlist =\u003e ['blocked/domains',\n                  'otherblocked/domains'],\n   urllist    =\u003e ['blocked/urllist',\n                 'customblocked/urls'],\n}\n```\n\nwould result in squidguard.conf\n\n```\ndest blocked {\n    domainlist blocked/domains\n    domainlist otherblocked/domains\n    urllist    blocked/urllist\n    urllist    customblocked/urls\n}\n```\n\n### Define a Time Rule squidguard::time\n\n```puppet\nsquidguard::time { 'leisure-time':\n    weekly =\u003e ['* 00:00-08:00 17:00-24:00\t# night and evening',\n               'fridays 16:00-17:00\t\t# weekend'],\n    date   =\u003e ['*.01.01\t\t\t\t# New Year's Day',\n               '*.05.01\t\t\t\t# Labour Day',\n               '*.05.17\t\t\t\t# National Day',\n               '*.12.24 12:00-24:00\t\t# Christmas Eve',\n               '*.12.25\t\t\t\t# Christmas Day',\n               '*.12.26\t\t\t\t# Boxing Day',\n               '1999.03.31 12:00.24:00\t\t# Ash Wednesday',\n               '1999.04.01-1999.04.05\t\t# Easter',\n               '2000.04.19 12:00.24:00\t\t# Ash Wednesday y2000',\n               '2000.04.20-2000.04.24\t\t# Easter y2000'],\n}\n```\n\nwould result in squidguard.conf\n\n```\ntime leisure-time {\n    weekly * 00:00-08:00 17:00-24:00\t# night and evening\n    weekly fridays 16:00-17:00\t\t# weekend\n    date\t*.01.01\t\t\t\t# New Year's Day\n    date\t*.05.01\t\t\t\t# Labour Day\n    date\t*.05.17\t\t\t\t# National Day\n    date\t*.12.24 12:00-24:00\t\t# Christmas Eve\n    date\t*.12.25\t\t\t\t# Christmas Day\n    date\t*.12.26\t\t\t\t# Boxing Day\n    date\t1999.03.31 12:00.24:00\t\t# Ash Wednesday\n    date\t1999.04.01-1999.04.05\t\t# Easter\n    date\t2000.04.19 12:00.24:00\t\t# Ash Wednesday y2000\n    date\t2000.04.20-2000.04.24\t\t# Easter y2000\n}\n```\n\n### Define a more complex acl Rule squidguard::acl\n\n```puppet\nsquidguard::acl { 'grownups within leisure-time':\n    ruleset =\u003e ['pass all\t\t\t\t# don't censor peoples leisure-time'],\n}\nsquidguard::acl { 'else':\n    ruleset =\u003e ['pass !in-addr !porn all\t\t# restrict access during business hours'],\n}\nsquidguard::acl { 'kids':\n    ruleset =\u003e ['pass !porn all\t\t\t# protect the kids 24h anyway'],\n}\nsquidguard::acl {'default':\n    ruleset =\u003e ['pass none\t\t\t\t# reject unknown clients',\n                'redirect http://info.foo.bar/cgi/blocked?clientaddr=%a\u0026clientname=%n\u0026clientuser=%i\u0026clientgroup=%s\u0026targetgroup=%t\u0026url=%u'],\n}\n```\n\nwould result in squidguard.conf\n\n```\nacl {\n\tgrownups within leisure-time {\n\t    pass all\t\t\t\t# don't censor peoples leisure-time\n\t}\n    else {\n\t    pass !in-addr !porn all\t\t# restrict access during business hours\n\t}\n\n\tkids {\n\t    pass !porn all\t\t\t# protect the kids 24h anyway\n\t}\n\n\tdefault {\n\t    pass none\t\t\t\t# reject unknown clients\n\t    redirect http://info.foo.bar/cgi/blocked?clientaddr=%a\u0026clientname=%n\u0026clientuser=%i\u0026clientgroup=%s\u0026targetgroup=%t\u0026url=%u\n\t}\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcedoctor%2Fpuppet-squidguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcedoctor%2Fpuppet-squidguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcedoctor%2Fpuppet-squidguard/lists"}