We are looking together or a combination of browsers

What is needed for this? You need a browser extension that allows you to save along with the bookmark and search phrase. Such an extension should somehow publish data, make it searchable.
So the idea came up to write an extension to Firefox, combining browsers into a single "bookmark-sharing" p2p network. I would like to tell the distinguished assembly about the results of my work. In this article I will not touch on the technical details of the implementation, but simply tell and show in the pictures how the written extension works. If you have questions, I will be happy to answer in the comments.
Briefly about the project
The project is called Vseisk. A beta version of the extension for Firefox 3.6 is currently implemented. You can download it here . Since this is a p2p network, full-scale testing is possible only with a sufficiently large number of participants. One of the goals of this article is to invite those who want to install the current beta All-Isisk and share the results, comments, considerations, errors found, etc ...
What does it look like
The installed extension adds 2 buttons on the top control panel.

The first (asterisk) is used to add new bookmarks related to the search query. The second ("magnifier") opens the All-Search page. This page looks like this:

How data gets to Vseisk
Suppose I needed to find information on the topic “java examples”. I go to any search engine and look for relevant pages. At this point, the extension adds my search query to the drop-down list under the asterisk button:

I look at the pages found and select the one that is really useful to me. To bookmark the page, I click on the “star” and I see a drop-down menu in which I select “java examples”. A bookmark adding form opens, in which there is a "Search by" field. This is where the search query related to the current page is written.

Another way is to open the bookmark dialog via the general menu and select the appropriate request in the drop-down menu (but this method is 2 clicks longer than the previous one):

After creating a bookmark, the extension stores the link to the page and the search query in its own separate database. Information from this separate database is published from time to time on the network, that is, the Vseisk extension, which is one of the nodes of a p2p network, finds by some search algorithm that node of the p2p network that is "responsible" for storing a specific search query, and stores on this a node a pair of "request-link". Thus, the search data is “spread” across all nodes of this peer-to-peer network.
How is the search
To start the search, open the search page with the button "magnifier", enter the query and click the "search" button:

The search process occurs in the same way as the publication process - first, the extension finds the p2p network node “responsible” for the search request, and then requests a list of links from it. We see the search results on the left half of the search page. In addition, on the right you can see the searches made earlier on the Vseisk network.
What queries are associated with the page

Published links
The “published” link leads to a page with a list of all links published by the user on the Vseisk network. Here is what this page looks like:

Settings
In any p2p network, nodes need to communicate with each other both for publishing and searching, and for maintaining their routing tables in working order. Therefore, it is desirable that the site be accessible from the Internet using the TCP / IP protocol (unfortunately, there is no way to use UDP in Firefox yet ). You can set the network port for expansion on the Settings page. I will not go into detail about how to open a port on a machine for external access, since a lot has been written on this topic , and readers of this site will probably know how to do this.
Conclusion
Unlike the classical search system, where special programs are involved in filling the database, in the Allisk search network this function is performed by end users, that is, consumers of information themselves, so we can expect that the relevance of the search will be significantly higher than in search engines. Currently, the Vseisk network is empty. Naturally, the main value of such a network is in its content, so if you liked the idea, you can contribute by bookmarking through the Vseisk extension.