Make Beagle accesible from everywhere

View: New views
5 Messages — Rating Filter:   Alert me  

Make Beagle accesible from everywhere

by miguel c :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Hi all,

First of all, thanks for your great work with this application and all your efforts.

I'm trying to make accesible Beagle for everybody in a private network. For my purpose I'm using the Web Interface as I have some computers working with Windows. So my idea is to index a network folder with Beagle installed in an Ubuntu machine and search documents there through this machine using Beagle Web Interface. 

Firstly it was imposible to access to this web interface from another computer, so I thought it was disabled. Fortunately I found the way to avoid it. Just changing this string in Server.cs file

line 833 string host="localhost"; ---> string host="*"

Now I can access, but nothing works, I mean, when I try to look for something it doesn't work from a remote computer, but it does from the computer with Beagle installed. Then I suppose I should change something more in the source code.

Please I would need some clue or track. It may be very useful for somebody else.

Thanks in advance

Miguel Calle


¿Eres del Madrid, del Barça, del Atleti...? Apoya a tu equipo en la Zona Fan de MSN Deportes
_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers@...
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

Re: Make Beagle accesible from everywhere

by D Bera :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Firstly it was imposible to access to this web interface from another
> computer, so I thought it was disabled. Fortunately I found the way to avoid
> it. Just changing this string in Server.cs file
>
> line 833 string host="localhost"; ---> string host="*"

It was that way to be extra-cautious for unsuspecting users ... if you
enabled the network-service backend then that is meant to allow
searching from remote computers. But as long as you know what you are
doing, this patch is ok and should work.

> Now I can access, but nothing works, I mean, when I try to look for
> something it doesn't work from a remote computer, but it does from the
> computer with Beagle installed. Then I suppose I should change something
> more in the source code.

So what exactly happens when you try to access from a remote beagle?
Even the main page does not get served or the search does not work. It
really should work ... not sure why it isn't. It performs simple AJAX
queries to the remote beagle service - there is nothing more to it.
You might want to send SIGUSR2 to the beagled process (to enable debug
logging) and then track the log file ~/.beagle/Log/current-Beagle to
see if the remote browser query is received/processed without errors.

- dBera
_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers@...
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

RE: Make Beagle accesible from everywhere

by miguel c :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi again,

I think I have found the reason because I don't receive anything when I look for some document from another computer. I have tried to do it in the computer hosting beagle server in two ways, first from http://localhost:4000 and then from http://10.5.36.50:4000 (its network IP) and it didn't work with the second URL.

So I thought that the answer could be in the XML with results generated by beagle server and it seems to be the problem. In order to test it I have traced the xmlhttp object in "default.js". I did something like this

