Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 7 of 7
  1. #1
    Senior Member
    Join Date
    May 2007
    Posts
    124

    Has anyone ... controled a client remotely ... ?

    Hi...

    I am a bit confused.

    First, let me try to best phrase the question:

    Has anyone tried to control a slimserver client remotely by masquerading
    as that client on the same network?

    My big assumption here is that slimserver doesn't care about IP or MAC
    addresses and that all commands for a set of servers are only identified
    by the MAC address embedded as text in the sent and received commands
    (i.e. the MAC is part of the slimserver command protocol, not the
    network's protocol).

    If that's right, then I was thinking that all a particular client would
    have to do to control another is to start sending the slimserver server
    commands prefixed with the MAC of the "other" client.

    But listening in using "telnet <slimserver_host> 9090" and the command
    "listen 1" proved confusing. I see someone is still sending volume
    commands ("00%3A12%3A34%3A56%3A78%3A9A mixer volume 78") with the "old"
    MAC. That is, the MAC of the client that should now be using the "new"
    MAC of the "other" client.


    I looked all over the code and can't figure out where the old address
    came from. Maybe I missed something. Or maybe slimserver is somehow
    using the old MAC.

    So, is my assumption correct. Can I control another slimserver client
    by having a slimserver client masquerading (i.e. sending commands
    prefixed with the other client's MAC) as another client?

    ....thanks





  2. #2
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    18,931

    Has anyone ... controled a client remotely ... ?

    > Has anyone tried to control a slimserver client remotely by masquerading
    > as that client on the same network?


    Have a look at Felix' ShadowPlay plugin: these allow to control player A from player B. Might be what you want.

    Michael

  3. #3
    Senior Member
    Join Date
    May 2007
    Posts
    124

    Has anyone ... controled a client remotely ... ?

    Hi Michael...

    Michael Herger wrote:
    >> Has anyone tried to control a slimserver client remotely by masquerading
    >> as that client on the same network?

    >
    > Have a look at Felix' ShadowPlay plugin: these allow to control player A from player B. Might be what you want.
    >
    > Michael


    I have a feeling that Shadow Play works at the server. (Actually, there
    are no client plugins - are there?) That is, Shadow Play runs on the
    server and listens for the commands from a client and converts them at
    the server to look like they are from the client to be controlled - I
    would guess.

    What I want to know ... is if a client (like slimp3slave) can send
    commands with another client's MAC embedded into the slimserver command.
    Well, the answer is yes, but will it work? That is, will slimserver
    be looking at the MAC and / or the IP in the Ethernet packet's overhead
    and reject commands that have a different MAC embedded in the slimserver
    command?

    It would appear the answer is "this should work" as you can type
    commands into a "telnet <slimservers_host_ip_addr> 9090" session for any
    given client as long as you know that client's MAC. Still, a telnet
    session is probably not exactly the way a real client looks to slimserver.

    ....thanks





  4. #4
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    18,931

    Has anyone ... controled a client remotely ... ?

    > I have a feeling that Shadow Play works at the server.

    Yes, it does. But that's not a problem, is it? Just connect your slimp3slave to the same server and you're done.

    > Still, a telnet
    > session is probably not exactly the way a real client looks to slimserver.


    Jive uses the CLI over http (JSON/RPC).

    Michael

  5. #5
    Senior Member erland's Avatar
    Join Date
    Dec 2005
    Location
    Sweden
    Posts
    10,315
    Quote Originally Posted by stuart View Post
    It would appear the answer is "this should work" as you can type
    commands into a "telnet <slimservers_host_ip_addr> 9090" session for any
    given client as long as you know that client's MAC. Still, a telnet
    session is probably not exactly the way a real client looks to slimserver.
    When you telnet to 9090, you are using the CLI interface.
    When the SqueezeBox communicates with SlimServer it uses the SlimProto protocol.

    These protocols are as far as I know completely different and also uses different ports, so just because it works in the CLI doesn't mean it works with SlimProto.
    But you can definitely control another player if your player talks to the server using the CLI interface.

    Someone that knows SlimProto can hopefully soon give you an answer.
    Erland Isaksson (My homepage)
    (Developer of many plugins/applets (both free and commercial).
    If you like to encourage future presence on this forum and/or third party plugin/applet development, consider purchasing some plugins)
    You may also want to try my Android apps Squeeze Display and RSS Photo Show
    Interested in the future of music streaming ? ickStream - A world of music at your fingertips.

  6. #6
    Senior Member
    Join Date
    Apr 2005
    Posts
    6,932

    Has anyone ... controled a client remotely ... ?

    > What I want to know ... is if a client (like slimp3slave) can send
    > commands with another client's MAC embedded into the slimserver command.
    > Well, the answer is yes, but will it work? That is, will slimserver
    > be looking at the MAC and / or the IP in the Ethernet packet's overhead
    > and reject commands that have a different MAC embedded in the slimserver
    > command?


    Stuart - perhaps you could describe your application in more detail and then
    we can help futher.

    It is definately possible to control a client remotely using cli and because
    its cli you can control any of the clients attached to the server over one
    cli session.

    If you want to control the client using the traditional button mode
    interface then this is possible by sending 'button' cli commands to the
    server. If you are remote from the client you can also send back what the
    server puts on the client display. However let us know more about the
    application and then we can recommend which direction to look.


  7. #7
    Senior Member
    Join Date
    May 2007
    Posts
    124

    Has anyone ... controled a client remotely ... ?

    Hi Triode...

    Triode wrote:
    >> What I want to know ... is if a client (like slimp3slave) can send
    >> commands with another client's MAC embedded into the slimserver command.
    >> Well, the answer is yes, but will it work? That is, will slimserver
    >> be looking at the MAC and / or the IP in the Ethernet packet's overhead
    >> and reject commands that have a different MAC embedded in the slimserver
    >> command?

    >
    > Stuart - perhaps you could describe your application in more detail and then
    > we can help futher.
    >
    > It is definately possible to control a client remotely using cli and because
    > its cli you can control any of the clients attached to the server over one
    > cli session.
    >
    > If you want to control the client using the traditional button mode
    > interface then this is possible by sending 'button' cli commands to the
    > server. If you are remote from the client you can also send back what the
    > server puts on the client display. However let us know more about the
    > application and then we can recommend which direction to look.


    I am trying to enhance a slimserver client called MClient which runs on
    an MediaMVP box as part of a larger program called mvpmc. I was
    thinking a new remote control feature (where MClient could control
    another slimserver client) would drop out of the current code by just
    changing the MAC data used when communicating and filtering data to and
    from the slimserver program. However what results is more like chaos.

    To be sure, I have some cleaning up to do in the client code. But
    before I invest considerable time into this, I wanted to know if this
    feature would be possible. I agree if I only used the CLI I should be
    able to remotely control a client. However, currently, this client uses
    a mixture of Slimproto and CLI.

    So, I think erland has hit it on the head. Some of the problems I may be
    facing are that this client still uses Slimproto for basic control.
    I'll have to think about this.

    ....thanks for the help.




Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •