Hi Fabian:
On OpenWrt System, I modify user.filter and user.action in privoxy source, and compile it, find it generate user.filter.new and user.action.new in install folder.
But I don't find out where the build system check the two file grammer and how to close the check, or make my custimized filter and action filter fit the check rule.
Please help check where privoxy build system do that, or help check where my rule are wrong.
Thanks a lot.
the two file renamed, I check the developer manual find privoxy check its grammer, but I really cann't find out where. Please help on that, thanks
privoxy version is 3.0.24, on OpenWrt system AR9344 platform.
Have you guys test how many users can on privoxy hold ? I use it on AR9344, and will do that test next month, but I don't have confidence on mind, can you do any help on that?
the concurrent on openwrt ar9344 tested, is about 220 request per second, if I want to improve its ability, where should I do the upgrade, thanks.
I'm not sure I understand the question.
The code responsible for adding a .new extension to certain
files that already exist in the destination directory is
located in GNUmakefile.in which is used to generate GNUmakefile:
http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/GNUmakefile.in?revision=1.238&view=markup#l902
As you can see the content of the files is not checked before
installing them as they are expected to come from upstream.
Also note that it's not necessary to customize those files
before compiling Privoxy. Usually it's done after Privoxy
has been installed.
The code that lets Privoxy itself check the syntax is distributed
across various C files, most of it happens in filter.c, actions.c
and urlmatch.c but there are others.
I don't use OpenWrt or the "AR9344 platform" and thus have no
idea how Privoxy will perform on this configuration.
I'd recommend that you do your own benchmark to see if the
performance is sufficient for your use case. If it isn't,
it's possible that tuning may help.
Generally the number of concurrent connections is limited by
the max-client-connections directive and the FD_SETSIZE limit:
https://www.privoxy.org/user-manual/config.html#MAX-CLIENT-CONNECTIONS
How many connections a given user needs depends on the user
and the client.
Thanks, that solved my problem.
Have Privoxy Team thought of changing select() system call to epoll to improve its I/O performance ?
You're welcome.
While I will probably eventually add support for poll() (and maybe kqueue()), epoll() is a Linux-specific system call so it seems unlikely that someone from the current developer team would spend time on it.
Due to the way Privoxy is designed, it's also not obvious to me that using epoll() would
actually "improve its I/O performance". Each Privoxy thread calls select() for its
own network sockets, so the fact that select() scales poorly with lots of sockets should
not affect i/o performance.