aboutsummaryrefslogtreecommitdiffstats
path: root/tool/ansero_example.html
diff options
context:
space:
mode:
Diffstat (limited to 'tool/ansero_example.html')
-rw-r--r--tool/ansero_example.html92
1 files changed, 92 insertions, 0 deletions
diff --git a/tool/ansero_example.html b/tool/ansero_example.html
new file mode 100644
index 00000000..54dc1e61
--- /dev/null
+++ b/tool/ansero_example.html
@@ -0,0 +1,92 @@
+<html>
+ <head>
+ <title>Search</title>
+ <style>
+body {
+ background: #f0f0f0
+}
+input#what {
+ width: 80%
+}
+span.srch_sect {
+ color: #2f4f4f
+}
+a.srch_link {
+ color: #4b0082
+}
+span.srch_url {
+ color: #20b2aa
+}
+a[onclick] {
+ cursor: pointer
+}
+ </style>
+ <script>
+
+// read API document
+let apiurl = 'https://api.nnpaefp7pkadbxxkhz2agtbv2a4g5sgo2fbmv3i7czaua354334uqqad.onion/_/ansero.php';
+let favurl = 'https://api.nnpaefp7pkadbxxkhz2agtbv2a4g5sgo2fbmv3i7czaua354334uqqad.onion/_/favicon.php?f=';
+let mylang = 'en-US';
+let hide_domain = []; // e.g. 'google.com'
+let hide_fqdn = []; // e.g. 'en.wikipedia.org'
+let removeMITMsites = false;
+
+function searchfor(key) {
+ document.getElementById('what').value = key;
+ search();
+}
+
+function search() {
+ let answer = '',
+ keyword = document.getElementById('what').value;
+ if (keyword.length < 2) {
+ return false;
+ }
+ fetch(apiurl, {
+ method: 'POST',
+ mode: 'cors',
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ body: 't=json' + (removeMITMsites ? '&m' : '') + '&l=' + mylang + '&q=' + encodeURI(keyword)
+ }).then(r => r.json()).then(r => {
+ if (r.info.desc != undefined) {
+ answer += '<span class="srch_sect">';
+ answer += '' + r.info.desc + '<br>';
+ answer += '<a href="' + r.info.url + '" class="srch_link">' + r.info.title + '</a>';
+ answer += '</span><br><br>';
+ }
+ if (r.sgst.length > 0) {
+ answer += '<span class="srch_sect">Search other: <br>';
+ r.sgst.forEach(x => {
+ answer += '[<a class="srch_link" onclick="searchfor(\'' + x + '\');return false;">' + x + '</a>]<br>';
+ });
+ answer += '</span><br><br>';
+ }
+ r.res.forEach(x => {
+ if (!hide_fqdn.includes(x.fqdn) && !hide_domain.includes(x.dom)) {
+ answer += '<span class="srch_sect">';
+ answer += '<img src="' + favurl + (x.url.startsWith('https:') ? '1-' : '0-') + x.fqdn + '"> ';
+ answer += '<a href="' + x.url + '" class="srch_link">' + (x.mitm == 1 ? '[MITM!!] ' : '') + x.title + '</a><br>';
+ answer += '' + x.desc + '<br>';
+ answer += '<span class="srch_url">' + x.url + '</span></span>';
+ answer += '<br><br>';
+ }
+ });
+ document.getElementById('resultarea').innerHTML = answer;
+ }).catch(e => console.log(e));
+ return false;
+}
+
+ </script>
+ </head>
+ <body>
+ <form action="#" onsubmit="return search()">
+ <input type="text" id="what" placeholder="Search for..." minlength="2" required>
+ <input type="submit" value="Search">
+ </form>
+ <br>
+ <br>
+ <span id="resultarea"></span>
+ </body>
+</html> \ No newline at end of file