On Wed, 10 Aug 2011 14:18:21 -0600, Alex Rousskov wrote:
On 08/10/2011 10:15 AM, Arthur Tumanyan wrote:
Hi dear developers.I want to inform you,that i'm trying to realize
something
like shell specially for squid.it will be squid full control tool
via
command line.SquidShell will be a part of squid and will listen a
specified
port for incoming connections.
If there are any suggestions or advices or something else,please
feel free
to inform me.
Currently, cache manager serves a similar function via HTTP, but with
a
very small set of available commands. I would recommend considering
implementing your CLI "shell" as a program that communicates with
Squid
via cache manager interface (you can add new commands to cache
manager
as needed). In other words, your CLI program will translate user
shell-like input into cache manager requests and then display
possibly
preprocessed results.
This way, you will allow remote Squid management via CLI, will not
have
to redo Squid management access controls, and enhance Squid cache
manager for everybody to enjoy.
I was thinking something very similar. But a but more seamless than the
HTTP interface to cache manager allows.
Consider connecting to the coordinator IPC channel (UDS socket
$PREFIX/var/run/squid/coordinator.ipc) when it is available. That way
the manger actions can be sent in a pre-processed format for faster
handling.
This can be used as if it was internal to squid but not built into the
main binary footprint.
NP: we don't (yet) open the coordinator IPC channel in non-SMP squid.
But SMP seems stable enough that we can start encouraging it. I see no
reason we can't always open that channel for access if it will provide
extra useful functionality.
Arthur;
You may have seen the manager changes recently to add http:// access
directly to the reports. This is the first steps of providing an
interactive AJAX based web-frontend to the cache manager. We have a few
problems left to be resolved, but none which will affect a shell.
Amos