function state_change_info ()
{
    if (xmlhttp.readyState == 4) {
        // FIXME: Should also check for status 200
        var res = xmlhttp.responseText;
        alert(res);

I obtained a different answer depending on the URL call, and if I invoke the server from 10.5.36.50:4000 I receive an invalid XML string. For example:

FROM HTTP://10.5.36.50:4000 (Invalid xml string)

391 // This number seems to be a random one
<?xml version="1.0" encoding="utf-8"?>
<ResponseWrapper xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Message xsi:type="DaemonInformationResponse">
    <Version>0.3.9</Version>
    <SchedulerInformation TotalTaskCount="4" StatusString="Waiting on empty queue">
      <PendingTasks />
      <FutureTasks />
      <BlockedTasks />
    </SchedulerInformation>
    <IndexStatus>
      <QueryableStatus Name="Empathy" ItemCount="0" ProgressPercent="-1" IsIndexing="false" />
      <QueryableStatus Name="Files" ItemCount="26495" ProgressPercent="-1" IsIndexing="true" />
      <QueryableStatus Name="IndexingService" ItemCount="0" ProgressPercent="-1" IsIndexing="false" />
      <QueryableStatus Name="GMailSearch" ItemCount="-1" ProgressPercent="-1" IsIndexing="false" />
    </IndexStatus>
    <IsIndexing>true</IsIndexing>
  </Message>
</ResponseWrapper>
1

0

AND FROM HTTP://localhost:4000 (Right XML string)

<?xml version="1.0" encoding="utf-8"?>
<ResponseWrapper xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Message xsi:type="DaemonInformationResponse">
    <Version>0.3.9</Version>
    <SchedulerInformation TotalTaskCount="4" StatusString="Waiting on empty queue">
      <PendingTasks />
      <FutureTasks />
      <BlockedTasks />
    </SchedulerInformation>
    <IndexStatus>
      <QueryableStatus Name="Empathy" ItemCount="0" ProgressPercent="-1" IsIndexing="false" />
      <QueryableStatus Name="Files" ItemCount="26495" ProgressPercent="-1" IsIndexing="true" />
      <QueryableStatus Name="IndexingService" ItemCount="0" ProgressPercent="-1" IsIndexing="false" />
      <QueryableStatus Name="GMailSearch" ItemCount="-1" ProgressPercent="-1" IsIndexing="false" />
    </IndexStatus>
    <IsIndexing>true</IsIndexing>
  </Message>
</ResponseWrapper>�


Then from my point of view WebInterface works typing any URL, but the answer it's not a valid XML string and it cannot be rightly parsed and shown in the Web Client.

Any idea about this strange behaviour? Please, just tell me where to look for the method which generates this XML string and I can check it on my own.

Thanks in advance!

Miguel Calle Sáinz




From: muxutzu@...
To: dashboard-hackers@...
Subject: Make Beagle accesible from everywhere
Date: Fri, 29 May 2009 11:54:55 +0000

Hi all,

First of all, thanks for your great work with this application and all your efforts.

I'm trying to make accesible Beagle for everybody in a private network. For my purpose I'm using the Web Interface as I have some computers working with Windows. So my idea is to index a network folder with Beagle installed in an Ubuntu machine and search documents there through this machine using Beagle Web Interface. 

Firstly it was imposible to access to this web interface from another computer, so I thought it was disabled. Fortunately I found the way to avoid it. Just changing this string in Server.cs file

line 833 string host="localhost"; ---> string host="*"

Now I can access, but nothing works, I mean, when I try to look for something it doesn't work from a remote computer, but it does from the computer with Beagle installed. Then I suppose I should change something more in the source code.

Please I would need some clue or track. It may be very useful for somebody else.

Thanks in advance

Miguel Calle


¿Eres del Madrid, del Barça, del Atleti...? Apoya a tu equipo en la Zona Fan de MSN Deportes

Disfruta antes que nadie del nuevo Windows Live Messenger
_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers@...
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

Re: Make Beagle accesible from everywhere

by Joe Shaw-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Tue, Jun 2, 2009 at 8:25 AM, j r <muxutzu@...> wrote:
> I obtained a different answer depending on the URL call, and if I invoke the
> server from 10.5.36.50:4000 I receive an invalid XML string. For example:
>
> FROM HTTP://10.5.36.50:4000 (Invalid xml string)
>
> 391 // This number seems to be a random one

This looks like chunked transfer encoding to me.  This is part of the
HTTP 1.1 spec in which the server sends the number of bytes in a
chunk, followed by the chunk itself.  You might want to check the
headers if you can (with something like "curl -v") to see if this is
indeed the case.  If the client says that it's HTTP 1.1 it should know
how to deal with chunked transfer encoding.

> 1
> �

This, however, looks odd.  I'm not sure what that straggler byte is,
and that could be why the XML document is invalid, although it looks
like you also are receiving it from localhost below.

> AND FROM HTTP://localhost:4000 (Right XML string)
>
> <?xml version="1.0" encoding="utf-8"?>
> <ResponseWrapper xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <Message xsi:type="DaemonInformationResponse">
>     <Version>0.3.9</Version>
>     <SchedulerInformation TotalTaskCount="4" StatusString="Waiting on empty
> queue">
>       <PendingTasks />
>       <FutureTasks />
>       <BlockedTasks />
>     </SchedulerInformation>
>     <IndexStatus>
>       <QueryableStatus Name="Empathy" ItemCount="0" ProgressPercent="-1"
> IsIndexing="false" />
>       <QueryableStatus Name="Files" ItemCount="26495" ProgressPercent="-1"
> IsIndexing="true" />
>       <QueryableStatus Name="IndexingService" ItemCount="0"
> ProgressPercent="-1" IsIndexing="false" />
>       <QueryableStatus Name="GMailSearch" ItemCount="-1"
> ProgressPercent="-1" IsIndexing="false" />
>     </IndexStatus>
>     <IsIndexing>true</IsIndexing>
>   </Message>
> </ResponseWrapper>�

Why one request is receiving it that way and the other isn't, I have no idea.

Joe
_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers@...
http://mail.gnome.org/mailman/listinfo/dashboard-hackers

Re: Make Beagle accesible from everywhere

by D Bera :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>> I obtained a different answer depending on the URL call, and if I invoke the
>> server from 10.5.36.50:4000 I receive an invalid XML string. For example:
>>
>> FROM HTTP://10.5.36.50:4000 (Invalid xml string)
>>
>> 391 // This number seems to be a random one
>
> This looks like chunked transfer encoding to me.  This is part of the
> HTTP 1.1 spec in which the server sends the number of bytes in a
> chunk, followed by the chunk itself.  You might want to check the
> headers if you can (with something like "curl -v") to see if this is
> indeed the case.  If the client says that it's HTTP 1.1 it should know
> how to deal with chunked transfer encoding.
>
>> 1
>> �
>
> This, however, looks odd.  I'm not sure what that straggler byte is,
> and that could be why the XML document is invalid, although it looks
> like you also are receiving it from localhost below.

It is probably the size of the chunk as Joe pointed out. The strange
byte is 0xff which beagled sends at the end of each "message" - it is
used in the client javascript code to split byte streams into
meaningful segments.

- dBera

--
-----------------------------------------------------
Debajyoti Bera @ http://dtecht.blogspot.com
beagle / KDE fan
Mandriva / Inspiron-1100 user
_______________________________________________
Dashboard-hackers mailing list
Dashboard-hackers@...
http://mail.gnome.org/mailman/listinfo/dashboard-hackers