⬆️ ⬇️

We are looking for together or a combination of browsers

vse-p2p Once again, typing a query in a search engine, I thought: after all, someone had already passed this very path, wrote the same query, looked through a bunch of different pages to find exactly what was needed, and made a bookmark so that next time to spend. Here it would be great to immediately get a list of the corresponding bookmarks already made by other search queries.



What is needed for this? You need an extension to the browser that allows you to save along with the bookmark and search phrase. Such an extension should somehow publish data, make it available for search.



So the idea was to write an extension to Firefox, combining browsers into a single “tab-exchange” p2p-network. I would like to tell the results of my work to the distinguished meeting. In this article I will not touch on the technical details of the implementation, but just 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 Allisk. The beta version of the Firefox 3.6 extension is currently being implemented. Download 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 wish to install the current Allisk beta and share the results, comments, suggestions, errors found, etc ...



What it looks like



The installed extension adds 2 buttons on the top control panel.



vseisk-buttons


The first ("asterisk") is used to add new bookmarks related to the search query. The second (“magnifying glass”) opens the Allisk search page. This page looks like this:



vseisk-search




How data gets into Allisk



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



vseisk-button-popup-saved-search




I browse the found pages and select the one that is really useful to me. To save the page to the bookmarks, I click on the "asterisk" and I see a drop-down menu in which I select the "java examples" item. A form for adding a bookmark opens, in which there is a “Search by” field. This is where the search query associated with the current page is written.



vseisk-dialog-add




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



vseisk-dialog-add-menu




After creating a bookmark, the extension saves the link to the page and the search query to its own separate database. Information from this particular database is published from time to time on the network, that is, the Allisk extension, which is one of the nodes of the p2p network, finds that node of the p2p network that “answers” ​​for storing a specific search query using a certain search algorithm and stores node request-link pair. Thus, the search data is “smeared” across all the nodes of this peer-to-peer network.



How is the search



To start the search, open the search page with the “magnifying glass” button, enter a query and click the “search” button:



vseisk-search-result




The search process is the same as the publishing process — first, the extension finds the p2p network node “responsible” for the search query, and then requests a list of links from it. The search results are visible on the left half of the search page. In addition, on the right, you can see searches made on the Allisk network before.



What requests are associated with the page



vseisk-button-popup-keywords When a certain page is open for a long time, the extension finds in the Allisk network those requests that users have already associated with this page. In this case, the icon on the magnifying glass button changes to the highlighted one, and when you hover the mouse on this button, a list of requests appears. If you click on one of the requests in the drop-down list, the add bookmark dialog will open. Thus, if the user considers that the request matches the content of the page, he “votes” for this request, adding it to his database. Such a “voting” mechanism allows building search results in popularity, i.e. by the number of users who linked this page to a specific search query. With a sufficiently large number of participants in the search network, this mechanism will also allow filtering out inevitable garbage.



Published links



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



vseisk-stor-open




Settings



In any p2p network, the nodes need to communicate with each other both for publishing-searching and for maintaining their routing tables in working condition. Therefore, it is desirable that the site be accessible from the Internet via TCP / IP protocol (unfortunately, there is no possibility to use UDP in Firefox). You can set the network port for the extension on the Settings page. I will not tell you in detail how to open the port on the machine for access from the outside, since much has been written on this topic, and the readers of this site probably know how to do it.



Conclusion



In contrast to the classical search engine, where special programs are involved in filling the database, the end users, that is, the information consumers themselves, perform this function in the search network. Therefore, one can expect that the search relevance will be significantly higher than in search engines. Currently, the all-search network is empty. Naturally, the main value of such a network is in its contents, so if you liked the idea, you can contribute by bookmarking through the Allisk extension.

Source: https://habr.com/ru/post/91380/



All Articles