X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=TODO;h=4dfebb5e405a02cd5b0bc487caecc1184650ce72;hp=f4038fd1be9f747e90828628461a57bdd903ff4e;hb=c9e03e7fecd9b4c39896ae57094df9eeb8ce902d;hpb=d2e582689e83de3a8511e5e85e15fa045a5cc666 diff --git a/TODO b/TODO index f4038fd1..4dfebb5e 100644 --- a/TODO +++ b/TODO @@ -1,14 +1,12 @@ -$Id: TODO,v 1.141 2016/01/21 15:57:30 fabiankeil Exp $ - Some Privoxy-related tasks, sorted by the time they have been added, not by priority. The latest version should be available at: -http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/TODO +https://www.privoxy.org/gitweb/?p=privoxy.git;a=blob_plain;f=TODO;hb=HEAD There's work in progress to fund development on these items using donations. If you want to donate, please have a look at: -http://www.privoxy.org/faq/general.html#DONATE +https://www.privoxy.org/faq/general.html#DONATE 1) Add more regression tests. Filters should be tested automatically (variables too). Could probably reuse large parts of Privoxy-Filter-Test. @@ -53,20 +51,6 @@ http://www.privoxy.org/faq/general.html#DONATE 14) Allow to filter POST parameters. -15) If trusted CGI pages are requested without trusted referrer, - set the status code to 403 instead of 200. - -16) Filter SSL encrypted content as well. - - At the beginning we could use a unencrypted connection between - client and Privoxy, and use an encrypted connection between - Privoxy and the server. - - This should be good enough for most of the content the - user would want to filter. - - Interested donors: 2. - 19) enable-forward-fallback. Syntax? Suggested by K.R. 21) User Manual delivery doesn't accept multiple slashes. Should it? @@ -105,7 +89,7 @@ http://www.privoxy.org/faq/general.html#DONATE Figure out a way to solve this. Introduce a cwd config option? 41) Change documentation framework to one that works cross-platform. - Evaluate WML. + Evaluate WML and txt2tags. 42) Add a DTrace USDT provider. Now that FreeBSD has userland DTrace support there's no longer any reason not to. @@ -129,16 +113,18 @@ http://www.privoxy.org/faq/general.html#DONATE It would probably also make sense to look into what other projects did when migrating away from SF. - 2014-05-13: Work in progress. Hosting wish list at the end - of this file. + 2014-05: Work in progress. Hosting wish list at the end + of this file. Looks like most of the other projects + that left SF had lower standards and moved to hosters + that don't come close to sattisfying the requirements. + 2016-03: The website has been moved away from SF infrastructure + and is also available through https:// now. + 2016-04: Server rent for a year has been sponsored by ChameleonJohn. + 2016-04: The SF mailing lists have been deprecated, the new ones + are available at: https://lists.privoxy.org/ Interested donors: 1. -54) Move away from CVS to a more modern revision control system. - Find out if there are any objection against going with Git. - Using Git would also have the advantage that SF now pretends - to support it, so we could do it independently from 53). - 58) Move more template strings from the code into the actual templates. 59) Import the German template translation. @@ -156,8 +142,8 @@ http://www.privoxy.org/faq/general.html#DONATE is no legal entity. 65) Polish Website. Probably involves ditching the Docbook - mess in favour of wml. There are already several threads - in the mailinglist archives about this. See also #41. + mess. There are already several threads in the mailinglist + archives about this. See also #41. 66) Stop hard-coding the number of action and filter files. @@ -167,6 +153,9 @@ http://www.privoxy.org/faq/general.html#DONATE 68) Use standard make syntax so we don't depend on GNU make. 69) Update autoconf setup (or move away from it). + Unfortunately the autoconf files can't be simply updated + due to license issues: + https://lists.privoxy.org/pipermail/privoxy-devel/2016-April/000008.html 70) If the server connection is reset but the headers are received, consider passing the mess to the client instead @@ -190,29 +179,10 @@ http://www.privoxy.org/faq/general.html#DONATE 79) Evaluate pcre alternatives. -80) Change FEATURE_EXTENDED_HOST_PATTERNS to support both - extended and vanilla host patterns at the same time. - - Note that the requirement is to allow the user to decide - if the domain pattern should be interpreted as regex or - traditional host pattern and if it's not obvious that the - user made any decision, default to the latter. - - Possible solutions would be: - - 1. An always-use-regex-domain-patterns config option - 2. An enable-regex-domain-patterns-for-this-action-file option - 3. An enable-regex-domain-patterns-for-this-action-file-until-the-user-says-otherwise option - 4. A treat-the-domain-pattern-in-this-line-as-regex(-or-not) option - 5. Combinations of the options above - - With 2+4, 3+4 or 2+3+4 being the preferences until - further discussion. - 82) Detect if the system time goes back in time let the user know if it caused any connections to get closed. -85) Once #84 is done, write a script that populates a directory with +85) Once #51 is done, write a script that populates a directory with various common third-party icons (stumbleupon.png, facebook.png ...) and redirect requests for them to Privoxy. @@ -251,21 +221,11 @@ http://www.privoxy.org/faq/general.html#DONATE that makes sense. Like #93, this could be useful as a workaround for misconfigured setups. -95) Support a non-standard client header in CONNECT requests that - contains the URL of the requested resource, which is then treated - like the request URL. - - This way the client could opt-in for path-based blocking of https - requests. Given that the headers from the CONNECT request aren't - forwarded to the destination server, an unencrypted URL should be - acceptable if the client and Privoxy are running on the same system - or in a trusted environment. - 96) Filters should be easier to look up. Currently get_filter() has to go through all filters and skip the filter types the caller isn't interested in. -98) When showing action section on the CGI pages, properly escape +98) When showing action sections on the CGI pages, properly escape line breaks so they can be copy&pasted into action files without adjustments. @@ -293,8 +253,6 @@ http://www.privoxy.org/faq/general.html#DONATE files, but only in w32log.c the tray icon is explicitly set. The logging is inconsistent as well. For details see #3525694. -105) Add support for socks authentication. - 106) actionlist.h should be embedded in a way that causes less text segment bloat. @@ -342,16 +300,13 @@ http://www.privoxy.org/faq/general.html#DONATE running out of stack space, causing the kernel to kill Privoxy ungracefully. -121) Add HTTP/2 support. As a first step, incomming HTTP/1.x requests +121) Add HTTP/2 support. As a first step, incoming HTTP/1.x requests should be translated to outgoing HTTP/2 requests where possible (and if desired by the user). Interested donors: 1. 122) Allow customized log messages. -123) Evaluate if the voluntarily-disclose-session-keys option in Firefox - (and other browsers) can be leveraged. Probably depends on #16. - 124) Add support for the "lightweight OS capability and sandbox framework" Capsicum. http://www.cl.cam.ac.uk/research/security/capsicum/ Interested donors: 1. @@ -383,12 +338,6 @@ http://www.privoxy.org/faq/general.html#DONATE an action so the behaviour can be enabled on a per-request basis. Interested donors: 1. -132) Provide a Tor hidden service to reach the Privoxy website. - Work in progress: http://jvauzb4sb3bwlsnc.onion/ - This hidden service serves a copy of the www.privoxy.org content - (filtered through Privoxy to replace some absolute URLs). - Interested donors: 1. - 133) Consider allowing bitcoin donations. Interested donors: 2. @@ -414,34 +363,15 @@ http://www.privoxy.org/faq/general.html#DONATE forward-override). Investigate and fix or document. 141) Port Privoxy to CloudABI, which, despite the name, is actually - rather neet. https://github.com/NuxiNL/cloudlibc + rather neat. https://github.com/NuxiNL/cloudlibc 142) Remove or update the "internal" pcre version. 143) Add support for OpenBSD's pledge feature once it's stablelized. This should be a lot less work then #124. -144) Allow Privoxy admins to pre-define tags that are be set for - clients that previously opted-in through the CGI interface. - - This would be useful in multi-user setups where admins may - want to allow users to disable certain actions and filters - for themselves without affecting others. - - Even in single-user setups this could be useful to allow - more fine-grained toggling. For example to disable request - blocking while still crunching cookies, or to disable - experimental filters only. - - Interested donors: 1. - -145) Once #144 is implemented, allow clients to opt-in to the - tagging for a limited amount of time (or number of requests). - - Interested donors: 1. - -146) Once #144 is implemented, optionally allow to save the opt-in - status to disk. +146) Allow to save the internal client tag state to disk and + load it after restarts. 147) Improve "Building from Source" section in the user manual. A common problem seems to be that it's not obvious to non-technical @@ -450,6 +380,52 @@ http://www.privoxy.org/faq/general.html#DONATE technical users (like Privoxy developers) who want to install or test Privoxy on platforms they are not familiar with. +148) Add a config directive to change the CGI_SITE_2_HOST + (default: config.privoxy.org). + + If Privoxy is used as reverse proxy or intercepting proxy without + getting intercepted requests, error pages created from default templates + currently can result in client requests to config.privoxy.org on the + Internet which may not be desirable. + +150) Add blacklistd support. + +151) Let the dok-tidy target work cross-platform without introducing + a ton of white-space changes that hide the content changes. + +152) Fix CSS references in the website documentation. + For many pages p_doc.css is specified twice using different paths. + Usually at least one works, but not all of them do and the + duplicated requests are pointless even if they don't end up with + a 404. + +153) Catch SIGINT and use it to close the listen socket, serve + remaining connections and shut down. This would allow higher + uptime and make testing more convenient. + +154) Underline links in docs and cgi pages. More precisely, + don't mess with the browser defaults for link underlining. + +155) The sig_handler() shouldn't call log_error(). + While it isn't known to cause actual problems in normal operation, + it's technically incorrect and causes crashes when running in + valgrind. + +156) Reject socks requests with an explicit error message similar + to the one used for ftp. Motivation: + https://lists.privoxy.org/pipermail/privoxy-users/2017-March/000195.html + +158) Use a single thread to wait for new requests on reused client connections. + Currently the thread that handles the first request on a connection + stays responsible for the client connect until it gets closed. + In case of lots of idle connections lots of waiting threads are used. + While it's conceivable that this ineffiency is irrelevant from a + performance point of view, using a single thread should reduce Privoxy's + memory footprint a bit which may be noticeable in case of multi-user setups + with hundreds of idle connections. + +160) Add keep-alive support with +https-inspection. + ########################################################################## Hosting wish list (relevant for #53)