{"action":"created","issue":{"url":"https://api.github.com/repos/e2guardian/e2guardian/issues/3","repository_url":"https://api.github.com/repos/e2guardian/e2guardian","labels_url":"https://api.github.com/repos/e2guardian/e2guardian/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/e2guardian/e2guardian/issues/3/comments","events_url":"https://api.github.com/repos/e2guardian/e2guardian/issues/3/events","html_url":"https://github.com/e2guardian/e2guardian/issues/3","id":19329293,"number":3,"title":"ICAP Server","user":{"login":"fredbcode","id":5287473,"avatar_url":"https://avatars.githubusercontent.com/u/5287473?v=3","gravatar_id":"","url":"https://api.github.com/users/fredbcode","html_url":"https://github.com/fredbcode","followers_url":"https://api.github.com/users/fredbcode/followers","following_url":"https://api.github.com/users/fredbcode/following{/other_user}","gists_url":"https://api.github.com/users/fredbcode/gists{/gist_id}","starred_url":"https://api.github.com/users/fredbcode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredbcode/subscriptions","organizations_url":"https://api.github.com/users/fredbcode/orgs","repos_url":"https://api.github.com/users/fredbcode/repos","events_url":"https://api.github.com/users/fredbcode/events{/privacy}","received_events_url":"https://api.github.com/users/fredbcode/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/e2guardian/e2guardian/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2013-09-11T16:08:43Z","updated_at":"2016-07-20T08:13:13Z","closed_at":null,"body":"From Bryce Yancey\r\n\r\nI second the request for ICAP server support in DG. ICAP support would not replace squid, rather, it would provide a better method to interface with squid.\r\n\r\nI've been using DG for years, and as far as I'm concerned, it's flexability and filtering capabilities are as good or better than any other solution out there (commercial or otherwise). The problem is, I've recently encountered a use-case where the proxy chaining approach used to connect DG and Squid isn't going to work for me, and I've started evaluating an alternative solution using squid and qlproxy which communicate via ICAP. This setup solves the technical issues I have with proxy chaining, but the felxablity of Dansguardian is sorely missed.\r\n\r\nAt it's core, DG is not a proxy, it's a content filtering and adaptation engine which requires integration with a true proxy (squid) to fully operate. Yet it behaves as a proxy in order to integrate with squid via proxy chaining. This works, but it's not the most elegant solution. The ICAP protocol (Internet Content Adaptation Protocol) exists to faciliate precisely the type of function that Dansguardian performs. It allows an ICAP client (Squid) to pass content to an ICAP server (would be DG) for content filtering and adaptation. Squid directly handles both the user facing and web facing interfaces.\r\n\r\nHere's how Dansguardian connects to Squid at present:\r\n\r\n       (8080)          (3128)    (80)\r\n BROWSER<-->DANSGUARDIAN<-->SQUID<-->WWW\r\n\r\nWith ICAP Support, it would look something like this.\r\n\r\n       (3128)    (80)\r\n BROWSER<-->SQUID<-->WWW\r\n             |  ^\r\n             V |  \r\n         DANSGUARDIAN\r\n         (ICAP SERVER)\r\n\r\nI've been trying to allow a single external IP (non-LAN) through my firewall to utilize my filtering proxy. This may be possible, but I have not yet been able to get this to work correctly with squid+DG using proxy chaining, however, it was very straight forward to get it working with squid+qlproxy and icap. I simply updated my acl's in squid, and it worked. Never had to touch qlproxy, which makes sense, as it's not a function of the actual flitering capablities.\r\n\r\nThere are also more and more sites out there that are starting to use HTTPS for internet browsing privacy (as opposed to simply protecting online financial transactions, etc.) This is great from a privacy perspective, but it's frustrating when you're trying to provide a safe internet zone inside your own home, and all one has to do to circumvent your painstakingly implemented DG server is perform a google search, or find a proxy service that utilizes HTTPS. I know it's controversial, but when used in the proper context with the knowledge of all users (in my case, family members), SSL Intercept is a powerfull tool to deal with this. Adding ICAP support to Dansguardian would allow it to be used in conjunction with Squid's sslbump capabilities to implement SSL Intercept. If you google, there's actually a number of posts out on the web asking for this type of support.\r\n\r\nJust a couple examples of advantages of supporting ICAP server functionality within DG."},"comment":{"url":"https://api.github.com/repos/e2guardian/e2guardian/issues/comments/233878247","html_url":"https://github.com/e2guardian/e2guardian/issues/3#issuecomment-233878247","issue_url":"https://api.github.com/repos/e2guardian/e2guardian/issues/3","id":233878247,"user":{"login":"fredbcode","id":5287473,"avatar_url":"https://avatars.githubusercontent.com/u/5287473?v=3","gravatar_id":"","url":"https://api.github.com/users/fredbcode","html_url":"https://github.com/fredbcode","followers_url":"https://api.github.com/users/fredbcode/followers","following_url":"https://api.github.com/users/fredbcode/following{/other_user}","gists_url":"https://api.github.com/users/fredbcode/gists{/gist_id}","starred_url":"https://api.github.com/users/fredbcode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredbcode/subscriptions","organizations_url":"https://api.github.com/users/fredbcode/orgs","repos_url":"https://api.github.com/users/fredbcode/repos","events_url":"https://api.github.com/users/fredbcode/events{/privacy}","received_events_url":"https://api.github.com/users/fredbcode/received_events","type":"User","site_admin":false},"created_at":"2016-07-20T08:13:13Z","updated_at":"2016-07-20T08:13:13Z","body":"If someone knows how to contact androda, please let me know \r\nI guess this project should be integrated in E2guardian, at least with a compilation option (something like enableicapmode=yes)"}}
{"actor":{"display_login":"fredbcode"}}