aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/options/search
diff options
context:
space:
mode:
authorBobIsMyManager <ahoumatt@yahoo.com>2022-04-13 14:51:36 +0000
committerGitHub <noreply@github.com>2022-04-13 17:51:36 +0300
commitf05e1b996a2b74c1d4e34038f4d2debb145ff841 (patch)
tree9981f15990efb6220ab7b8a38d062c4984f3bf1b /src/pages/options/search
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-f05e1b996a2b74c1d4e34038f4d2debb145ff841.zip
I2P support for search, Imgur and Wikipedia (#189)
Diffstat (limited to 'src/pages/options/search')
-rw-r--r--src/pages/options/search/search.html76
-rw-r--r--src/pages/options/search/search.js55
2 files changed, 129 insertions, 2 deletions
diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html
index a5f26ab3..a5d2a3ca 100644
--- a/src/pages/options/search/search.html
+++ b/src/pages/options/search/search.html
@@ -150,6 +150,7 @@
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
+ <option value="i2p" data-localise="__MSG_i2p__">I2P</option>
</select>
</div>
</div>
@@ -210,6 +211,30 @@
</form>
<div class="checklist custom-checklist"></div>
</div>
+ <div class="i2p">
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
+ </div>
+ <div class="checklist checklist">
+ </div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
+ </div>
+ <form class="custom-instance-form">
+ <div class="some-block option-block">
+ <input class="custom-instance" placeholder="https://searx.com" type="url" />
+ <button type="submit" class="add add-instance">
+ <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+ fill="currentColor">
+ <path d="M0 0h24v24H0V0z" fill="none" />
+ <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+ </svg>
+ </button>
+ </div>
+ </form>
+ <div class="checklist custom-checklist"></div>
+ </div>
</div>
<div id="searxng">
@@ -262,6 +287,30 @@
</form>
<div class="checklist custom-checklist"></div>
</div>
+ <div class="i2p">
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
+ </div>
+ <div class="checklist checklist">
+ </div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
+ </div>
+ <form class="custom-instance-form">
+ <div class="some-block option-block">
+ <input class="custom-instance" placeholder="https://searxng.com" type="url" />
+ <button type="submit" class="add add-instance">
+ <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+ fill="currentColor">
+ <path d="M0 0h24v24H0V0z" fill="none" />
+ <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+ </svg>
+ </button>
+ </div>
+ </form>
+ <div class="checklist custom-checklist"></div>
+ </div>
</div>
<div id="whoogle">
@@ -314,6 +363,30 @@
</form>
<div class="checklist custom-checklist"></div>
</div>
+ <div class="i2p">
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
+ </div>
+ <div class="checklist checklist">
+ </div>
+ <hr>
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
+ </div>
+ <form class="custom-instance-form">
+ <div class="some-block option-block">
+ <input class="custom-instance" placeholder="https://whoogle.com" type="url" />
+ <button type="submit" class="add add-instance">
+ <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+ fill="currentColor">
+ <path d="M0 0h24v24H0V0z" fill="none" />
+ <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+ </svg>
+ </button>
+ </div>
+ </form>
+ <div class="checklist custom-checklist"></div>
+ </div>
</div>
</section>
@@ -324,4 +397,5 @@
<script type="module" src="../../../assets/javascripts/localise.js"></script>
</body>
-</html> \ No newline at end of file
+</html>
+
diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js
index d96665e9..0eeac5ed 100644
--- a/src/pages/options/search/search.js
+++ b/src/pages/options/search/search.js
@@ -63,12 +63,15 @@ protocolElement.addEventListener("change",
function changeProtocolSettings(protocol) {
let normalsearxDiv = searxDivElement.getElementsByClassName("normal")[0];
let torsearxDiv = searxDivElement.getElementsByClassName("tor")[0];
+ let i2psearxDiv = searxDivElement.getElementsByClassName("i2p")[0];
let normalsearxngDiv = searxngDivElement.getElementsByClassName("normal")[0];
let torsearxngDiv = searxngDivElement.getElementsByClassName("tor")[0];
+ let i2psearxngDiv = searxngDivElement.getElementsByClassName("i2p")[0];
let normalwhoogleDiv = whoogleDivElement.getElementsByClassName("normal")[0];
let torwhoogleDiv = whoogleDivElement.getElementsByClassName("tor")[0];
+ let i2pwhoogleDiv = whoogleDivElement.getElementsByClassName("i2p")[0];
if (protocol == 'normal') {
normalsearxDiv.style.display = 'block';
@@ -77,6 +80,9 @@ function changeProtocolSettings(protocol) {
torsearxDiv.style.display = 'none';
torsearxngDiv.style.display = 'none';
torwhoogleDiv.style.display = 'none';
+ i2psearxDiv.style.display = 'none';
+ i2psearxngDiv.style.display = 'none';
+ i2pwhoogleDiv.style.display = 'none';
}
else if (protocol == 'tor') {
normalsearxDiv.style.display = 'none';
@@ -85,6 +91,20 @@ function changeProtocolSettings(protocol) {
torsearxDiv.style.display = 'block';
torsearxngDiv.style.display = 'block';
torwhoogleDiv.style.display = 'block';
+ i2psearxDiv.style.display = 'none';
+ i2psearxngDiv.style.display = 'none';
+ i2pwhoogleDiv.style.display = 'none';
+ }
+ else if (protocol == 'i2p') {
+ normalsearxDiv.style.display = 'none';
+ normalsearxngDiv.style.display = 'none';
+ normalwhoogleDiv.style.display = 'none';
+ torsearxDiv.style.display = 'none';
+ torsearxngDiv.style.display = 'none';
+ torwhoogleDiv.style.display = 'none';
+ i2psearxDiv.style.display = 'block';
+ i2psearxngDiv.style.display = 'block';
+ i2pwhoogleDiv.style.display = 'block';
}
}
@@ -121,6 +141,17 @@ searchHelper.init().then(() => {
);
commonHelper.processDefaultCustomInstances(
+ 'searx',
+ 'i2p',
+ searchHelper,
+ document,
+ searchHelper.getSearxI2pRedirectsChecks,
+ searchHelper.setSearxI2pRedirectsChecks,
+ searchHelper.getSearxI2pCustomRedirects,
+ searchHelper.setSearxI2pCustomRedirects
+ );
+
+ commonHelper.processDefaultCustomInstances(
'searxng',
'normal',
searchHelper,
@@ -143,6 +174,17 @@ searchHelper.init().then(() => {
);
commonHelper.processDefaultCustomInstances(
+ 'searxng',
+ 'i2p',
+ searchHelper,
+ document,
+ searchHelper.getSearxngI2pRedirectsChecks,
+ searchHelper.setSearxngI2pRedirectsChecks,
+ searchHelper.getSearxngI2pCustomRedirects,
+ searchHelper.setSearxngI2pCustomRedirects
+ );
+
+ commonHelper.processDefaultCustomInstances(
'whoogle',
'normal',
searchHelper,
@@ -163,4 +205,15 @@ searchHelper.init().then(() => {
searchHelper.getWhoogleTorCustomRedirects,
searchHelper.setWhoogleTorCustomRedirects
);
-}); \ No newline at end of file
+
+ commonHelper.processDefaultCustomInstances(
+ 'whoogle',
+ 'i2p',
+ searchHelper,
+ document,
+ searchHelper.getWhoogleI2pRedirectsChecks,
+ searchHelper.setWhoogleI2pRedirectsChecks,
+ searchHelper.getWhoogleI2pCustomRedirects,
+ searchHelper.setWhoogleI2pCustomRedirects
+ );
+});