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

Reply via email to