# Developing and testing an OpenSearch description file

**URL:** <https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930>\
**Category:** Development\
**Created:** [December 25, 2019, 8:27am UTC](https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930 "2019-12-25T08:27:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![grahamperrin](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/grahamperrin/32/17266_2.png) [@grahamperrin](https://discourse.mozilla.org/u/grahamperrin)\
**Post date:** [December 25, 2019, 8:27am UTC](https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930/1 "2019-12-25T08:27:45Z")

</div>

Re: [OpenSearch description format - XML | MDN](https://developer.mozilla.org/docs/Web/OpenSearch)

I’m attempting to create an `.xml` file for [Infinity Search](https://infinitysearch.co/).

How can I test the file’s validity and effectiveness without hosting the file on a web server?

### Related

> **[Infinity Search / Infinity Search · GitLab](https://gitlab.com/infinitysearch/infinity-search/)**
>
> https://infinitysearch.co

> **[Infinity Search / Make Us Your Default Search Engine · GitLab](https://gitlab.com/infinitysearch/make-us-your-default-search-engine)**
>
> Repository that displays how to set us as your default search engine in different browsers

> **[Best Privacy Tools & Software Guide in in 2025](https://www.privacytools.io/)**
>
> The most reliable website for privacy tools since 2015. Software, services, apps and privacy guides to fight surveillance with encryption for better internet privacy.

[OpenSearch description format - XML | MDN](https://developer.mozilla.org/en-US/docs/Web/OpenSearch#OpenSearch_description_file) describes a `searchplugins/` folder however there’s **no such folder** in a profile after adding (for example) the [searx.rocks](https://addons.mozilla.org/addon/searx-rocks/) plug-in.

---

<div class="post-metadata">

**Author:** ![jscher2000](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/jscher2000/32/28202_2.png) [@jscher2000](https://discourse.mozilla.org/u/jscher2000)\
**Post date:** [December 25, 2019, 4:59pm UTC](https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930/2 "2019-12-25T16:59:09Z")

</div>

This one generates them on the fly using their server, but I don’t know whether it retains your data between requests (having to re-enter data over and over while experimenting would be a drag):

> **[Search Engines Helper – Get this Extension for 🦊 Firefox (en-US)](https://addons.mozilla.org/en-US/firefox/addon/search-engines-helper/)**
>
> Download Search Engines Helper for Firefox. Add a custom search engine and export/import all the search urls and icon urls for all search engines added to Firefox.

---

<div class="post-metadata">

**Author:** ![grahamperrin](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/grahamperrin/32/17266_2.png) [@grahamperrin](https://discourse.mozilla.org/u/grahamperrin)\
**Post date:** [December 25, 2019, 7:31pm UTC](https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930/3 "2019-12-25T19:31:21Z")

</div>

Thanks

I tried:

`https://infinitysearch.co/?q="%s"`

The other two fields were auto-populated.

Result of the attempt to add:

> Invalid Format
> 
> Firefox could not install the search engine from: [https://file.io/Y64NBJ](https://file.io/Y64NBJ)

---

<div class="post-metadata">

**Author:** ![grahamperrin](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/grahamperrin/32/17266_2.png) [@grahamperrin](https://discourse.mozilla.org/u/grahamperrin)\
**Post date:** [December 26, 2019, 11:50am UTC](https://discourse.mozilla.org/t/developing-and-testing-an-opensearch-description-file/50930/4 "2019-12-26T11:50:06Z")

</div>

Success, [thanks](https://forum.privacytools.io/t/were-a-privacy-search-engine-and-we-just-went-fully-open-source/2264/35?u=grahamperrin) to @jscher2000:

> **[Infinity Search / Make Us Your Default Search Engine · GitLab](https://gitlab.com/infinitysearch/make-us-your-default-search-engine#firefoxcliqz)**
>
> Repository that displays how to set us as your default search engine in different browsers

### XML

> **[Files · master · Infinity Search / Infinity Search · GitLab](https://gitlab.com/infinitysearch/infinity-search/-/tree/master)**
>
> https://infinitysearch.co

Here’s my (much) earlier **non-working** file:

```xml
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>Infinity Search</ShortName>
  <Description>Open source multi-engine search with no cookies and respect for privacy</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">https://s.put.re/jxJgiocV.png</Image>
  <Url type="text/html" template="https://infinitysearch.co/">
    <Param name="q" value="{searchTerms}"/>
  </Url>
  <moz:SearchForm>https://infinitysearch.co/</moz:SearchForm>
</OpenSearchDescription>

```
