mirror of
https://github.com/searxng/searxng.git
synced 2026-05-18 17:04:31 +02:00
Compare commits
48 Commits
ed5955a5c7
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| d7e8b7cd18 | |||
| f26e450778 | |||
| dce3bb69bb | |||
| de49d27846 | |||
| 16a7537bfd | |||
| afafca93f3 | |||
| 240f403d93 | |||
| 9b30ae005b | |||
| 790683bbd7 | |||
| 52b446b4ad | |||
| 6cee4b8947 | |||
| 8e5aa9d394 | |||
| cf4d7e31c4 | |||
| 471f2b205f | |||
| 09829b1ccc | |||
| df1f24fb7f | |||
| 0cba32c15f | |||
| 849e17e431 | |||
| d8ab61a9e0 | |||
| 7eb130b1a8 | |||
| ef6290c8cd | |||
| 89aa588b27 | |||
| 50626ef150 | |||
| 2f72fc4df2 | |||
| 130cea600d | |||
| ea63c19b27 | |||
| a9909c4977 | |||
| a480560371 | |||
| 330d56bba9 | |||
| 36bcd6b551 | |||
| 8fabaf86b6 | |||
| d501b0420a | |||
| 0ac5254b8e | |||
| d3566fe8a8 | |||
| 93fe8cac1e | |||
| 12b7fd341c | |||
| aefc3c3166 | |||
| cd75013c92 | |||
| cba0cffa8f | |||
| f96ac331ed | |||
| 616d6f4818 | |||
| 6fbb24b32d | |||
| 3674d915f5 | |||
| d4254d5e8f | |||
| 9a394b41ee | |||
| 9240b38d8a | |||
| 3880960471 | |||
| 494a7575d3 |
@@ -41,6 +41,6 @@ jobs:
|
|||||||
write-comment: "false"
|
write-comment: "false"
|
||||||
|
|
||||||
- name: Upload SARIFs
|
- name: Upload SARIFs
|
||||||
uses: github/codeql-action/upload-sarif@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
uses: github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4
|
||||||
with:
|
with:
|
||||||
sarif_file: "./scout.sarif"
|
sarif_file: "./scout.sarif"
|
||||||
|
|||||||
Generated
+167
-155
@@ -15,8 +15,8 @@
|
|||||||
"swiped-events": "1.2.0"
|
"swiped-events": "1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "2.4.13",
|
"@biomejs/biome": "2.4.15",
|
||||||
"@types/node": "^25.6.0",
|
"@types/node": "^25.8.0",
|
||||||
"browserslist": "^4.28.2",
|
"browserslist": "^4.28.2",
|
||||||
"browserslist-to-esbuild": "^2.1.1",
|
"browserslist-to-esbuild": "^2.1.1",
|
||||||
"edge.js": "^6.5.0",
|
"edge.js": "^6.5.0",
|
||||||
@@ -24,13 +24,13 @@
|
|||||||
"mathjs": "^15.2.0",
|
"mathjs": "^15.2.0",
|
||||||
"sharp": "~0.34.5",
|
"sharp": "~0.34.5",
|
||||||
"sort-package-json": "^3.6.1",
|
"sort-package-json": "^3.6.1",
|
||||||
"stylelint": "^17.9.0",
|
"stylelint": "^17.11.1",
|
||||||
"stylelint-config-standard-less": "^4.1.0",
|
"stylelint-config-standard-less": "^4.1.0",
|
||||||
"stylelint-prettier": "^5.0.3",
|
"stylelint-prettier": "^5.0.3",
|
||||||
"svgo": "^4.0.1",
|
"svgo": "^4.0.1",
|
||||||
"typescript": "~6.0.3",
|
"typescript": "~6.0.3",
|
||||||
"vite": "^8.0.10",
|
"vite": "^8.0.13",
|
||||||
"vite-bundle-analyzer": "^1.3.7"
|
"vite-bundle-analyzer": "^1.3.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
@@ -69,9 +69,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/biome": {
|
"node_modules/@biomejs/biome": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.15.tgz",
|
||||||
"integrity": "sha512-gLXOwkOBBg0tr7bDsqlkIh4uFeKuMjxvqsrb1Tukww1iDmHcfr4Uu8MoQxp0Rcte+69+osRNWXwHsu/zxT6XqA==",
|
"integrity": "sha512-j5VH3a/h/HXTKBM50MDMxRCzkeLv9S2XJcW2WgnZT1+xyisi+0bISrXR82gCX+8S9lvK0skEvHJRN+3Ktr2hlw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT OR Apache-2.0",
|
"license": "MIT OR Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -85,20 +85,20 @@
|
|||||||
"url": "https://opencollective.com/biome"
|
"url": "https://opencollective.com/biome"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@biomejs/cli-darwin-arm64": "2.4.13",
|
"@biomejs/cli-darwin-arm64": "2.4.15",
|
||||||
"@biomejs/cli-darwin-x64": "2.4.13",
|
"@biomejs/cli-darwin-x64": "2.4.15",
|
||||||
"@biomejs/cli-linux-arm64": "2.4.13",
|
"@biomejs/cli-linux-arm64": "2.4.15",
|
||||||
"@biomejs/cli-linux-arm64-musl": "2.4.13",
|
"@biomejs/cli-linux-arm64-musl": "2.4.15",
|
||||||
"@biomejs/cli-linux-x64": "2.4.13",
|
"@biomejs/cli-linux-x64": "2.4.15",
|
||||||
"@biomejs/cli-linux-x64-musl": "2.4.13",
|
"@biomejs/cli-linux-x64-musl": "2.4.15",
|
||||||
"@biomejs/cli-win32-arm64": "2.4.13",
|
"@biomejs/cli-win32-arm64": "2.4.15",
|
||||||
"@biomejs/cli-win32-x64": "2.4.13"
|
"@biomejs/cli-win32-x64": "2.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.15.tgz",
|
||||||
"integrity": "sha512-2KImO1jhNFBa2oWConyr0x6flxbQpGKv6902uGXpYM62Xyem8U80j441SyUJ8KyngsmKbQjeIv1q2CQfDkNnYg==",
|
"integrity": "sha512-rF3PPqLq1yoST79zaQbDjVJwsuIeci/O+9bgNmC5QpgOqz6aqYuzA4abyAGx+mgyiDXn4A049xAN8gijbuR1Qg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -113,9 +113,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-darwin-x64": {
|
"node_modules/@biomejs/cli-darwin-x64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.15.tgz",
|
||||||
"integrity": "sha512-BKrJklbaFN4p1Ts4kPBczo+PkbsHQg57kmJ+vON9u2t6uN5okYHaSr7h/MutPCWQgg2lglaWoSmm+zhYW+oOkg==",
|
"integrity": "sha512-/5KHXYMfSJs1fNXiX30xFtI8JcCFV6zaVVLxOa0M2sfqBKHkpQhRTv94yxQWxeTY2lzo2OuTlNvPC+hDQt2wcQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -130,9 +130,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-arm64": {
|
"node_modules/@biomejs/cli-linux-arm64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.15.tgz",
|
||||||
"integrity": "sha512-NzkUDSqfvMBrPplKgVr3aXLHZ2NEELvvF4vZxXulEylKWIGqlvNEcwUcj9OLrn75TD3lJ/GIqCVlBwd1MZCuYQ==",
|
"integrity": "sha512-owaAMZD/T4LrD0ELNCk0Km3qrRHuM0X6EAyVE1FSqGY0rbLoiDLrO4Us2tllm6cAeB2Ioa9C2C08NZPdr8+0Ug==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -147,9 +147,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.15.tgz",
|
||||||
"integrity": "sha512-U5MsuBQW25dXaYtqWWSPM3P96H6Y+fHuja3TQpMNnylocHW0tEbtFTDlUj6oM+YJLntvEkQy4grBvQNUD4+RCg==",
|
"integrity": "sha512-ZPcxznxm0pogHBLZhYntyR3sR+MrZjqJIKEr7ZqVen0Rl+P/4upVmfYXjftizi9RoqZntg33fv/1fbdhbYXpEQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -164,9 +164,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-x64": {
|
"node_modules/@biomejs/cli-linux-x64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.15.tgz",
|
||||||
"integrity": "sha512-Az3ZZedYRBo9EQzNnD9SxFcR1G5QsGo6VEc2hIyVPZ1rdKwee/7E9oeBBZFpE8Z44ekxsDQBqbiWGW5ShOhUSQ==",
|
"integrity": "sha512-0jj7THz12GbUOLmMibktK6DZjqz2zV64KFxyBtcFTKPiiOIY0a7vns1elpO1dERvxpsZ5ik0oFfz0oGwFde1+g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -181,9 +181,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.15.tgz",
|
||||||
"integrity": "sha512-Z601MienRgTBDza/+u2CH3RSrWoXo9rtr8NK6A4KJzqGgfxx+H3VlyLgTJ4sRo40T3pIsqpTmiOQEvYzQvBRvQ==",
|
"integrity": "sha512-CNq/9W38SYSH023lfcQ4KKU8K0YX8T//FZUhcgtMMRABDojx5XsMV7jlweAvGSl389wJQB29Qo6Zb/a+jdvt+w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -198,9 +198,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-win32-arm64": {
|
"node_modules/@biomejs/cli-win32-arm64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.15.tgz",
|
||||||
"integrity": "sha512-Px9PS2B5/Q183bUwy/5VHqp3J2lzdOCeVGzMpphYfl8oSa7VDCqenBdqWpy6DCy/en4Rbf/Y1RieZF6dJPcc9A==",
|
"integrity": "sha512-ouhkYdlhp/1GghEJPdWwD/Vi3gQ1nFxuSpMolWsbq3Lsq3QUR4jl6UdhhscdCugKU5vOEuMiJhvKj66O0OCq+w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -215,9 +215,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@biomejs/cli-win32-x64": {
|
"node_modules/@biomejs/cli-win32-x64": {
|
||||||
"version": "2.4.13",
|
"version": "2.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.13.tgz",
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.15.tgz",
|
||||||
"integrity": "sha512-tTcMkXyBrmHi9BfrD2VNHs/5rYIUKETqsBlYOvSAABwBkJhSDVb5e7wPukftsQbO3WzQkXe6kaztC6WtUOXSoQ==",
|
"integrity": "sha512-zBrGq5mx5wwpnow4+2BxUvleDM+GNd4sLbPaMapsSLQLD0NGRCquqPBTgN+7XkUteHvj7M+BstuI8tmnV7+HgQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -417,6 +417,29 @@
|
|||||||
"postcss-selector-parser": "^7.1.1"
|
"postcss-selector-parser": "^7.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@emnapi/core": {
|
||||||
|
"version": "1.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
||||||
|
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@emnapi/wasi-threads": "1.2.1",
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@emnapi/runtime": {
|
||||||
|
"version": "1.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
||||||
|
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@emnapi/wasi-threads": {
|
"node_modules/@emnapi/wasi-threads": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
||||||
@@ -1000,9 +1023,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@oxc-project/types": {
|
"node_modules/@oxc-project/types": {
|
||||||
"version": "0.127.0",
|
"version": "0.130.0",
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz",
|
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.130.0.tgz",
|
||||||
"integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==",
|
"integrity": "sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1084,9 +1107,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-android-arm64": {
|
"node_modules/@rolldown/binding-android-arm64": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.1.tgz",
|
||||||
"integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==",
|
"integrity": "sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1101,9 +1124,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.1.tgz",
|
||||||
"integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==",
|
"integrity": "sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1118,9 +1141,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-darwin-x64": {
|
"node_modules/@rolldown/binding-darwin-x64": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.1.tgz",
|
||||||
"integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==",
|
"integrity": "sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1135,9 +1158,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.1.tgz",
|
||||||
"integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==",
|
"integrity": "sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1152,9 +1175,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.1.tgz",
|
||||||
"integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==",
|
"integrity": "sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -1169,9 +1192,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.1.tgz",
|
||||||
"integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==",
|
"integrity": "sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1186,9 +1209,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.1.tgz",
|
||||||
"integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==",
|
"integrity": "sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1203,9 +1226,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.1.tgz",
|
||||||
"integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==",
|
"integrity": "sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
@@ -1220,9 +1243,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.1.tgz",
|
||||||
"integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==",
|
"integrity": "sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
@@ -1237,9 +1260,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.1.tgz",
|
||||||
"integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==",
|
"integrity": "sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1254,9 +1277,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.1.tgz",
|
||||||
"integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==",
|
"integrity": "sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1271,9 +1294,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.1.tgz",
|
||||||
"integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==",
|
"integrity": "sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1288,9 +1311,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-wasm32-wasi": {
|
"node_modules/@rolldown/binding-wasm32-wasi": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.1.tgz",
|
||||||
"integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==",
|
"integrity": "sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"wasm32"
|
"wasm32"
|
||||||
],
|
],
|
||||||
@@ -1307,9 +1330,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.1.tgz",
|
||||||
"integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==",
|
"integrity": "sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -1324,9 +1347,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.1.tgz",
|
||||||
"integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==",
|
"integrity": "sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -1341,9 +1364,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rolldown/pluginutils": {
|
"node_modules/@rolldown/pluginutils": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz",
|
||||||
"integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==",
|
"integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
@@ -1488,9 +1511,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tybys/wasm-util": {
|
"node_modules/@tybys/wasm-util": {
|
||||||
"version": "0.10.1",
|
"version": "0.10.2",
|
||||||
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz",
|
||||||
"integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
|
"integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
@@ -1499,13 +1522,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "25.6.0",
|
"version": "25.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.8.0.tgz",
|
||||||
"integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
|
"integrity": "sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.19.0"
|
"undici-types": ">=7.24.0 <7.24.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/pluralize": {
|
"node_modules/@types/pluralize": {
|
||||||
@@ -2411,9 +2434,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/get-east-asian-width": {
|
"node_modules/get-east-asian-width": {
|
||||||
"version": "1.5.0",
|
"version": "1.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
|
||||||
"integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
|
"integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2724,16 +2747,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-plain-object": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/is-what": {
|
"node_modules/is-what": {
|
||||||
"version": "4.1.16",
|
"version": "4.1.16",
|
||||||
"resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz",
|
"resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz",
|
||||||
@@ -3452,9 +3465,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.10",
|
"version": "8.5.14",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
|
||||||
"integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==",
|
"integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3718,14 +3731,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rolldown": {
|
"node_modules/rolldown": {
|
||||||
"version": "1.0.0-rc.17",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz",
|
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.1.tgz",
|
||||||
"integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==",
|
"integrity": "sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@oxc-project/types": "=0.127.0",
|
"@oxc-project/types": "=0.130.0",
|
||||||
"@rolldown/pluginutils": "1.0.0-rc.17"
|
"@rolldown/pluginutils": "^1.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"rolldown": "bin/cli.mjs"
|
"rolldown": "bin/cli.mjs"
|
||||||
@@ -3734,21 +3747,21 @@
|
|||||||
"node": "^20.19.0 || >=22.12.0"
|
"node": "^20.19.0 || >=22.12.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rolldown/binding-android-arm64": "1.0.0-rc.17",
|
"@rolldown/binding-android-arm64": "1.0.1",
|
||||||
"@rolldown/binding-darwin-arm64": "1.0.0-rc.17",
|
"@rolldown/binding-darwin-arm64": "1.0.1",
|
||||||
"@rolldown/binding-darwin-x64": "1.0.0-rc.17",
|
"@rolldown/binding-darwin-x64": "1.0.1",
|
||||||
"@rolldown/binding-freebsd-x64": "1.0.0-rc.17",
|
"@rolldown/binding-freebsd-x64": "1.0.1",
|
||||||
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17",
|
"@rolldown/binding-linux-arm-gnueabihf": "1.0.1",
|
||||||
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17",
|
"@rolldown/binding-linux-arm64-gnu": "1.0.1",
|
||||||
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17",
|
"@rolldown/binding-linux-arm64-musl": "1.0.1",
|
||||||
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17",
|
"@rolldown/binding-linux-ppc64-gnu": "1.0.1",
|
||||||
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17",
|
"@rolldown/binding-linux-s390x-gnu": "1.0.1",
|
||||||
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17",
|
"@rolldown/binding-linux-x64-gnu": "1.0.1",
|
||||||
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.17",
|
"@rolldown/binding-linux-x64-musl": "1.0.1",
|
||||||
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.17",
|
"@rolldown/binding-openharmony-arm64": "1.0.1",
|
||||||
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.17",
|
"@rolldown/binding-wasm32-wasi": "1.0.1",
|
||||||
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17",
|
"@rolldown/binding-win32-arm64-msvc": "1.0.1",
|
||||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17"
|
"@rolldown/binding-win32-x64-msvc": "1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/run-parallel": {
|
"node_modules/run-parallel": {
|
||||||
@@ -3987,9 +4000,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/string-width": {
|
"node_modules/string-width": {
|
||||||
"version": "8.2.0",
|
"version": "8.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
|
||||||
"integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==",
|
"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -4036,9 +4049,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/stylelint": {
|
"node_modules/stylelint": {
|
||||||
"version": "17.9.0",
|
"version": "17.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.11.1.tgz",
|
||||||
"integrity": "sha512-xO0jeY6z1/urFL5L/BZLmB1yYlbRiRMQnYH6ArZIDWJ+SZXGssOY7XoYb1JIv/L220+EBnwwJXJS4Mt/F96SvA==",
|
"integrity": "sha512-+smN/HqVTggUx3iuAzOi9fPh8SrH+cJWlZrYVldXoJ06orWBhZ4Ue/QEp64oei6pVrAh4w3tG+Y12Vw7MbCFRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4073,17 +4086,16 @@
|
|||||||
"html-tags": "^5.1.0",
|
"html-tags": "^5.1.0",
|
||||||
"ignore": "^7.0.5",
|
"ignore": "^7.0.5",
|
||||||
"import-meta-resolve": "^4.2.0",
|
"import-meta-resolve": "^4.2.0",
|
||||||
"is-plain-object": "^5.0.0",
|
|
||||||
"mathml-tag-names": "^4.0.0",
|
"mathml-tag-names": "^4.0.0",
|
||||||
"meow": "^14.1.0",
|
"meow": "^14.1.0",
|
||||||
"micromatch": "^4.0.8",
|
"micromatch": "^4.0.8",
|
||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"picocolors": "^1.1.1",
|
"picocolors": "^1.1.1",
|
||||||
"postcss": "^8.5.9",
|
"postcss": "^8.5.14",
|
||||||
"postcss-safe-parser": "^7.0.1",
|
"postcss-safe-parser": "^7.0.1",
|
||||||
"postcss-selector-parser": "^7.1.1",
|
"postcss-selector-parser": "^7.1.1",
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"string-width": "^8.2.0",
|
"string-width": "^8.2.1",
|
||||||
"supports-hyperlinks": "^4.4.0",
|
"supports-hyperlinks": "^4.4.0",
|
||||||
"svg-tags": "^1.0.0",
|
"svg-tags": "^1.0.0",
|
||||||
"table": "^6.9.0",
|
"table": "^6.9.0",
|
||||||
@@ -4455,9 +4467,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.19.2",
|
"version": "7.24.6",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz",
|
||||||
"integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
|
"integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
@@ -4522,16 +4534,16 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "8.0.10",
|
"version": "8.0.13",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.13.tgz",
|
||||||
"integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==",
|
"integrity": "sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lightningcss": "^1.32.0",
|
"lightningcss": "^1.32.0",
|
||||||
"picomatch": "^4.0.4",
|
"picomatch": "^4.0.4",
|
||||||
"postcss": "^8.5.10",
|
"postcss": "^8.5.14",
|
||||||
"rolldown": "1.0.0-rc.17",
|
"rolldown": "1.0.1",
|
||||||
"tinyglobby": "^0.2.16"
|
"tinyglobby": "^0.2.16"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -4548,7 +4560,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@types/node": "^20.19.0 || >=22.12.0",
|
"@types/node": "^20.19.0 || >=22.12.0",
|
||||||
"@vitejs/devtools": "^0.1.0",
|
"@vitejs/devtools": "^0.1.18",
|
||||||
"esbuild": "^0.27.0 || ^0.28.0",
|
"esbuild": "^0.27.0 || ^0.28.0",
|
||||||
"jiti": ">=1.21.0",
|
"jiti": ">=1.21.0",
|
||||||
"less": "^4.0.0",
|
"less": "^4.0.0",
|
||||||
@@ -4600,9 +4612,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-bundle-analyzer": {
|
"node_modules/vite-bundle-analyzer": {
|
||||||
"version": "1.3.7",
|
"version": "1.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.8.tgz",
|
||||||
"integrity": "sha512-dYlW6iM0Gq7+uSEfXytDC+UjruUMgEKhXwQUbw4cJUgHA6FdEhpLgIrL5OZEyabrzVen0mZyfOSESyZ7nGyT8g==",
|
"integrity": "sha512-IIk7WPhoYs7pyo75jwI+dFt7yykgjK7NY+dqnJtiZnyqP2k6NgPb3TY80FLFjtgnfk/o+OjI18+anKyeviCbRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -29,8 +29,8 @@
|
|||||||
"swiped-events": "1.2.0"
|
"swiped-events": "1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "2.4.13",
|
"@biomejs/biome": "2.4.15",
|
||||||
"@types/node": "^25.6.0",
|
"@types/node": "^25.8.0",
|
||||||
"browserslist": "^4.28.2",
|
"browserslist": "^4.28.2",
|
||||||
"browserslist-to-esbuild": "^2.1.1",
|
"browserslist-to-esbuild": "^2.1.1",
|
||||||
"edge.js": "^6.5.0",
|
"edge.js": "^6.5.0",
|
||||||
@@ -38,12 +38,12 @@
|
|||||||
"mathjs": "^15.2.0",
|
"mathjs": "^15.2.0",
|
||||||
"sharp": "~0.34.5",
|
"sharp": "~0.34.5",
|
||||||
"sort-package-json": "^3.6.1",
|
"sort-package-json": "^3.6.1",
|
||||||
"stylelint": "^17.9.0",
|
"stylelint": "^17.11.1",
|
||||||
"stylelint-config-standard-less": "^4.1.0",
|
"stylelint-config-standard-less": "^4.1.0",
|
||||||
"stylelint-prettier": "^5.0.3",
|
"stylelint-prettier": "^5.0.3",
|
||||||
"svgo": "^4.0.1",
|
"svgo": "^4.0.1",
|
||||||
"typescript": "~6.0.3",
|
"typescript": "~6.0.3",
|
||||||
"vite": "^8.0.10",
|
"vite": "^8.0.13",
|
||||||
"vite-bundle-analyzer": "^1.3.7"
|
"vite-bundle-analyzer": "^1.3.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+57
@@ -0,0 +1,57 @@
|
|||||||
|
.content {
|
||||||
|
width: 52em; /* instead of 46em */
|
||||||
|
}
|
||||||
|
|
||||||
|
p code.literal {
|
||||||
|
text-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
aside.sidebar {
|
||||||
|
border-color: lightsteelblue;
|
||||||
|
border-radius: 3pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.sidebar-title, .sidebar p {
|
||||||
|
margin: 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar li,
|
||||||
|
.hlist li {
|
||||||
|
list-style-type: disclosure-closed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sphinxsidebar .current > a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* admonitions with (rendered) reST markup examples (:class: rst-example)
|
||||||
|
*
|
||||||
|
* .. admonition:: title of the example
|
||||||
|
* :class: rst-example
|
||||||
|
* ....
|
||||||
|
*/
|
||||||
|
|
||||||
|
div.rst-example {
|
||||||
|
background-color: inherit;
|
||||||
|
margin: 0;
|
||||||
|
border-top: none;
|
||||||
|
border-right: 1px solid #ccc;
|
||||||
|
border-bottom: none;
|
||||||
|
border-left: none;
|
||||||
|
border-radius: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.rst-example > p.admonition-title {
|
||||||
|
font-family: Sans Serif;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.8em;
|
||||||
|
display: block;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.sphinx-tabs {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
-151
@@ -1,151 +0,0 @@
|
|||||||
@import url("pocoo.css");
|
|
||||||
|
|
||||||
a, a.reference, a.footnote-reference {
|
|
||||||
color: #004b6b;
|
|
||||||
border-color: #004b6b;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
color: #6d4100;
|
|
||||||
border-color: #6d4100;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.version-warning {
|
|
||||||
background-color: #004b6b;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside.sidebar {
|
|
||||||
background-color: whitesmoke;
|
|
||||||
border-color: lightsteelblue;
|
|
||||||
border-radius: 3pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar p.caption {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.sidebar-title, .sidebar p {
|
|
||||||
margin: 6pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li,
|
|
||||||
.hlist li {
|
|
||||||
list-style-type: disclosure-closed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sphinxsidebar .current > a {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* admonitions
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.admonition, div.topic, nav.contents, div.toctree-wrapper {
|
|
||||||
background-color: #fafafa;
|
|
||||||
margin: 8px 0px;
|
|
||||||
padding: 1em;
|
|
||||||
border-radius: 3pt 0 0 3pt;
|
|
||||||
border-top: none;
|
|
||||||
border-right: none;
|
|
||||||
border-bottom: none;
|
|
||||||
border-left: 5pt solid #ccc;
|
|
||||||
list-style-type: disclosure-closed;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.toctree-wrapper p.caption {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 24px;
|
|
||||||
margin: 0 0 10px 0;
|
|
||||||
padding: 0;
|
|
||||||
line-height: 1;
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.admonition-title:after {
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.hint { border-color: #416dc0b0; }
|
|
||||||
.admonition.note { border-color: #6c856cb0; }
|
|
||||||
.admonition.tip { border-color: #85c5c2b0; }
|
|
||||||
.admonition.attention { border-color: #ecec97b0; }
|
|
||||||
.admonition.caution { border-color: #a6c677b0; }
|
|
||||||
.admonition.danger { border-color: #d46262b0; }
|
|
||||||
.admonition.important { border-color: #dfa3a3b0; }
|
|
||||||
.admonition.error { border-color: red; }
|
|
||||||
.admonition.warning { border-color: darkred; }
|
|
||||||
|
|
||||||
.admonition.admonition-generic-admonition-title {
|
|
||||||
border-color: #416dc0b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* admonitions with (rendered) reST markup examples (:class: rst-example)
|
|
||||||
*
|
|
||||||
* .. admonition:: title of the example
|
|
||||||
* :class: rst-example
|
|
||||||
* ....
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.rst-example {
|
|
||||||
background-color: inherit;
|
|
||||||
margin: 0;
|
|
||||||
border-top: none;
|
|
||||||
border-right: 1px solid #ccc;
|
|
||||||
border-bottom: none;
|
|
||||||
border-left: none;
|
|
||||||
border-radius: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.rst-example > p.admonition-title {
|
|
||||||
font-family: Sans Serif;
|
|
||||||
font-style: italic;
|
|
||||||
font-size: 0.8em;
|
|
||||||
display: block;
|
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
padding: 0.5em 1em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* code block in figures
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.highlight pre {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Table theme
|
|
||||||
*/
|
|
||||||
|
|
||||||
thead, tfoot {
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
th:hover, td:hover {
|
|
||||||
background-color: #ffc;
|
|
||||||
}
|
|
||||||
|
|
||||||
thead th, tfoot th, tfoot td, tbody th {
|
|
||||||
background-color: #fffaef;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:nth-child(odd) {
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:nth-child(even) {
|
|
||||||
background-color: #fafafa;
|
|
||||||
}
|
|
||||||
|
|
||||||
caption {
|
|
||||||
font-family: Sans Serif;
|
|
||||||
padding: 0.5em;
|
|
||||||
margin: 0.5em 0 0.5em 0;
|
|
||||||
caption-side: top;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinx-tabs {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
Vendored
-7
@@ -1,7 +0,0 @@
|
|||||||
[theme]
|
|
||||||
inherit = pocoo
|
|
||||||
stylesheet = searxng.css
|
|
||||||
|
|
||||||
[options]
|
|
||||||
touch_icon =
|
|
||||||
globaltoc_maxdepth = 5
|
|
||||||
@@ -4,11 +4,6 @@
|
|||||||
Buildhosts
|
Buildhosts
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
To get best results from build, it's recommend to install additional packages on
|
To get best results from build, it's recommend to install additional packages on
|
||||||
build hosts (see :ref:`searxng.sh`).
|
build hosts (see :ref:`searxng.sh`).
|
||||||
|
|
||||||
|
|||||||
@@ -61,11 +61,6 @@ section might give you some guidance.
|
|||||||
- `Apache Fedora`_
|
- `Apache Fedora`_
|
||||||
- `Apache directives`_
|
- `Apache directives`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
The Apache HTTP server
|
The Apache HTTP server
|
||||||
======================
|
======================
|
||||||
|
|||||||
@@ -41,12 +41,6 @@ section might give you some guidance.
|
|||||||
- `uWSGI support from nginx`_
|
- `uWSGI support from nginx`_
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
The nginx HTTP server
|
The nginx HTTP server
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Step by step installation
|
Step by step installation
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
In this section we show the setup of a SearXNG instance that will be installed
|
In this section we show the setup of a SearXNG instance that will be installed
|
||||||
by the :ref:`installation scripts`.
|
by the :ref:`installation scripts`.
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,6 @@ uWSGI
|
|||||||
- `systemd.unit`_
|
- `systemd.unit`_
|
||||||
- `uWSGI Emperor`_
|
- `uWSGI Emperor`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
.. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
||||||
.. _One service per app in systemd:
|
.. _One service per app in systemd:
|
||||||
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
|
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
|
||||||
|
|||||||
@@ -8,11 +8,6 @@ Favicons
|
|||||||
|
|
||||||
Don't activate the favicons before reading the documentation.
|
Don't activate the favicons before reading the documentation.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Activating the favicons in SearXNG is very easy, but this **generates a
|
Activating the favicons in SearXNG is very easy, but this **generates a
|
||||||
significantly higher load** in the client/server communication and increases
|
significantly higher load** in the client/server communication and increases
|
||||||
resources needed on the server.
|
resources needed on the server.
|
||||||
@@ -250,4 +245,3 @@ into the *proxy*:
|
|||||||
.. _data URL:
|
.. _data URL:
|
||||||
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
|
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
|
||||||
.. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name
|
.. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,5 @@ Limiter
|
|||||||
|
|
||||||
The limiter requires a :ref:`Valkey <settings valkey>` database.
|
The limiter requires a :ref:`Valkey <settings valkey>` database.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.limiter
|
.. automodule:: searx.limiter
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -12,11 +12,6 @@ file.
|
|||||||
- :ref:`use_default_settings.yml`
|
- :ref:`use_default_settings.yml`
|
||||||
- :ref:`search API`
|
- :ref:`search API`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _settings location:
|
.. _settings location:
|
||||||
|
|
||||||
settings.yml location
|
settings.yml location
|
||||||
|
|||||||
@@ -102,11 +102,18 @@ The built-in plugins are all located in the namespace `searx.plugins`.
|
|||||||
external plugins
|
external plugins
|
||||||
================
|
================
|
||||||
|
|
||||||
|
SearXNG supports :ref:`external plugins <dev plugin>` / there is no need to
|
||||||
|
install one, SearXNG runs out of the box.
|
||||||
|
|
||||||
|
`Only show green hosted results`_:
|
||||||
|
SearXNG plugin to check if a domain is part of the Green WEB.
|
||||||
|
|
||||||
|
`SearXNG BM25 Reranker`_:
|
||||||
|
SearXNG plugin that reranks search results using BM25 text relevance scoring
|
||||||
|
to improve search quality.
|
||||||
|
|
||||||
.. _Only show green hosted results:
|
.. _Only show green hosted results:
|
||||||
https://github.com/return42/tgwf-searx-plugins/
|
https://github.com/return42/tgwf-searx-plugins/
|
||||||
|
|
||||||
SearXNG supports *external plugins* / there is no need to install one, SearXNG
|
.. _SearXNG BM25 Reranker:
|
||||||
runs out of the box.
|
https://github.com/Oaklight/searxng-bm25-reranker
|
||||||
|
|
||||||
- `Only show green hosted results`_
|
|
||||||
- ..
|
|
||||||
|
|||||||
@@ -9,11 +9,6 @@ SearXNG maintenance
|
|||||||
- :ref:`toolboxing`
|
- :ref:`toolboxing`
|
||||||
- :ref:`uWSGI maintenance`
|
- :ref:`uWSGI maintenance`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _update searxng:
|
.. _update searxng:
|
||||||
|
|
||||||
How to update
|
How to update
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ ${fedora_build}
|
|||||||
$ sudo -H -u ${SERVICE_USER} -i
|
$ sudo -H -u ${SERVICE_USER} -i
|
||||||
(${SERVICE_USER})$ cd ${SEARXNG_SRC}
|
(${SERVICE_USER})$ cd ${SEARXNG_SRC}
|
||||||
(${SERVICE_USER})$ export SEARXNG_SETTINGS_PATH=\"${SEARXNG_SETTINGS_PATH}\"
|
(${SERVICE_USER})$ export SEARXNG_SETTINGS_PATH=\"${SEARXNG_SETTINGS_PATH}\"
|
||||||
(${SERVICE_USER})$ python searx/webapp.py
|
(${SERVICE_USER})$ python -m searx.webapp
|
||||||
|
|
||||||
# disable debug
|
# disable debug
|
||||||
$ sudo -H sed -i -e \"s/debug : True/debug : False/g\" \"$SEARXNG_SETTINGS_PATH\"
|
$ sudo -H sed -i -e \"s/debug : True/debug : False/g\" \"$SEARXNG_SETTINGS_PATH\"
|
||||||
|
|||||||
+41
-34
@@ -1,8 +1,7 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
import sys, os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pallets_sphinx_themes import ProjectLink
|
|
||||||
|
|
||||||
from searx import get_setting
|
from searx import get_setting
|
||||||
from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH
|
from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH
|
||||||
@@ -98,7 +97,6 @@ extlinks['pull-searx'] = ('https://github.com/searx/searx/pull/%s', 'PR %s')
|
|||||||
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s')
|
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s')
|
||||||
extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s')
|
extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s')
|
||||||
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s')
|
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s')
|
||||||
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: %s')
|
|
||||||
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s')
|
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s')
|
||||||
#extlinks['role'] = (
|
#extlinks['role'] = (
|
||||||
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
|
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
|
||||||
@@ -117,7 +115,6 @@ extensions = [
|
|||||||
'sphinx.ext.viewcode',
|
'sphinx.ext.viewcode',
|
||||||
"sphinx.ext.autodoc",
|
"sphinx.ext.autodoc",
|
||||||
"sphinx.ext.intersphinx",
|
"sphinx.ext.intersphinx",
|
||||||
"pallets_sphinx_themes",
|
|
||||||
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
|
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
|
||||||
"sphinx_jinja", # https://github.com/tardyp/sphinx-jinja
|
"sphinx_jinja", # https://github.com/tardyp/sphinx-jinja
|
||||||
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
|
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
|
||||||
@@ -158,15 +155,49 @@ issues_github_path = "searxng/searxng"
|
|||||||
|
|
||||||
# HTML -----------------------------------------------------------------
|
# HTML -----------------------------------------------------------------
|
||||||
|
|
||||||
|
html_theme = "furo"
|
||||||
|
html_theme_options = {
|
||||||
|
# link to project source at GitHub for editing and viewing docs code
|
||||||
|
"source_repository": "https://github.com/searxng/searxng/",
|
||||||
|
"source_branch": "master",
|
||||||
|
"source_directory": "docs/",
|
||||||
|
|
||||||
|
# Show link to repository & searx.space in footer
|
||||||
|
"footer_icons": [
|
||||||
|
{
|
||||||
|
"name": "GitHub",
|
||||||
|
"url": "https://github.com/searxng/searxng/",
|
||||||
|
"html": "💾",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "searx.space",
|
||||||
|
"url": "https://searx.space/",
|
||||||
|
"html": "🌐",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
html_sidebars = {
|
||||||
|
"**": [
|
||||||
|
"sidebar/scroll-start.html",
|
||||||
|
"sidebar/brand.html",
|
||||||
|
"sidebar/search.html",
|
||||||
|
"sidebar/navigation.html",
|
||||||
|
"sidebar/ethical-ads.html",
|
||||||
|
"sidebar/scroll-end.html",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
html_static_path = ['_static']
|
||||||
|
|
||||||
|
html_css_files = [
|
||||||
|
'searxng.css',
|
||||||
|
]
|
||||||
|
|
||||||
# https://searxng.github.io/searxng --> '/searxng/'
|
# https://searxng.github.io/searxng --> '/searxng/'
|
||||||
# https://docs.searxng.org --> '/'
|
# https://docs.searxng.org --> '/'
|
||||||
notfound_urls_prefix = '/'
|
notfound_urls_prefix = '/'
|
||||||
|
|
||||||
sys.path.append(os.path.abspath('_themes'))
|
|
||||||
sys.path.insert(0, os.path.abspath("../"))
|
|
||||||
html_theme_path = ['_themes']
|
|
||||||
html_theme = "searxng"
|
|
||||||
|
|
||||||
# sphinx.ext.imgmath setup
|
# sphinx.ext.imgmath setup
|
||||||
html_math_renderer = 'imgmath'
|
html_math_renderer = 'imgmath'
|
||||||
imgmath_image_format = 'svg'
|
imgmath_image_format = 'svg'
|
||||||
@@ -174,34 +205,10 @@ imgmath_font_size = 14
|
|||||||
# sphinx.ext.imgmath setup END
|
# sphinx.ext.imgmath setup END
|
||||||
|
|
||||||
html_show_sphinx = False
|
html_show_sphinx = False
|
||||||
html_theme_options = {"index_sidebar_logo": True}
|
|
||||||
html_context = {"project_links": [] }
|
|
||||||
html_context["project_links"].append(ProjectLink("Source", GIT_URL + '/tree/' + GIT_BRANCH))
|
|
||||||
|
|
||||||
if WIKI_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Wiki", WIKI_URL))
|
|
||||||
if PUBLIC_INSTANCES:
|
|
||||||
html_context["project_links"].append(ProjectLink("Public instances", PUBLIC_INSTANCES))
|
|
||||||
if ISSUE_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Issue Tracker", ISSUE_URL))
|
|
||||||
if PRIVACYPOLICY_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Privacy Policy", PRIVACYPOLICY_URL))
|
|
||||||
if CONTACT_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
|
|
||||||
|
|
||||||
html_sidebars = {
|
|
||||||
"**": [
|
|
||||||
"globaltoc.html",
|
|
||||||
"project.html",
|
|
||||||
"relations.html",
|
|
||||||
"searchbox.html",
|
|
||||||
"sourcelink.html"
|
|
||||||
],
|
|
||||||
}
|
|
||||||
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
|
|
||||||
html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
|
html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
|
||||||
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
|
||||||
html_show_sourcelink = True
|
html_show_sourcelink = True
|
||||||
|
html_copy_source = True
|
||||||
|
|
||||||
# LaTeX ----------------------------------------------------------------
|
# LaTeX ----------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
How to contribute
|
How to contribute
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Prime directives: Privacy, Hackability
|
Prime directives: Privacy, Hackability
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Demo Offline Engine
|
Demo Offline Engine
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.demo_offline
|
.. automodule:: searx.engines.demo_offline
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Demo Online Engine
|
Demo Online Engine
|
||||||
==================
|
==================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.demo_online
|
.. automodule:: searx.engines.demo_online
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Engine Overview
|
Engine Overview
|
||||||
===============
|
===============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
|
.. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
|
||||||
|
|
||||||
.. sidebar:: Further reading ..
|
.. sidebar:: Further reading ..
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Engine Implementations
|
Engine Implementations
|
||||||
======================
|
======================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Framework Components
|
:caption: Framework Components
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
JSON Engine
|
JSON Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.json_engine
|
.. automodule:: searx.engines.json_engine
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
MediaWiki Engine
|
MediaWiki Engine
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mediawiki
|
.. automodule:: searx.engines.mediawiki
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -9,11 +9,6 @@ Command Line Engines
|
|||||||
- :origin:`command.py <searx/engines/command.py>`
|
- :origin:`command.py <searx/engines/command.py>`
|
||||||
- :ref:`offline engines`
|
- :ref:`offline engines`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -6,21 +6,16 @@ NoSQL databases
|
|||||||
|
|
||||||
.. sidebar:: further read
|
.. sidebar:: further read
|
||||||
|
|
||||||
- `NoSQL databases <https://en.wikipedia.org/wiki/NoSQL>`_
|
- `NoSQL database <https://en.wikipedia.org/wiki/NoSQL>`_
|
||||||
- `valkey.io <https://valkey.io/>`_
|
- `valkey.io <https://valkey.io/>`_
|
||||||
- `MongoDB <https://www.mongodb.com>`_
|
- `MongoDB <https://www.mongodb.com>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
<https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.
|
<https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.
|
||||||
|
|
||||||
The following `NoSQL databases`_ are supported:
|
The following `NoSQL database`_ are supported:
|
||||||
|
|
||||||
- :ref:`engine valkey_server`
|
- :ref:`engine valkey_server`
|
||||||
- :ref:`engine mongodb`
|
- :ref:`engine mongodb`
|
||||||
@@ -57,7 +52,7 @@ instance. To switch into the environment (:ref:`searxng-src`) you can use
|
|||||||
Configure the engines
|
Configure the engines
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
`NoSQL databases`_ are used for storing arbitrary data without first defining
|
`NoSQL database`_ are used for storing arbitrary data without first defining
|
||||||
their structure.
|
their structure.
|
||||||
|
|
||||||
|
|
||||||
@@ -75,13 +70,13 @@ Valkey Server
|
|||||||
- :origin:`valkey_server.py <searx/engines/valkey_server.py>`
|
- :origin:`valkey_server.py <searx/engines/valkey_server.py>`
|
||||||
|
|
||||||
.. automodule:: searx.engines.valkey_server
|
.. automodule:: searx.engines.valkey_server
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
.. _engine mongodb:
|
.. _engine mongodb:
|
||||||
|
|
||||||
MongoDB
|
MongoDB / PyMongo
|
||||||
-------
|
-----------------
|
||||||
|
|
||||||
.. _pymongo: https://github.com/mongodb/mongo-python-driver#installation
|
.. _pymongo: https://github.com/mongodb/mongo-python-driver#installation
|
||||||
|
|
||||||
@@ -93,4 +88,4 @@ MongoDB
|
|||||||
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mongodb
|
.. automodule:: searx.engines.mongodb
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -7,11 +7,6 @@ Local Search APIs
|
|||||||
- `Comparison to alternatives
|
- `Comparison to alternatives
|
||||||
<https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
|
<https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 1
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
@@ -37,8 +32,8 @@ in section :ref:`private engines`.
|
|||||||
|
|
||||||
.. _engine meilisearch:
|
.. _engine meilisearch:
|
||||||
|
|
||||||
MeiliSearch
|
MeiliSearch Engine
|
||||||
===========
|
==================
|
||||||
|
|
||||||
.. automodule:: searx.engines.meilisearch
|
.. automodule:: searx.engines.meilisearch
|
||||||
:members:
|
:members:
|
||||||
@@ -46,17 +41,16 @@ MeiliSearch
|
|||||||
|
|
||||||
.. _engine elasticsearch:
|
.. _engine elasticsearch:
|
||||||
|
|
||||||
Elasticsearch
|
Elasticsearch Engine
|
||||||
=============
|
====================
|
||||||
|
|
||||||
.. automodule:: searx.engines.elasticsearch
|
.. automodule:: searx.engines.elasticsearch
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. _engine solr:
|
.. _engine solr:
|
||||||
|
|
||||||
Solr
|
Solr Engine
|
||||||
====
|
===========
|
||||||
|
|
||||||
.. automodule:: searx.engines.solr
|
.. automodule:: searx.engines.solr
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -10,11 +10,6 @@ SQL Engines
|
|||||||
- `PostgreSQL <https://www.postgresql.org>`_
|
- `PostgreSQL <https://www.postgresql.org>`_
|
||||||
- `MySQL <https://www.mysql.com>`_
|
- `MySQL <https://www.mysql.com>`_
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. sidebar:: info
|
.. sidebar:: info
|
||||||
|
|
||||||
Initial sponsored by `Search and Discovery Fund
|
Initial sponsored by `Search and Discovery Fund
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Adobe Stock
|
Adobe Stock
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.adobe_stock
|
.. automodule:: searx.engines.adobe_stock
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Alpine Linux Packages
|
Alpine Linux Packages
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.alpinelinux
|
.. automodule:: searx.engines.alpinelinux
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Anna's Archive
|
Anna's Archive
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.annas_archive
|
.. automodule:: searx.engines.annas_archive
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Arch Linux
|
Arch Linux
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.archlinux
|
.. automodule:: searx.engines.archlinux
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Bing Engines
|
Bing Engines
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _bing web engine:
|
.. _bing web engine:
|
||||||
|
|
||||||
Bing WEB
|
Bing WEB
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Bpb
|
Bpb
|
||||||
===
|
===
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.bpb
|
.. automodule:: searx.engines.bpb
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -2,11 +2,6 @@
|
|||||||
Brave Engines
|
Brave Engines
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Brave offers two different engines for SearXNG:
|
Brave offers two different engines for SearXNG:
|
||||||
|
|
||||||
1. The standard engine (``brave``) uses the web interface.
|
1. The standard engine (``brave``) uses the web interface.
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
BT4G
|
BT4G
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.bt4g
|
.. automodule:: searx.engines.bt4g
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
.. _cara engine:
|
||||||
|
|
||||||
|
===========
|
||||||
|
Cara Images
|
||||||
|
===========
|
||||||
|
|
||||||
|
.. automodule:: searx.engines.cara
|
||||||
|
:members:
|
||||||
@@ -4,10 +4,5 @@
|
|||||||
CORE
|
CORE
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.core
|
.. automodule:: searx.engines.core
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Dailymotion
|
Dailymotion
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.dailymotion
|
.. automodule:: searx.engines.dailymotion
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
DuckDuckGo Engines
|
DuckDuckGo Engines
|
||||||
==================
|
==================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.duckduckgo
|
.. automodule:: searx.engines.duckduckgo
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Google Engines
|
Google Engines
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _google API:
|
.. _google API:
|
||||||
|
|
||||||
Google API
|
Google API
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Lemmy
|
Lemmy
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.lemmy
|
.. automodule:: searx.engines.lemmy
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Library of Congress
|
Library of Congress
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.loc
|
.. automodule:: searx.engines.loc
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Mastodon
|
Mastodon
|
||||||
========
|
========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mastodon
|
.. automodule:: searx.engines.mastodon
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Moviepilot
|
Moviepilot
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.moviepilot
|
.. automodule:: searx.engines.moviepilot
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Matrix Rooms Search (MRS)
|
Matrix Rooms Search (MRS)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.mrs
|
.. automodule:: searx.engines.mrs
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Mwmbl Engine
|
Mwmbl Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _mwmbl web engine:
|
.. _mwmbl web engine:
|
||||||
|
|
||||||
Mwmbl WEB
|
Mwmbl WEB
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Odysee
|
Odysee
|
||||||
======
|
======
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.odysee
|
.. automodule:: searx.engines.odysee
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Peertube Engines
|
Peertube Engines
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _peertube video engine:
|
.. _peertube video engine:
|
||||||
|
|
||||||
Peertube Video
|
Peertube Video
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Piped
|
Piped
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.piped
|
.. automodule:: searx.engines.piped
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Presearch Engine
|
Presearch Engine
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.presearch
|
.. automodule:: searx.engines.presearch
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Qwant
|
Qwant
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.qwant
|
.. automodule:: searx.engines.qwant
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
RadioBrowser
|
RadioBrowser
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.radio_browser
|
.. automodule:: searx.engines.radio_browser
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Recoll Engine
|
Recoll Engine
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.recoll
|
.. automodule:: searx.engines.recoll
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Soundcloud
|
Soundcloud
|
||||||
==========
|
==========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.soundcloud
|
.. automodule:: searx.engines.soundcloud
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Startpage Engines
|
Startpage Engines
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.startpage
|
.. automodule:: searx.engines.startpage
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Tagesschau API
|
Tagesschau API
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.tagesschau
|
.. automodule:: searx.engines.tagesschau
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Torznab WebAPI
|
Torznab WebAPI
|
||||||
==============
|
==============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.torznab
|
.. automodule:: searx.engines.torznab
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Void Linux binary packages
|
Void Linux binary packages
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.voidlinux
|
.. automodule:: searx.engines.voidlinux
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Wallhaven
|
Wallhaven
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.wallhaven
|
.. automodule:: searx.engines.wallhaven
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Wikimedia
|
Wikimedia
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _wikipedia engine:
|
.. _wikipedia engine:
|
||||||
|
|
||||||
Wikipedia
|
Wikipedia
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Yacy
|
Yacy
|
||||||
====
|
====
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.yacy
|
.. automodule:: searx.engines.yacy
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Yahoo Engine
|
Yahoo Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.yahoo
|
.. automodule:: searx.engines.yahoo
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,10 +4,5 @@
|
|||||||
Z-Library
|
Z-Library
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.zlibrary
|
.. automodule:: searx.engines.zlibrary
|
||||||
:members:
|
:members:
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Tineye
|
Tineye
|
||||||
======
|
======
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.tineye
|
.. automodule:: searx.engines.tineye
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
XPath Engine
|
XPath Engine
|
||||||
============
|
============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.engines.xpath
|
.. automodule:: searx.engines.xpath
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,6 @@ Makefiles, we recommend to read gnu-make_ introduction.
|
|||||||
To install developer requirements follow :ref:`buildhosts`.
|
To install developer requirements follow :ref:`buildhosts`.
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
The usage is simple, just type ``make {target-name}`` to *build* a target.
|
The usage is simple, just type ``make {target-name}`` to *build* a target.
|
||||||
Calling the ``help`` target gives a first overview (``make help``):
|
Calling the ``help`` target gives a first overview (``make help``):
|
||||||
|
|
||||||
|
|||||||
+19
-1
@@ -60,11 +60,29 @@ into the developer environment and start a python based HTTP server by::
|
|||||||
|
|
||||||
$ ./manage dev.env
|
$ ./manage dev.env
|
||||||
...
|
...
|
||||||
(dev.env)$ SEARXNG_DEBUG=1 python -m searx.webapp
|
(dev.env)$ SEARXNG_DEBUG=1 searxng-run
|
||||||
|
|
||||||
Since this is a pure Python solution, you can set breakpoints in your code with
|
Since this is a pure Python solution, you can set breakpoints in your code with
|
||||||
``pdb.set_trace()`` and the debugger will wait for you in the terminal prompt.
|
``pdb.set_trace()`` and the debugger will wait for you in the terminal prompt.
|
||||||
|
|
||||||
|
Any other script or command line provided by SearXNG can also be used in the
|
||||||
|
same environment, here are a few examples::
|
||||||
|
|
||||||
|
# tools related to favicons
|
||||||
|
(dev.env)$ python -m searx.favicons
|
||||||
|
|
||||||
|
# tools related to DATA stored in searx/data
|
||||||
|
(dev.env)$ python -m searx.data --help
|
||||||
|
|
||||||
|
# tools related to engines
|
||||||
|
(dev.env)$ python -m searx.enginelib --help
|
||||||
|
|
||||||
|
# to test one of the update scripts
|
||||||
|
(dev.env)$ searxng_extra/update/update_engine_traits.py --help
|
||||||
|
|
||||||
|
# to test the update of the wikidata units
|
||||||
|
(dev.env)$ searxng_extra/update/update_wikidata_units.py
|
||||||
|
|
||||||
|
|
||||||
.. sidebar:: further read
|
.. sidebar:: further read
|
||||||
|
|
||||||
|
|||||||
@@ -36,12 +36,6 @@ docs.live <make docs.live>` to build HTML while editing.
|
|||||||
- SVG_, ImageMagick_
|
- SVG_, ImageMagick_
|
||||||
- DOT_, `Graphviz's dot`_, Graphviz_
|
- DOT_, `Graphviz's dot`_, Graphviz_
|
||||||
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is
|
Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is
|
||||||
used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_.
|
used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_.
|
||||||
|
|
||||||
|
|||||||
@@ -14,11 +14,6 @@ type of a result is defined by the :py:obj:`result_type.Result.template`. To
|
|||||||
set another media-type as :ref:`template default`, the field ``template``
|
set another media-type as :ref:`template default`, the field ``template``
|
||||||
in the result item must be set to the desired type.
|
in the result item must be set to the desired type.
|
||||||
|
|
||||||
.. contents:: Contents
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
.. _result template macros:
|
.. _result template macros:
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,6 @@ Why use a private instance?
|
|||||||
\.\.\.is a common question among SearXNG users. Before answering this
|
\.\.\.is a common question among SearXNG users. Before answering this
|
||||||
question, see what options a SearXNG user has.
|
question, see what options a SearXNG user has.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
Public instances are open to everyone who has access to their URL. Usually, they
|
Public instances are open to everyone who has access to their URL. Usually, they
|
||||||
are operated by unknown parties (from the users' point of view). Private
|
are operated by unknown parties (from the users' point of view). Private
|
||||||
instances can be used by a select group of people, such as a SearXNG instance for a
|
instances can be used by a select group of people, such as a SearXNG instance for a
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Bot Detection
|
Bot Detection
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.botdetection
|
.. automodule:: searx.botdetection
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Favicons (source)
|
Favicons (source)
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.favicons
|
.. automodule:: searx.favicons
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
@@ -43,6 +38,3 @@ Favicons Cache
|
|||||||
|
|
||||||
.. automodule:: searx.favicons.cache
|
.. automodule:: searx.favicons.cache
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
Locales
|
Locales
|
||||||
=======
|
=======
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. automodule:: searx.locales
|
.. automodule:: searx.locales
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
Search processors
|
Search processors
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
Abstract processor class
|
Abstract processor class
|
||||||
========================
|
========================
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,6 @@ Configured Engines
|
|||||||
called *tabs*), engines can be queried by their name or the categories they
|
called *tabs*), engines can be queried by their name or the categories they
|
||||||
belong to, by using a :ref:`\!bing syntax <search-syntax>`.
|
belong to, by using a :ref:`\!bing syntax <search-syntax>`.
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. jinja:: searx
|
.. jinja:: searx
|
||||||
|
|
||||||
{% for category, engines in categories_as_tabs.items() %}
|
{% for category, engines in categories_as_tabs.items() %}
|
||||||
|
|||||||
@@ -2,11 +2,6 @@
|
|||||||
User information
|
User information
|
||||||
================
|
================
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 3
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,6 @@ script :origin:`utils/searxng.sh`.
|
|||||||
- :ref:`installation nginx`
|
- :ref:`installation nginx`
|
||||||
- :ref:`installation apache`
|
- :ref:`installation apache`
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:depth: 2
|
|
||||||
:local:
|
|
||||||
:backlinks: entry
|
|
||||||
|
|
||||||
|
|
||||||
Install
|
Install
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|||||||
+10
-8
@@ -4,23 +4,25 @@ cov-core==1.15.0
|
|||||||
black==25.9.0
|
black==25.9.0
|
||||||
pylint==4.0.5
|
pylint==4.0.5
|
||||||
splinter==0.21.0
|
splinter==0.21.0
|
||||||
selenium==4.43.0
|
selenium==4.44.0
|
||||||
Pallets-Sphinx-Themes==2.5.0
|
Sphinx==8.2.3;python_version <= "3.11"
|
||||||
Sphinx==8.2.3
|
Sphinx==9.1.0; python_version > "3.11"
|
||||||
sphinx-issues==6.0.0
|
sphinx-issues==6.0.0
|
||||||
sphinx-jinja==2.0.2
|
sphinx-jinja==2.0.2
|
||||||
sphinx-tabs==3.5.0
|
sphinx-tabs==3.5.0
|
||||||
|
furo==2025.12.19
|
||||||
sphinxcontrib-programoutput==0.19
|
sphinxcontrib-programoutput==0.19
|
||||||
sphinx-autobuild==2025.8.25
|
sphinx-autobuild==2025.8.25
|
||||||
sphinx-notfound-page==1.1.0
|
sphinx-notfound-page==1.1.0
|
||||||
myst-parser==5.0.0
|
myst-parser==5.0.0
|
||||||
linuxdoc==20240924
|
linuxdoc==20260504
|
||||||
aiounittest==1.5.0
|
aiounittest==1.5.0
|
||||||
yamllint==1.38.0
|
yamllint==1.38.0
|
||||||
wlc==1.17.2
|
wlc==2.0.0
|
||||||
coloredlogs==15.0.1
|
coloredlogs==15.0.1
|
||||||
docutils>=0.21.2
|
docutils>=0.21.2;python_version <= "3.11"
|
||||||
|
docutils>=0.22.4; python_version > "3.11"
|
||||||
parameterized==0.9.0
|
parameterized==0.9.0
|
||||||
granian[reload]==2.7.3
|
granian[reload]==2.7.4
|
||||||
basedpyright==1.39.2
|
basedpyright==1.39.4
|
||||||
types-lxml==2026.2.16
|
types-lxml==2026.2.16
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
granian==2.7.3
|
granian==2.7.4
|
||||||
granian[pname]==2.7.3
|
granian[pname]==2.7.4
|
||||||
|
|||||||
+4
-4
@@ -1,9 +1,9 @@
|
|||||||
certifi==2026.2.25
|
certifi==2026.4.22
|
||||||
babel==2.18.0
|
babel==2.18.0
|
||||||
flask-babel==4.0.0
|
flask-babel==4.0.0
|
||||||
flask==3.1.3
|
flask==3.1.3
|
||||||
jinja2==3.1.6
|
jinja2==3.1.6
|
||||||
lxml==6.0.4
|
lxml==6.1.0
|
||||||
pygments==2.20.0
|
pygments==2.20.0
|
||||||
python-dateutil==2.9.0.post0
|
python-dateutil==2.9.0.post0
|
||||||
pyyaml==6.0.3
|
pyyaml==6.0.3
|
||||||
@@ -11,9 +11,9 @@ httpx[http2]==0.28.1
|
|||||||
httpx-socks[asyncio]==0.10.0
|
httpx-socks[asyncio]==0.10.0
|
||||||
sniffio==1.3.1
|
sniffio==1.3.1
|
||||||
valkey==6.1.1
|
valkey==6.1.1
|
||||||
markdown-it-py==4.0.0
|
markdown-it-py==4.2.0
|
||||||
msgspec==0.21.1
|
msgspec==0.21.1
|
||||||
typer==0.24.1
|
typer==0.25.1
|
||||||
isodate==0.7.2
|
isodate==0.7.2
|
||||||
whitenoise==6.12.0
|
whitenoise==6.12.0
|
||||||
typing-extensions==4.15.0
|
typing-extensions==4.15.0
|
||||||
|
|||||||
+7
-1
@@ -114,7 +114,13 @@ class ExpireCacheStats:
|
|||||||
if expire:
|
if expire:
|
||||||
valid_until = datetime.datetime.fromtimestamp(expire).strftime("%Y-%m-%d %H:%M:%S")
|
valid_until = datetime.datetime.fromtimestamp(expire).strftime("%Y-%m-%d %H:%M:%S")
|
||||||
c_kv += 1
|
c_kv += 1
|
||||||
lines.append(f"[{ctx_name:20s}] {valid_until} {key:12}" f" --> ({type(value).__name__}) {value} ")
|
value_str = str(value)
|
||||||
|
if len(value_str) > 120:
|
||||||
|
value_str = f"{value_str[:120]} ..."
|
||||||
|
lines.append(
|
||||||
|
f"[{ctx_name:20s}] {valid_until} {key:12}"
|
||||||
|
f" --> ({type(value).__name__}:{len(value)}) {value_str} "
|
||||||
|
)
|
||||||
|
|
||||||
lines.append(f"Number of contexts: {c_ctx}")
|
lines.append(f"Number of contexts: {c_ctx}")
|
||||||
lines.append(f"number of key/value pairs: {c_kv}")
|
lines.append(f"number of key/value pairs: {c_kv}")
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+34
-27
@@ -33,7 +33,7 @@
|
|||||||
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
|
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
|
||||||
"pl": "korona czeska",
|
"pl": "korona czeska",
|
||||||
"pt": "coroa checa",
|
"pt": "coroa checa",
|
||||||
"ro": "Coroană cehă",
|
"ro": "coroană cehă",
|
||||||
"ru": "чешская крона",
|
"ru": "чешская крона",
|
||||||
"sk": "česká koruna",
|
"sk": "česká koruna",
|
||||||
"sl": "češka krona",
|
"sl": "češka krona",
|
||||||
@@ -1164,7 +1164,7 @@
|
|||||||
"pa": "ਸਵਿੱਸ ਫ਼ਰਾਂਕ",
|
"pa": "ਸਵਿੱਸ ਫ਼ਰਾਂਕ",
|
||||||
"pl": "frank szwajcarski",
|
"pl": "frank szwajcarski",
|
||||||
"pt": "Franco suíço",
|
"pt": "Franco suíço",
|
||||||
"ro": "Franc elvețian",
|
"ro": "franc elvețian",
|
||||||
"ru": "швейцарский франк",
|
"ru": "швейцарский франк",
|
||||||
"sk": "Švajčiarsky frank",
|
"sk": "Švajčiarsky frank",
|
||||||
"sl": "švicarski frank",
|
"sl": "švicarski frank",
|
||||||
@@ -1484,7 +1484,7 @@
|
|||||||
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
|
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
|
||||||
"pl": "korona czeska",
|
"pl": "korona czeska",
|
||||||
"pt": "coroa checa",
|
"pt": "coroa checa",
|
||||||
"ro": "Coroană cehă",
|
"ro": "coroană cehă",
|
||||||
"ru": "чешская крона",
|
"ru": "чешская крона",
|
||||||
"sk": "česká koruna",
|
"sk": "česká koruna",
|
||||||
"sl": "češka krona",
|
"sl": "češka krona",
|
||||||
@@ -1807,7 +1807,7 @@
|
|||||||
"pap": "Euro",
|
"pap": "Euro",
|
||||||
"pl": "euro",
|
"pl": "euro",
|
||||||
"pt": "Euro",
|
"pt": "Euro",
|
||||||
"ro": "Euro",
|
"ro": "euro",
|
||||||
"ru": "евро",
|
"ru": "евро",
|
||||||
"sk": "euro",
|
"sk": "euro",
|
||||||
"sl": "evro",
|
"sl": "evro",
|
||||||
@@ -1941,7 +1941,7 @@
|
|||||||
"tr": "İngiliz sterlini",
|
"tr": "İngiliz sterlini",
|
||||||
"tt": "стерлинг фунты",
|
"tt": "стерлинг фунты",
|
||||||
"uk": "фунт стерлінгів",
|
"uk": "фунт стерлінгів",
|
||||||
"vi": "Bảng Anh"
|
"vi": "bảng Anh"
|
||||||
},
|
},
|
||||||
"GEL": {
|
"GEL": {
|
||||||
"ar": "لاري جورجي",
|
"ar": "لاري جورجي",
|
||||||
@@ -2627,7 +2627,7 @@
|
|||||||
"pa": "ਆਈਸਲੈਂਡੀ ਕਰੋਨਾ",
|
"pa": "ਆਈਸਲੈਂਡੀ ਕਰੋਨਾ",
|
||||||
"pl": "Korona islandzka",
|
"pl": "Korona islandzka",
|
||||||
"pt": "coroa islandesa",
|
"pt": "coroa islandesa",
|
||||||
"ro": "Coroană islandeză",
|
"ro": "coroană islandeză",
|
||||||
"ru": "исландская крона",
|
"ru": "исландская крона",
|
||||||
"sk": "Islandská koruna",
|
"sk": "Islandská koruna",
|
||||||
"sl": "islandska krona",
|
"sl": "islandska krona",
|
||||||
@@ -2827,7 +2827,7 @@
|
|||||||
"pa": "ਕਿਰਗਿਜ਼ਸਤਾਨੀ ਸੋਮ",
|
"pa": "ਕਿਰਗਿਜ਼ਸਤਾਨੀ ਸੋਮ",
|
||||||
"pl": "som",
|
"pl": "som",
|
||||||
"pt": "som",
|
"pt": "som",
|
||||||
"ro": "som kîrgîz",
|
"ro": "som",
|
||||||
"ru": "киргизский сом",
|
"ru": "киргизский сом",
|
||||||
"sk": "kyrgyzský som",
|
"sk": "kyrgyzský som",
|
||||||
"sl": "kirgiški som",
|
"sl": "kirgiški som",
|
||||||
@@ -3516,6 +3516,7 @@
|
|||||||
"en": "kyat",
|
"en": "kyat",
|
||||||
"eo": "birma kjato",
|
"eo": "birma kjato",
|
||||||
"es": "Kyat birmano",
|
"es": "Kyat birmano",
|
||||||
|
"eu": "kyat",
|
||||||
"fi": "Myanmarin kyat",
|
"fi": "Myanmarin kyat",
|
||||||
"fr": "Kyat",
|
"fr": "Kyat",
|
||||||
"ga": "kyat Mhaenmar",
|
"ga": "kyat Mhaenmar",
|
||||||
@@ -3576,7 +3577,7 @@
|
|||||||
"sk": "Mongolský tugrik",
|
"sk": "Mongolský tugrik",
|
||||||
"sl": "tugrik",
|
"sl": "tugrik",
|
||||||
"sr": "монголски тугрик",
|
"sr": "монголски тугрик",
|
||||||
"sv": "Mongolisk Tögrög",
|
"sv": "mongolisk tögrög",
|
||||||
"th": "ทูกรีก",
|
"th": "ทูกรีก",
|
||||||
"tr": "Tögrög",
|
"tr": "Tögrög",
|
||||||
"tt": "төгрөг",
|
"tt": "төгрөг",
|
||||||
@@ -4127,7 +4128,7 @@
|
|||||||
"oc": "Dolar neozelandés",
|
"oc": "Dolar neozelandés",
|
||||||
"pl": "dolar nowozelandzki",
|
"pl": "dolar nowozelandzki",
|
||||||
"pt": "dólar neozelandês",
|
"pt": "dólar neozelandês",
|
||||||
"ro": "Dolar neozeelandez",
|
"ro": "dolar neozeelandez",
|
||||||
"ru": "новозеландский доллар",
|
"ru": "новозеландский доллар",
|
||||||
"sk": "Novozélandský dolár",
|
"sk": "Novozélandský dolár",
|
||||||
"sl": "novozelandski dolar",
|
"sl": "novozelandski dolar",
|
||||||
@@ -4226,7 +4227,7 @@
|
|||||||
"es": "sol",
|
"es": "sol",
|
||||||
"eu": "Sol",
|
"eu": "Sol",
|
||||||
"fi": "Perun nuevo sol",
|
"fi": "Perun nuevo sol",
|
||||||
"fr": "nouveau sol",
|
"fr": "sol",
|
||||||
"ga": "nuevo sol Pheiriú",
|
"ga": "nuevo sol Pheiriú",
|
||||||
"gl": "Nuevo sol",
|
"gl": "Nuevo sol",
|
||||||
"he": "סול",
|
"he": "סול",
|
||||||
@@ -4234,7 +4235,7 @@
|
|||||||
"hu": "perui új sol",
|
"hu": "perui új sol",
|
||||||
"id": "Nuevo Sol",
|
"id": "Nuevo Sol",
|
||||||
"it": "Nuevo Sol peruviano",
|
"it": "Nuevo Sol peruviano",
|
||||||
"ja": "ヌエボ・ソル",
|
"ja": "ソル",
|
||||||
"ko": "페루 솔",
|
"ko": "페루 솔",
|
||||||
"lt": "Naujasis solis",
|
"lt": "Naujasis solis",
|
||||||
"lv": "Peru sols",
|
"lv": "Peru sols",
|
||||||
@@ -4526,7 +4527,7 @@
|
|||||||
"nl": "Qatarese rial",
|
"nl": "Qatarese rial",
|
||||||
"oc": "Riyal qatarita",
|
"oc": "Riyal qatarita",
|
||||||
"pa": "ਕਤਰੀ ਰਿਆਲ",
|
"pa": "ਕਤਰੀ ਰਿਆਲ",
|
||||||
"pl": "Rial Kataru",
|
"pl": "Rial katarski",
|
||||||
"pt": "Rial catarense",
|
"pt": "Rial catarense",
|
||||||
"ru": "катарский риал",
|
"ru": "катарский риал",
|
||||||
"sk": "katarský rijál",
|
"sk": "katarský rijál",
|
||||||
@@ -5571,6 +5572,7 @@
|
|||||||
"en": "Tanzanian shilling",
|
"en": "Tanzanian shilling",
|
||||||
"eo": "tanzania ŝilingo",
|
"eo": "tanzania ŝilingo",
|
||||||
"es": "chelín tanzano",
|
"es": "chelín tanzano",
|
||||||
|
"eu": "Txelin tanzaniar",
|
||||||
"fi": "Tansanian šillinki",
|
"fi": "Tansanian šillinki",
|
||||||
"fr": "shilling tanzanien",
|
"fr": "shilling tanzanien",
|
||||||
"ga": "scilling na Tansáine",
|
"ga": "scilling na Tansáine",
|
||||||
@@ -5814,8 +5816,8 @@
|
|||||||
"uk": "узбецький сом"
|
"uk": "узбецький сом"
|
||||||
},
|
},
|
||||||
"VED": {
|
"VED": {
|
||||||
"en": "Digital bolívar",
|
"en": "digital bolívar",
|
||||||
"es": "Bolívar digital",
|
"es": "bolívar digital",
|
||||||
"fr": "bolivar numérique",
|
"fr": "bolivar numérique",
|
||||||
"pt": "Bolívar digital",
|
"pt": "Bolívar digital",
|
||||||
"ro": "Bolivar digital"
|
"ro": "Bolivar digital"
|
||||||
@@ -6576,7 +6578,7 @@
|
|||||||
"Rs": "LKR",
|
"Rs": "LKR",
|
||||||
"R₣": "RWF",
|
"R₣": "RWF",
|
||||||
"S$": "SGD",
|
"S$": "SGD",
|
||||||
"S/.": "PEN",
|
"S/": "PEN",
|
||||||
"SI$": "SBD",
|
"SI$": "SBD",
|
||||||
"SM": "TJS",
|
"SM": "TJS",
|
||||||
"SR": "SAR",
|
"SR": "SAR",
|
||||||
@@ -8731,7 +8733,6 @@
|
|||||||
"franc djiboutià": "DJF",
|
"franc djiboutià": "DJF",
|
||||||
"franc djiboutien": "DJF",
|
"franc djiboutien": "DJF",
|
||||||
"franc elvețian": "CHF",
|
"franc elvețian": "CHF",
|
||||||
"franc elveţian": "CHF",
|
|
||||||
"franc guinea": "GNF",
|
"franc guinea": "GNF",
|
||||||
"franc guinean": "GNF",
|
"franc guinean": "GNF",
|
||||||
"franc guineà": "GNF",
|
"franc guineà": "GNF",
|
||||||
@@ -8759,6 +8760,7 @@
|
|||||||
"franc switze": "CHF",
|
"franc switze": "CHF",
|
||||||
"franc thụy sĩ": "CHF",
|
"franc thụy sĩ": "CHF",
|
||||||
"franchi svizzeri": "CHF",
|
"franchi svizzeri": "CHF",
|
||||||
|
"franci elvețieni": "CHF",
|
||||||
"franco": [
|
"franco": [
|
||||||
"XPF",
|
"XPF",
|
||||||
"XAF",
|
"XAF",
|
||||||
@@ -9723,11 +9725,13 @@
|
|||||||
"kwd": "KWD",
|
"kwd": "KWD",
|
||||||
"kwt": "KWD",
|
"kwt": "KWD",
|
||||||
"kyat": "MMK",
|
"kyat": "MMK",
|
||||||
|
"kyat birmaniar": "MMK",
|
||||||
"kyat birmano": "MMK",
|
"kyat birmano": "MMK",
|
||||||
"kyat birmà": "MMK",
|
"kyat birmà": "MMK",
|
||||||
"kyat mhaenmar": "MMK",
|
"kyat mhaenmar": "MMK",
|
||||||
"kyat myanma": "MMK",
|
"kyat myanma": "MMK",
|
||||||
"kyat myanmar": "MMK",
|
"kyat myanmar": "MMK",
|
||||||
|
"kyat myanmartar": "MMK",
|
||||||
"kyd": "KYD",
|
"kyd": "KYD",
|
||||||
"kyrgyz som": "KGS",
|
"kyrgyz som": "KGS",
|
||||||
"kyrgyzský som": "KGS",
|
"kyrgyzský som": "KGS",
|
||||||
@@ -11148,6 +11152,7 @@
|
|||||||
"pyg": "PYG",
|
"pyg": "PYG",
|
||||||
"pумънски лей": "RON",
|
"pумънски лей": "RON",
|
||||||
"pумынский лей": "RON",
|
"pумынский лей": "RON",
|
||||||
|
"q8146": "JPY",
|
||||||
"qar": "QAR",
|
"qar": "QAR",
|
||||||
"qatar riyal": "QAR",
|
"qatar riyal": "QAR",
|
||||||
"qatarese rial": "QAR",
|
"qatarese rial": "QAR",
|
||||||
@@ -11259,7 +11264,6 @@
|
|||||||
"rial irański": "IRR",
|
"rial irański": "IRR",
|
||||||
"rial jemeński": "YER",
|
"rial jemeński": "YER",
|
||||||
"rial katarski": "QAR",
|
"rial katarski": "QAR",
|
||||||
"rial kataru": "QAR",
|
|
||||||
"rial na hiaráine": "IRR",
|
"rial na hiaráine": "IRR",
|
||||||
"rial oman": "OMR",
|
"rial oman": "OMR",
|
||||||
"rial omanais": "OMR",
|
"rial omanais": "OMR",
|
||||||
@@ -11832,6 +11836,7 @@
|
|||||||
"sol peruano": "PEN",
|
"sol peruano": "PEN",
|
||||||
"sol peruviano": "PEN",
|
"sol peruviano": "PEN",
|
||||||
"sol perú": "PEN",
|
"sol perú": "PEN",
|
||||||
|
"sol péruvien": "PEN",
|
||||||
"solomon adaları doları": "SBD",
|
"solomon adaları doları": "SBD",
|
||||||
"solomon dollar": "SBD",
|
"solomon dollar": "SBD",
|
||||||
"solomon islands dollar": "SBD",
|
"solomon islands dollar": "SBD",
|
||||||
@@ -11846,6 +11851,7 @@
|
|||||||
"som de l'uzbekistan": "UZS",
|
"som de l'uzbekistan": "UZS",
|
||||||
"som del kirguizistan": "KGS",
|
"som del kirguizistan": "KGS",
|
||||||
"som do quirguistão": "KGS",
|
"som do quirguistão": "KGS",
|
||||||
|
"som kârgâz": "KGS",
|
||||||
"som kirghiso": "KGS",
|
"som kirghiso": "KGS",
|
||||||
"som kirghiz": "KGS",
|
"som kirghiz": "KGS",
|
||||||
"som kirghizo": "KGS",
|
"som kirghizo": "KGS",
|
||||||
@@ -12154,6 +12160,7 @@
|
|||||||
"INR",
|
"INR",
|
||||||
"BDT"
|
"BDT"
|
||||||
],
|
],
|
||||||
|
"taka 12272": "BDT",
|
||||||
"taka bangladese": "BDT",
|
"taka bangladese": "BDT",
|
||||||
"taka bangladesh": "BDT",
|
"taka bangladesh": "BDT",
|
||||||
"taka bangladeshi": "BDT",
|
"taka bangladeshi": "BDT",
|
||||||
@@ -12419,6 +12426,7 @@
|
|||||||
"CZK",
|
"CZK",
|
||||||
"203"
|
"203"
|
||||||
],
|
],
|
||||||
|
"txelin tanzaniar": "TZS",
|
||||||
"tyrkisk lira": "TRY",
|
"tyrkisk lira": "TRY",
|
||||||
"tzs": "TZS",
|
"tzs": "TZS",
|
||||||
"ṭākā": "BDT",
|
"ṭākā": "BDT",
|
||||||
@@ -12520,7 +12528,6 @@
|
|||||||
"uruguayischer peso": "UYU",
|
"uruguayischer peso": "UYU",
|
||||||
"uruguayn peso": "UYU",
|
"uruguayn peso": "UYU",
|
||||||
"uruguayské peso": "UYU",
|
"uruguayské peso": "UYU",
|
||||||
"uruguyansk peso": "UYU",
|
|
||||||
"urugvaja peso": "UYU",
|
"urugvaja peso": "UYU",
|
||||||
"urugvajaus pesas": "UYU",
|
"urugvajaus pesas": "UYU",
|
||||||
"urugvajski peso": "UYU",
|
"urugvajski peso": "UYU",
|
||||||
@@ -15724,6 +15731,7 @@
|
|||||||
"지부티프랑": "DJF",
|
"지부티프랑": "DJF",
|
||||||
"지브롤터 파운드": "GIP",
|
"지브롤터 파운드": "GIP",
|
||||||
"짐바브웨 골드": "ZWG",
|
"짐바브웨 골드": "ZWG",
|
||||||
|
"짐바브웨 달러": "ZWL",
|
||||||
"짯": "MMK",
|
"짯": "MMK",
|
||||||
"챠트": "MMK",
|
"챠트": "MMK",
|
||||||
"체코 코루나": [
|
"체코 코루나": [
|
||||||
@@ -15821,10 +15829,7 @@
|
|||||||
"STN",
|
"STN",
|
||||||
"CRC"
|
"CRC"
|
||||||
],
|
],
|
||||||
"₣": [
|
"₣": "XPF",
|
||||||
"XPF",
|
|
||||||
"RWF"
|
|
||||||
],
|
|
||||||
"₤": "GBP",
|
"₤": "GBP",
|
||||||
"₦": "NGN",
|
"₦": "NGN",
|
||||||
"₨": [
|
"₨": [
|
||||||
@@ -15857,6 +15862,9 @@
|
|||||||
"⃀": "KGS",
|
"⃀": "KGS",
|
||||||
"": "SAR",
|
"": "SAR",
|
||||||
"": "MVR",
|
"": "MVR",
|
||||||
|
"": "AED",
|
||||||
|
"": "OMR",
|
||||||
|
"": "BYN",
|
||||||
"〒": "KZT",
|
"〒": "KZT",
|
||||||
"アイスランドクローナ": "ISK",
|
"アイスランドクローナ": "ISK",
|
||||||
"アイスランド・クローナ": "ISK",
|
"アイスランド・クローナ": "ISK",
|
||||||
@@ -15998,6 +16006,7 @@
|
|||||||
"ソマリア・シリング": "SOS",
|
"ソマリア・シリング": "SOS",
|
||||||
"ソム": "KGS",
|
"ソム": "KGS",
|
||||||
"ソモニ": "TJS",
|
"ソモニ": "TJS",
|
||||||
|
"ソル": "PEN",
|
||||||
"ソロモン諸島ドル": "SBD",
|
"ソロモン諸島ドル": "SBD",
|
||||||
"ソロモン諸島・ドル": "SBD",
|
"ソロモン諸島・ドル": "SBD",
|
||||||
"ダラシ": "GMD",
|
"ダラシ": "GMD",
|
||||||
@@ -16189,10 +16198,8 @@
|
|||||||
"香港ドル": "HKD",
|
"香港ドル": "HKD",
|
||||||
"香港・ドル": "HKD",
|
"香港・ドル": "HKD",
|
||||||
"香港元": "HKD",
|
"香港元": "HKD",
|
||||||
"﷼": [
|
"﷼": "IRR",
|
||||||
"YER",
|
"﷼'": "YER",
|
||||||
"IRR"
|
"💶": "EUR"
|
||||||
],
|
|
||||||
"﷼'": "YER"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2651
-1325
File diff suppressed because it is too large
Load Diff
@@ -4079,6 +4079,7 @@
|
|||||||
"bg-BG": "BG:bg",
|
"bg-BG": "BG:bg",
|
||||||
"bn-BD": "BD:bn",
|
"bn-BD": "BD:bn",
|
||||||
"bn-IN": "IN:bn",
|
"bn-IN": "IN:bn",
|
||||||
|
"ca-ES": "ES:ca",
|
||||||
"cs-CZ": "CZ:cs",
|
"cs-CZ": "CZ:cs",
|
||||||
"de-AT": "AT:de",
|
"de-AT": "AT:de",
|
||||||
"de-CH": "CH:de",
|
"de-CH": "CH:de",
|
||||||
@@ -4110,16 +4111,15 @@
|
|||||||
"es-CO": "CO:es-419",
|
"es-CO": "CO:es-419",
|
||||||
"es-CU": "CU:es-419",
|
"es-CU": "CU:es-419",
|
||||||
"es-ES": "ES:es",
|
"es-ES": "ES:es",
|
||||||
"es-MX": "MX:es-419",
|
"et-EE": "EE:et",
|
||||||
"es-PE": "PE:es-419",
|
"fi-FI": "FI:fi",
|
||||||
"es-US": "US:es-419",
|
|
||||||
"es-VE": "VE:es-419",
|
|
||||||
"fr-BE": "BE:fr",
|
"fr-BE": "BE:fr",
|
||||||
"fr-CA": "CA:fr",
|
"fr-CA": "CA:fr",
|
||||||
"fr-CH": "CH:fr",
|
"fr-CH": "CH:fr",
|
||||||
"fr-FR": "FR:fr",
|
"fr-FR": "FR:fr",
|
||||||
"fr-MA": "MA:fr",
|
"fr-MA": "MA:fr",
|
||||||
"fr-SN": "SN:fr",
|
"fr-SN": "SN:fr",
|
||||||
|
"gu-IN": "IN:gu",
|
||||||
"he-IL": "IL:he",
|
"he-IL": "IL:he",
|
||||||
"hi-IN": "IN:hi",
|
"hi-IN": "IN:hi",
|
||||||
"hu-HU": "HU:hu",
|
"hu-HU": "HU:hu",
|
||||||
@@ -4131,12 +4131,13 @@
|
|||||||
"lv-LV": "LV:lv",
|
"lv-LV": "LV:lv",
|
||||||
"ml-IN": "IN:ml",
|
"ml-IN": "IN:ml",
|
||||||
"mr-IN": "IN:mr",
|
"mr-IN": "IN:mr",
|
||||||
|
"ms-MY": "MY:ms",
|
||||||
"nb-NO": "NO:no",
|
"nb-NO": "NO:no",
|
||||||
"nl-BE": "BE:nl",
|
"nl-BE": "BE:nl",
|
||||||
"nl-NL": "NL:nl",
|
"nl-NL": "NL:nl",
|
||||||
|
"pa-IN": "IN:pa",
|
||||||
"pl-PL": "PL:pl",
|
"pl-PL": "PL:pl",
|
||||||
"pt-BR": "BR:pt-419",
|
"pt-BR": "BR:pt-419",
|
||||||
"pt-PT": "PT:pt-150",
|
|
||||||
"ro-RO": "RO:ro",
|
"ro-RO": "RO:ro",
|
||||||
"ru-RU": "RU:ru",
|
"ru-RU": "RU:ru",
|
||||||
"ru-UA": "UA:ru",
|
"ru-UA": "UA:ru",
|
||||||
@@ -4151,8 +4152,7 @@
|
|||||||
"uk-UA": "UA:uk",
|
"uk-UA": "UA:uk",
|
||||||
"vi-VN": "VN:vi",
|
"vi-VN": "VN:vi",
|
||||||
"zh-CN": "CN:zh-Hans",
|
"zh-CN": "CN:zh-Hans",
|
||||||
"zh-HK": "HK:zh-Hant",
|
"zh-HK": "HK:zh-Hant"
|
||||||
"zh-TW": "TW:zh-Hant"
|
|
||||||
},
|
},
|
||||||
"supported_domains": {}
|
"supported_domains": {}
|
||||||
},
|
},
|
||||||
@@ -7280,6 +7280,7 @@
|
|||||||
"hu": "hungarian",
|
"hu": "hungarian",
|
||||||
"hy": "armenian",
|
"hy": "armenian",
|
||||||
"id": "indonesian",
|
"id": "indonesian",
|
||||||
|
"ig": "igbo",
|
||||||
"is": "icelandic",
|
"is": "icelandic",
|
||||||
"it": "italian",
|
"it": "italian",
|
||||||
"ja": "japanese",
|
"ja": "japanese",
|
||||||
@@ -7335,6 +7336,7 @@
|
|||||||
"ta": "tamil",
|
"ta": "tamil",
|
||||||
"te": "telugu",
|
"te": "telugu",
|
||||||
"th": "thai",
|
"th": "thai",
|
||||||
|
"ti": "tigrinya",
|
||||||
"tk": "turkmen",
|
"tk": "turkmen",
|
||||||
"tr": "turkish",
|
"tr": "turkish",
|
||||||
"tt": "tatar",
|
"tt": "tatar",
|
||||||
@@ -7342,6 +7344,7 @@
|
|||||||
"ur": "urdu",
|
"ur": "urdu",
|
||||||
"uz": "uzbek",
|
"uz": "uzbek",
|
||||||
"vi": "vietnamese",
|
"vi": "vietnamese",
|
||||||
|
"wo": "wolof",
|
||||||
"xh": "xhosa",
|
"xh": "xhosa",
|
||||||
"yi": "yiddish",
|
"yi": "yiddish",
|
||||||
"yo": "yoruba",
|
"yo": "yoruba",
|
||||||
@@ -8510,6 +8513,177 @@
|
|||||||
"zh-classical": "zh-classical"
|
"zh-classical": "zh-classical"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"yep": {
|
||||||
|
"all_locale": null,
|
||||||
|
"custom": {},
|
||||||
|
"data_type": "traits_v1",
|
||||||
|
"languages": {
|
||||||
|
"aa": "aa",
|
||||||
|
"ab": "ab",
|
||||||
|
"af": "af",
|
||||||
|
"ak": "ak",
|
||||||
|
"am": "am",
|
||||||
|
"an": "an",
|
||||||
|
"ar": "ar",
|
||||||
|
"as": "as",
|
||||||
|
"az": "az",
|
||||||
|
"ba": "ba",
|
||||||
|
"be": "be",
|
||||||
|
"bg": "bg",
|
||||||
|
"bho": "bh",
|
||||||
|
"bm": "bm",
|
||||||
|
"bn": "bn",
|
||||||
|
"bo": "bo",
|
||||||
|
"br": "br",
|
||||||
|
"bs": "bs",
|
||||||
|
"ca": "ca",
|
||||||
|
"ce": "ce",
|
||||||
|
"co": "co",
|
||||||
|
"cs": "cs",
|
||||||
|
"cu": "cu",
|
||||||
|
"cv": "cv",
|
||||||
|
"cy": "cy",
|
||||||
|
"da": "da",
|
||||||
|
"de": "de",
|
||||||
|
"dv": "dv",
|
||||||
|
"dz": "dz",
|
||||||
|
"ee": "ee",
|
||||||
|
"el": "el",
|
||||||
|
"en": "en",
|
||||||
|
"eo": "eo",
|
||||||
|
"es": "es",
|
||||||
|
"et": "et",
|
||||||
|
"eu": "eu",
|
||||||
|
"fa": "fa",
|
||||||
|
"ff": "ff",
|
||||||
|
"fi": "fi",
|
||||||
|
"fil": "tl",
|
||||||
|
"fo": "fo",
|
||||||
|
"fr": "fr",
|
||||||
|
"fy": "fy",
|
||||||
|
"ga": "ga",
|
||||||
|
"gd": "gd",
|
||||||
|
"gl": "gl",
|
||||||
|
"gn": "gn",
|
||||||
|
"gu": "gu",
|
||||||
|
"gv": "gv",
|
||||||
|
"ha": "ha",
|
||||||
|
"he": "he",
|
||||||
|
"hi": "hi",
|
||||||
|
"hr": "hr",
|
||||||
|
"ht": "ht",
|
||||||
|
"hu": "hu",
|
||||||
|
"hy": "hy",
|
||||||
|
"ia": "ia",
|
||||||
|
"id": "id",
|
||||||
|
"ie": "ie",
|
||||||
|
"ig": "ig",
|
||||||
|
"ii": "ii",
|
||||||
|
"io": "io",
|
||||||
|
"is": "is",
|
||||||
|
"it": "it",
|
||||||
|
"iu": "iu",
|
||||||
|
"ja": "ja",
|
||||||
|
"jv": "jv",
|
||||||
|
"ka": "ka",
|
||||||
|
"ki": "ki",
|
||||||
|
"kk": "kk",
|
||||||
|
"kl": "kl",
|
||||||
|
"km": "km",
|
||||||
|
"kn": "kn",
|
||||||
|
"ko": "ko",
|
||||||
|
"ks": "ks",
|
||||||
|
"ku": "ku",
|
||||||
|
"kw": "kw",
|
||||||
|
"ky": "ky",
|
||||||
|
"la": "la",
|
||||||
|
"lb": "lb",
|
||||||
|
"lg": "lg",
|
||||||
|
"ln": "ln",
|
||||||
|
"lo": "lo",
|
||||||
|
"lt": "lt",
|
||||||
|
"lu": "lu",
|
||||||
|
"lv": "lv",
|
||||||
|
"mg": "mg",
|
||||||
|
"mi": "mi",
|
||||||
|
"mk": "mk",
|
||||||
|
"ml": "ml",
|
||||||
|
"mn": "mn",
|
||||||
|
"mr": "mr",
|
||||||
|
"ms": "ms",
|
||||||
|
"mt": "mt",
|
||||||
|
"my": "my",
|
||||||
|
"nb": "nb",
|
||||||
|
"nd": "nd",
|
||||||
|
"ne": "ne",
|
||||||
|
"nl": "nl",
|
||||||
|
"nn": "nn",
|
||||||
|
"no": "no",
|
||||||
|
"nr": "nr",
|
||||||
|
"nv": "nv",
|
||||||
|
"ny": "ny",
|
||||||
|
"oc": "oc",
|
||||||
|
"om": "om",
|
||||||
|
"or": "or",
|
||||||
|
"os": "os",
|
||||||
|
"pa": "pa",
|
||||||
|
"pl": "pl",
|
||||||
|
"ps": "ps",
|
||||||
|
"pt": "pt",
|
||||||
|
"qu": "qu",
|
||||||
|
"rm": "rm",
|
||||||
|
"rn": "rn",
|
||||||
|
"ro": "ro",
|
||||||
|
"ru": "ru",
|
||||||
|
"rw": "rw",
|
||||||
|
"sa": "sa",
|
||||||
|
"sc": "sc",
|
||||||
|
"sd": "sd",
|
||||||
|
"se": "se",
|
||||||
|
"sg": "sg",
|
||||||
|
"si": "si",
|
||||||
|
"sk": "sk",
|
||||||
|
"sl": "sl",
|
||||||
|
"sn": "sn",
|
||||||
|
"so": "so",
|
||||||
|
"sq": "sq",
|
||||||
|
"sr": "sr",
|
||||||
|
"ss": "ss",
|
||||||
|
"st": "st",
|
||||||
|
"su": "su",
|
||||||
|
"sv": "sv",
|
||||||
|
"sw": "sw",
|
||||||
|
"ta": "ta",
|
||||||
|
"te": "te",
|
||||||
|
"tg": "tg",
|
||||||
|
"th": "th",
|
||||||
|
"ti": "ti",
|
||||||
|
"tk": "tk",
|
||||||
|
"tn": "tn",
|
||||||
|
"to": "to",
|
||||||
|
"tr": "tr",
|
||||||
|
"ts": "ts",
|
||||||
|
"tt": "tt",
|
||||||
|
"ug": "ug",
|
||||||
|
"uk": "uk",
|
||||||
|
"ur": "ur",
|
||||||
|
"uz": "uz",
|
||||||
|
"ve": "ve",
|
||||||
|
"vi": "vi",
|
||||||
|
"vo": "vo",
|
||||||
|
"wa": "wa",
|
||||||
|
"wo": "wo",
|
||||||
|
"xh": "xh",
|
||||||
|
"yi": "yi",
|
||||||
|
"yo": "yo",
|
||||||
|
"za": "za",
|
||||||
|
"zh": "zh",
|
||||||
|
"zh_Hans": "zh-cn",
|
||||||
|
"zh_Hant": "zh-tw",
|
||||||
|
"zu": "zu"
|
||||||
|
},
|
||||||
|
"regions": {}
|
||||||
|
},
|
||||||
"z-library": {
|
"z-library": {
|
||||||
"all_locale": "",
|
"all_locale": "",
|
||||||
"custom": {
|
"custom": {
|
||||||
|
|||||||
+3876
-3876
File diff suppressed because it is too large
Load Diff
+2286
-2661
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
|||||||
],
|
],
|
||||||
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||||
"versions": [
|
"versions": [
|
||||||
"149.0",
|
"150.0",
|
||||||
"148.0"
|
"149.0"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+333
-158
@@ -194,6 +194,11 @@
|
|||||||
"symbol": "cm⁻³",
|
"symbol": "cm⁻³",
|
||||||
"to_si_factor": 1000000.0
|
"to_si_factor": 1000000.0
|
||||||
},
|
},
|
||||||
|
"Q102129592": {
|
||||||
|
"si_name": "Q6137407",
|
||||||
|
"symbol": "d⁻¹",
|
||||||
|
"to_si_factor": 1.15741e-05
|
||||||
|
},
|
||||||
"Q102130673": {
|
"Q102130673": {
|
||||||
"si_name": "Q182429",
|
"si_name": "Q182429",
|
||||||
"symbol": "ym/s",
|
"symbol": "ym/s",
|
||||||
@@ -429,6 +434,11 @@
|
|||||||
"symbol": "mtpa",
|
"symbol": "mtpa",
|
||||||
"to_si_factor": 31.709791984
|
"to_si_factor": 31.709791984
|
||||||
},
|
},
|
||||||
|
"Q104381302": {
|
||||||
|
"si_name": "Q104381302",
|
||||||
|
"symbol": "W/m³",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q104628312": {
|
"Q104628312": {
|
||||||
"si_name": "Q25269",
|
"si_name": "Q25269",
|
||||||
"symbol": "vars",
|
"symbol": "vars",
|
||||||
@@ -1499,11 +1509,6 @@
|
|||||||
"symbol": "kg m²/(s² K)",
|
"symbol": "kg m²/(s² K)",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
"Q106725578": {
|
|
||||||
"si_name": "Q106725578",
|
|
||||||
"symbol": "m²/(s² K)",
|
|
||||||
"to_si_factor": 1.0
|
|
||||||
},
|
|
||||||
"Q106740890": {
|
"Q106740890": {
|
||||||
"si_name": "Q106740890",
|
"si_name": "Q106740890",
|
||||||
"symbol": "m²/s²",
|
"symbol": "m²/s²",
|
||||||
@@ -1654,11 +1659,6 @@
|
|||||||
"symbol": "N/mm",
|
"symbol": "N/mm",
|
||||||
"to_si_factor": 1000.0
|
"to_si_factor": 1000.0
|
||||||
},
|
},
|
||||||
"Q106886424": {
|
|
||||||
"si_name": "Q215571",
|
|
||||||
"symbol": "kgf m",
|
|
||||||
"to_si_factor": 9.80665
|
|
||||||
},
|
|
||||||
"Q106886632": {
|
"Q106886632": {
|
||||||
"si_name": "Q44395",
|
"si_name": "Q44395",
|
||||||
"symbol": "hbar",
|
"symbol": "hbar",
|
||||||
@@ -1764,6 +1764,16 @@
|
|||||||
"symbol": "kg/(m⁴ s)",
|
"symbol": "kg/(m⁴ s)",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q107059005": {
|
||||||
|
"si_name": "Q69425409",
|
||||||
|
"symbol": "A h/dm³",
|
||||||
|
"to_si_factor": 3600000.0
|
||||||
|
},
|
||||||
|
"Q107059365": {
|
||||||
|
"si_name": "Q97541209",
|
||||||
|
"symbol": "A h/kg",
|
||||||
|
"to_si_factor": 3600.0
|
||||||
|
},
|
||||||
"Q107095937": {
|
"Q107095937": {
|
||||||
"si_name": "Q107095937",
|
"si_name": "Q107095937",
|
||||||
"symbol": "kg m²/(s² mol)",
|
"symbol": "kg m²/(s² mol)",
|
||||||
@@ -2074,6 +2084,11 @@
|
|||||||
"symbol": "rem/s",
|
"symbol": "rem/s",
|
||||||
"to_si_factor": 0.01
|
"to_si_factor": 0.01
|
||||||
},
|
},
|
||||||
|
"Q107378429": {
|
||||||
|
"si_name": "Q11547252",
|
||||||
|
"symbol": "1/in²",
|
||||||
|
"to_si_factor": 1550.0
|
||||||
|
},
|
||||||
"Q107378436": {
|
"Q107378436": {
|
||||||
"si_name": "Q11547251",
|
"si_name": "Q11547251",
|
||||||
"symbol": "Å⁻¹",
|
"symbol": "Å⁻¹",
|
||||||
@@ -2279,6 +2294,11 @@
|
|||||||
"symbol": "b/sr",
|
"symbol": "b/sr",
|
||||||
"to_si_factor": 1e-28
|
"to_si_factor": 1e-28
|
||||||
},
|
},
|
||||||
|
"Q107611142": {
|
||||||
|
"si_name": "Q98267267",
|
||||||
|
"symbol": "b/eV",
|
||||||
|
"to_si_factor": 6.24151e-10
|
||||||
|
},
|
||||||
"Q107611199": {
|
"Q107611199": {
|
||||||
"si_name": "Q98267267",
|
"si_name": "Q98267267",
|
||||||
"symbol": "cm²/erg",
|
"symbol": "cm²/erg",
|
||||||
@@ -2294,11 +2314,96 @@
|
|||||||
"symbol": "cm²/(sr erg)",
|
"symbol": "cm²/(sr erg)",
|
||||||
"to_si_factor": 1000.0
|
"to_si_factor": 1000.0
|
||||||
},
|
},
|
||||||
|
"Q107821494": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "bit/m³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107822428": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "bit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107824325": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "bit/m²",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862770": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Kibit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862783": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Kibit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862850": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Kibit/m³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862870": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Mibit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862884": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Mibit/m²",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107862898": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Mibit/m³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970215": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Pibit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970224": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Pibit/m²",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970230": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Pibit/m³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970235": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Tibit/m",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970256": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Tibit/m³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q107970266": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "Tibit/m²",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q108270163": {
|
||||||
|
"si_name": "Q25381181",
|
||||||
|
"symbol": "t/a",
|
||||||
|
"to_si_factor": 3.169e-05
|
||||||
|
},
|
||||||
"Q1084321": {
|
"Q1084321": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "Tb/s",
|
"symbol": "Tb/s",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q108533173": {
|
||||||
|
"si_name": "Q108533173",
|
||||||
|
"symbol": "sr⁻¹",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q1086691": {
|
"Q1086691": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "fg",
|
"symbol": "fg",
|
||||||
@@ -2359,6 +2464,11 @@
|
|||||||
"symbol": "e.u.",
|
"symbol": "e.u.",
|
||||||
"to_si_factor": 4.184
|
"to_si_factor": 4.184
|
||||||
},
|
},
|
||||||
|
"Q109448508": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "man-Sv",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q1098949": {
|
"Q1098949": {
|
||||||
"si_name": "Q21393312",
|
"si_name": "Q21393312",
|
||||||
"symbol": "Cl",
|
"symbol": "Cl",
|
||||||
@@ -2389,14 +2499,9 @@
|
|||||||
"symbol": "nm²",
|
"symbol": "nm²",
|
||||||
"to_si_factor": 1e-18
|
"to_si_factor": 1e-18
|
||||||
},
|
},
|
||||||
"Q110742003": {
|
"Q111494193": {
|
||||||
"si_name": null,
|
"si_name": "Q111494193",
|
||||||
"symbol": "dppx",
|
"symbol": "J/(Hz mol)",
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q110812007": {
|
|
||||||
"si_name": "Q281096",
|
|
||||||
"symbol": "nt",
|
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
"Q11229": {
|
"Q11229": {
|
||||||
@@ -2444,6 +2549,11 @@
|
|||||||
"symbol": "Yb",
|
"symbol": "Yb",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q114559346": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "g CO2e/kWh",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q114589269": {
|
"Q114589269": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "Ѧ",
|
"symbol": "Ѧ",
|
||||||
@@ -2564,11 +2674,21 @@
|
|||||||
"symbol": "ʰ",
|
"symbol": "ʰ",
|
||||||
"to_si_factor": 0.2617993878
|
"to_si_factor": 0.2617993878
|
||||||
},
|
},
|
||||||
|
"Q116486875": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "mol(-1) s(-1)",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q1165639": {
|
"Q1165639": {
|
||||||
"si_name": "Q89992008",
|
"si_name": "Q89992008",
|
||||||
"symbol": "daraf",
|
"symbol": "daraf",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q1165725": {
|
||||||
|
"si_name": "Q25343",
|
||||||
|
"symbol": "D",
|
||||||
|
"to_si_factor": 9.869e-13
|
||||||
|
},
|
||||||
"Q1165799": {
|
"Q1165799": {
|
||||||
"si_name": "Q11573",
|
"si_name": "Q11573",
|
||||||
"symbol": "mil",
|
"symbol": "mil",
|
||||||
@@ -2754,11 +2874,6 @@
|
|||||||
"symbol": "pc",
|
"symbol": "pc",
|
||||||
"to_si_factor": 3.085677581491367e+16
|
"to_si_factor": 3.085677581491367e+16
|
||||||
},
|
},
|
||||||
"Q121960323": {
|
|
||||||
"si_name": "Q121960323",
|
|
||||||
"symbol": "m/m",
|
|
||||||
"to_si_factor": 1.0
|
|
||||||
},
|
|
||||||
"Q121965382": {
|
"Q121965382": {
|
||||||
"si_name": "Q121965382",
|
"si_name": "Q121965382",
|
||||||
"symbol": "mol/mol",
|
"symbol": "mol/mol",
|
||||||
@@ -2979,26 +3094,6 @@
|
|||||||
"symbol": "QC",
|
"symbol": "QC",
|
||||||
"to_si_factor": 1e+30
|
"to_si_factor": 1e+30
|
||||||
},
|
},
|
||||||
"Q125471199": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "r°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q125471200": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "q°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q125471246": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "R°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q125471247": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "Q°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q125471334": {
|
"Q125471334": {
|
||||||
"si_name": "Q131255",
|
"si_name": "Q131255",
|
||||||
"symbol": "rF",
|
"symbol": "rF",
|
||||||
@@ -3179,6 +3274,11 @@
|
|||||||
"symbol": "STf",
|
"symbol": "STf",
|
||||||
"to_si_factor": 8896.443230521
|
"to_si_factor": 8896.443230521
|
||||||
},
|
},
|
||||||
|
"Q131966422": {
|
||||||
|
"si_name": "Q11573",
|
||||||
|
"symbol": "Q",
|
||||||
|
"to_si_factor": 0.00025
|
||||||
|
},
|
||||||
"Q1322380": {
|
"Q1322380": {
|
||||||
"si_name": "Q11574",
|
"si_name": "Q11574",
|
||||||
"symbol": "Ts",
|
"symbol": "Ts",
|
||||||
@@ -3274,6 +3374,11 @@
|
|||||||
"symbol": "kgf/cm²",
|
"symbol": "kgf/cm²",
|
||||||
"to_si_factor": 98066.5
|
"to_si_factor": 98066.5
|
||||||
},
|
},
|
||||||
|
"Q135964483": {
|
||||||
|
"si_name": "Q11547252",
|
||||||
|
"symbol": "mm⁻²",
|
||||||
|
"to_si_factor": 1e-06
|
||||||
|
},
|
||||||
"Q136039973": {
|
"Q136039973": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "FPS",
|
"symbol": "FPS",
|
||||||
@@ -3324,6 +3429,36 @@
|
|||||||
"symbol": "V_P",
|
"symbol": "V_P",
|
||||||
"to_si_factor": 1.0429e+27
|
"to_si_factor": 1.0429e+27
|
||||||
},
|
},
|
||||||
|
"Q1386162": {
|
||||||
|
"si_name": "Q106680668",
|
||||||
|
"symbol": "E",
|
||||||
|
"to_si_factor": 1e-09
|
||||||
|
},
|
||||||
|
"Q138847616": {
|
||||||
|
"si_name": "Q11573",
|
||||||
|
"symbol": "µm⁻¹",
|
||||||
|
"to_si_factor": 1000000.0
|
||||||
|
},
|
||||||
|
"Q138847643": {
|
||||||
|
"si_name": "Q11547251",
|
||||||
|
"symbol": "nm⁻¹",
|
||||||
|
"to_si_factor": 1000000000.0
|
||||||
|
},
|
||||||
|
"Q138847654": {
|
||||||
|
"si_name": "Q11547251",
|
||||||
|
"symbol": "pm⁻¹",
|
||||||
|
"to_si_factor": 1000000000000.0
|
||||||
|
},
|
||||||
|
"Q139054848": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "A·h/m²",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q139086088": {
|
||||||
|
"si_name": "Q69425409",
|
||||||
|
"symbol": "A h/m³",
|
||||||
|
"to_si_factor": 3600.0
|
||||||
|
},
|
||||||
"Q1394540": {
|
"Q1394540": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "bm",
|
"symbol": "bm",
|
||||||
@@ -3674,6 +3809,11 @@
|
|||||||
"symbol": "dl",
|
"symbol": "dl",
|
||||||
"to_si_factor": 0.0001
|
"to_si_factor": 0.0001
|
||||||
},
|
},
|
||||||
|
"Q18379097": {
|
||||||
|
"si_name": "Q95375885",
|
||||||
|
"symbol": "SFU",
|
||||||
|
"to_si_factor": 1e-22
|
||||||
|
},
|
||||||
"Q18413919": {
|
"Q18413919": {
|
||||||
"si_name": "Q182429",
|
"si_name": "Q182429",
|
||||||
"symbol": "cm/s",
|
"symbol": "cm/s",
|
||||||
@@ -3709,6 +3849,11 @@
|
|||||||
"symbol": "zs",
|
"symbol": "zs",
|
||||||
"to_si_factor": 1e-21
|
"to_si_factor": 1e-21
|
||||||
},
|
},
|
||||||
|
"Q188768": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "FLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q190095": {
|
"Q190095": {
|
||||||
"si_name": "Q190095",
|
"si_name": "Q190095",
|
||||||
"symbol": "Gy",
|
"symbol": "Gy",
|
||||||
@@ -4124,6 +4269,11 @@
|
|||||||
"symbol": "kgf",
|
"symbol": "kgf",
|
||||||
"to_si_factor": 9.80665
|
"to_si_factor": 9.80665
|
||||||
},
|
},
|
||||||
|
"Q21719454": {
|
||||||
|
"si_name": "Q21719454",
|
||||||
|
"symbol": "m/s³",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q217208": {
|
"Q217208": {
|
||||||
"si_name": "Q11574",
|
"si_name": "Q11574",
|
||||||
"symbol": "a",
|
"symbol": "a",
|
||||||
@@ -4234,6 +4384,16 @@
|
|||||||
"symbol": "TW",
|
"symbol": "TW",
|
||||||
"to_si_factor": 1000000000000.0
|
"to_si_factor": 1000000000000.0
|
||||||
},
|
},
|
||||||
|
"Q23893259": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "1/(p y)",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q23893296": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "1/100000py",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q23925410": {
|
"Q23925410": {
|
||||||
"si_name": "Q25517",
|
"si_name": "Q25517",
|
||||||
"symbol": "gal (UK)",
|
"symbol": "gal (UK)",
|
||||||
@@ -4374,6 +4534,11 @@
|
|||||||
"symbol": "statΩ",
|
"symbol": "statΩ",
|
||||||
"to_si_factor": 898755178700.0
|
"to_si_factor": 898755178700.0
|
||||||
},
|
},
|
||||||
|
"Q25325238": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "bhp/cm³",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q253276": {
|
"Q253276": {
|
||||||
"si_name": "Q11573",
|
"si_name": "Q11573",
|
||||||
"symbol": "mi",
|
"symbol": "mi",
|
||||||
@@ -4719,6 +4884,11 @@
|
|||||||
"symbol": "g",
|
"symbol": "g",
|
||||||
"to_si_factor": 9.80665
|
"to_si_factor": 9.80665
|
||||||
},
|
},
|
||||||
|
"Q28657331": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "erg/(s cm²)",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q28683485": {
|
"Q28683485": {
|
||||||
"si_name": "Q28683485",
|
"si_name": "Q28683485",
|
||||||
"symbol": "C/kg",
|
"symbol": "C/kg",
|
||||||
@@ -4749,6 +4919,11 @@
|
|||||||
"symbol": "mH",
|
"symbol": "mH",
|
||||||
"to_si_factor": 0.001
|
"to_si_factor": 0.001
|
||||||
},
|
},
|
||||||
|
"Q29463526": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "hr/yr",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q296936": {
|
"Q296936": {
|
||||||
"si_name": "Q25269",
|
"si_name": "Q25269",
|
||||||
"symbol": "toe",
|
"symbol": "toe",
|
||||||
@@ -4969,6 +5144,11 @@
|
|||||||
"symbol": "μA",
|
"symbol": "μA",
|
||||||
"to_si_factor": 1e-06
|
"to_si_factor": 1e-06
|
||||||
},
|
},
|
||||||
|
"Q3186734": {
|
||||||
|
"si_name": "Q3186734",
|
||||||
|
"symbol": "J/(m³ K)",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q31889818": {
|
"Q31889818": {
|
||||||
"si_name": "Q199",
|
"si_name": "Q199",
|
||||||
"symbol": "ppq",
|
"symbol": "ppq",
|
||||||
@@ -4979,6 +5159,11 @@
|
|||||||
"symbol": "kb",
|
"symbol": "kb",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q3196665": {
|
||||||
|
"si_name": "Q215571",
|
||||||
|
"symbol": "kgf m",
|
||||||
|
"to_si_factor": 9.80665
|
||||||
|
},
|
||||||
"Q3207456": {
|
"Q3207456": {
|
||||||
"si_name": "Q25236",
|
"si_name": "Q25236",
|
||||||
"symbol": "mW",
|
"symbol": "mW",
|
||||||
@@ -5084,11 +5269,6 @@
|
|||||||
"symbol": "fL",
|
"symbol": "fL",
|
||||||
"to_si_factor": 1e-18
|
"to_si_factor": 1e-18
|
||||||
},
|
},
|
||||||
"Q3320608": {
|
|
||||||
"si_name": "Q25236",
|
|
||||||
"symbol": "kW",
|
|
||||||
"to_si_factor": 1000.0
|
|
||||||
},
|
|
||||||
"Q3331719": {
|
"Q3331719": {
|
||||||
"si_name": "Q25343",
|
"si_name": "Q25343",
|
||||||
"symbol": "dma",
|
"symbol": "dma",
|
||||||
@@ -5219,6 +5399,11 @@
|
|||||||
"symbol": "mA⋅h",
|
"symbol": "mA⋅h",
|
||||||
"to_si_factor": 3.6
|
"to_si_factor": 3.6
|
||||||
},
|
},
|
||||||
|
"Q38623562": {
|
||||||
|
"si_name": "Q6137407",
|
||||||
|
"symbol": "rpm",
|
||||||
|
"to_si_factor": 0.0166667
|
||||||
|
},
|
||||||
"Q3867152": {
|
"Q3867152": {
|
||||||
"si_name": "Q1051665",
|
"si_name": "Q1051665",
|
||||||
"symbol": "ft/s²",
|
"symbol": "ft/s²",
|
||||||
@@ -5389,6 +5574,11 @@
|
|||||||
"symbol": "nhp",
|
"symbol": "nhp",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q4346600": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "PPHPD",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q4406": {
|
"Q4406": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "$T",
|
"symbol": "$T",
|
||||||
@@ -5569,11 +5759,6 @@
|
|||||||
"symbol": "Ga",
|
"symbol": "Ga",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
"Q5299480": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "DPCm",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q531": {
|
"Q531": {
|
||||||
"si_name": "Q11573",
|
"si_name": "Q11573",
|
||||||
"symbol": "l.y.",
|
"symbol": "l.y.",
|
||||||
@@ -6254,6 +6439,11 @@
|
|||||||
"symbol": "U/L",
|
"symbol": "U/L",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q5558595": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "GFLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q55663153": {
|
"Q55663153": {
|
||||||
"si_name": "Q55663153",
|
"si_name": "Q55663153",
|
||||||
"symbol": "H/m",
|
"symbol": "H/m",
|
||||||
@@ -6364,6 +6554,11 @@
|
|||||||
"symbol": "L/kg",
|
"symbol": "L/kg",
|
||||||
"to_si_factor": 0.001
|
"to_si_factor": 0.001
|
||||||
},
|
},
|
||||||
|
"Q57175652": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "m3/year/individual",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q57273614": {
|
"Q57273614": {
|
||||||
"si_name": "Q182429",
|
"si_name": "Q182429",
|
||||||
"symbol": "mm/min",
|
"symbol": "mm/min",
|
||||||
@@ -6374,6 +6569,11 @@
|
|||||||
"symbol": "d",
|
"symbol": "d",
|
||||||
"to_si_factor": 86400.0
|
"to_si_factor": 86400.0
|
||||||
},
|
},
|
||||||
|
"Q57306331": {
|
||||||
|
"si_name": "Q86200529",
|
||||||
|
"symbol": "cm²/g",
|
||||||
|
"to_si_factor": 0.1
|
||||||
|
},
|
||||||
"Q577": {
|
"Q577": {
|
||||||
"si_name": "Q11574",
|
"si_name": "Q11574",
|
||||||
"symbol": "a",
|
"symbol": "a",
|
||||||
@@ -6624,6 +6824,21 @@
|
|||||||
"symbol": "UK t",
|
"symbol": "UK t",
|
||||||
"to_si_factor": 1016.0469088
|
"to_si_factor": 1016.0469088
|
||||||
},
|
},
|
||||||
|
"Q66778234": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "TFLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q66778809": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "MFLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q66778863": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "PFLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q67060736": {
|
"Q67060736": {
|
||||||
"si_name": "Q67060736",
|
"si_name": "Q67060736",
|
||||||
"symbol": "W/kg",
|
"symbol": "W/kg",
|
||||||
@@ -7014,11 +7229,6 @@
|
|||||||
"symbol": "Mb/s",
|
"symbol": "Mb/s",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
"Q7398951": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "PPI",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q743895": {
|
"Q743895": {
|
||||||
"si_name": "Q39369",
|
"si_name": "Q39369",
|
||||||
"symbol": "bpm",
|
"symbol": "bpm",
|
||||||
@@ -7084,6 +7294,21 @@
|
|||||||
"symbol": "Td",
|
"symbol": "Td",
|
||||||
"to_si_factor": 1e-06
|
"to_si_factor": 1e-06
|
||||||
},
|
},
|
||||||
|
"Q78053467": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "kFLOPS",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q781545": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "phon",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q78336909": {
|
||||||
|
"si_name": "Q78336909",
|
||||||
|
"symbol": "m³/(kg s²)",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q7854897": {
|
"Q7854897": {
|
||||||
"si_name": null,
|
"si_name": null,
|
||||||
"symbol": "mya",
|
"symbol": "mya",
|
||||||
@@ -7209,6 +7434,11 @@
|
|||||||
"symbol": "YiB",
|
"symbol": "YiB",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q80026587": {
|
||||||
|
"si_name": "Q6137407",
|
||||||
|
"symbol": "km/(s Mpc)",
|
||||||
|
"to_si_factor": 3.24078e-20
|
||||||
|
},
|
||||||
"Q80237579": {
|
"Q80237579": {
|
||||||
"si_name": "Q56023789",
|
"si_name": "Q56023789",
|
||||||
"symbol": "J/nm",
|
"symbol": "J/nm",
|
||||||
@@ -7264,6 +7494,11 @@
|
|||||||
"symbol": "B/s",
|
"symbol": "B/s",
|
||||||
"to_si_factor": null
|
"to_si_factor": null
|
||||||
},
|
},
|
||||||
|
"Q82440913": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "L/100 km",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q828224": {
|
"Q828224": {
|
||||||
"si_name": "Q11573",
|
"si_name": "Q11573",
|
||||||
"symbol": "km",
|
"symbol": "km",
|
||||||
@@ -7349,6 +7584,11 @@
|
|||||||
"symbol": "thm (US)",
|
"symbol": "thm (US)",
|
||||||
"to_si_factor": 105480400.0
|
"to_si_factor": 105480400.0
|
||||||
},
|
},
|
||||||
|
"Q843877": {
|
||||||
|
"si_name": "Q25236",
|
||||||
|
"symbol": "L☉",
|
||||||
|
"to_si_factor": 3.828e+26
|
||||||
|
},
|
||||||
"Q844211": {
|
"Q844211": {
|
||||||
"si_name": "Q844211",
|
"si_name": "Q844211",
|
||||||
"symbol": "kg/m³",
|
"symbol": "kg/m³",
|
||||||
@@ -7424,6 +7664,11 @@
|
|||||||
"symbol": "Pa s/m³",
|
"symbol": "Pa s/m³",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q87049028": {
|
||||||
|
"si_name": "Q87049028",
|
||||||
|
"symbol": "N s/m",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q87051580": {
|
"Q87051580": {
|
||||||
"si_name": "Q87051580",
|
"si_name": "Q87051580",
|
||||||
"symbol": "Pa s/m",
|
"symbol": "Pa s/m",
|
||||||
@@ -7564,6 +7809,11 @@
|
|||||||
"symbol": "J/s",
|
"symbol": "J/s",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q92717607": {
|
||||||
|
"si_name": "Q92717607",
|
||||||
|
"symbol": "K/m",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q93318": {
|
"Q93318": {
|
||||||
"si_name": "Q11573",
|
"si_name": "Q11573",
|
||||||
"symbol": "M",
|
"symbol": "M",
|
||||||
@@ -7584,6 +7834,16 @@
|
|||||||
"symbol": "gill (UK)",
|
"symbol": "gill (UK)",
|
||||||
"to_si_factor": 0.000142
|
"to_si_factor": 0.000142
|
||||||
},
|
},
|
||||||
|
"Q93868873": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "mpg",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
|
"Q93871856": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "km/L",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q93947085": {
|
"Q93947085": {
|
||||||
"si_name": "Q93947085",
|
"si_name": "Q93947085",
|
||||||
"symbol": "K/Pa",
|
"symbol": "K/Pa",
|
||||||
@@ -8899,11 +9159,6 @@
|
|||||||
"symbol": "ET",
|
"symbol": "ET",
|
||||||
"to_si_factor": 1e+18
|
"to_si_factor": 1e+18
|
||||||
},
|
},
|
||||||
"Q96070276": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "m°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96070318": {
|
"Q96070318": {
|
||||||
"si_name": "Q177612",
|
"si_name": "Q177612",
|
||||||
"symbol": "dsr",
|
"symbol": "dsr",
|
||||||
@@ -8959,21 +9214,6 @@
|
|||||||
"symbol": "Gsr",
|
"symbol": "Gsr",
|
||||||
"to_si_factor": 1000000000.0
|
"to_si_factor": 1000000000.0
|
||||||
},
|
},
|
||||||
"Q96095941": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "μ°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96095955": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "n°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96095960": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "k°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96106290": {
|
"Q96106290": {
|
||||||
"si_name": "Q177612",
|
"si_name": "Q177612",
|
||||||
"symbol": "Tsr",
|
"symbol": "Tsr",
|
||||||
@@ -8999,41 +9239,11 @@
|
|||||||
"symbol": "Ysr",
|
"symbol": "Ysr",
|
||||||
"to_si_factor": 1e+24
|
"to_si_factor": 1e+24
|
||||||
},
|
},
|
||||||
"Q96106346": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "c°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96106360": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "d°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96106368": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "da°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96106385": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "h°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96106393": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "M°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96192470": {
|
"Q96192470": {
|
||||||
"si_name": "Q96192470",
|
"si_name": "Q96192470",
|
||||||
"symbol": "W/m",
|
"symbol": "W/m",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
"Q96236286": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "G°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q96309077": {
|
"Q96309077": {
|
||||||
"si_name": "Q96309077",
|
"si_name": "Q96309077",
|
||||||
"symbol": "S m²/mol",
|
"symbol": "S m²/mol",
|
||||||
@@ -9044,56 +9254,6 @@
|
|||||||
"symbol": "μas",
|
"symbol": "μas",
|
||||||
"to_si_factor": 4.848136811095356e-12
|
"to_si_factor": 4.848136811095356e-12
|
||||||
},
|
},
|
||||||
"Q97059641": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "p°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97059652": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "T°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143826": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "P°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143831": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "y°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143835": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "f°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143838": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "Z°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143842": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "E°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143843": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "z°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143849": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "Y°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97143851": {
|
|
||||||
"si_name": null,
|
|
||||||
"symbol": "a°C",
|
|
||||||
"to_si_factor": null
|
|
||||||
},
|
|
||||||
"Q97540991": {
|
"Q97540991": {
|
||||||
"si_name": "Q97540991",
|
"si_name": "Q97540991",
|
||||||
"symbol": "A m²/(J s)",
|
"symbol": "A m²/(J s)",
|
||||||
@@ -9114,6 +9274,11 @@
|
|||||||
"symbol": "Bq/m³",
|
"symbol": "Bq/m³",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q98103135": {
|
||||||
|
"si_name": "Q98103135",
|
||||||
|
"symbol": "Bq/m²",
|
||||||
|
"to_si_factor": 1.0
|
||||||
|
},
|
||||||
"Q98266832": {
|
"Q98266832": {
|
||||||
"si_name": "Q98266832",
|
"si_name": "Q98266832",
|
||||||
"symbol": "m²/sr",
|
"symbol": "m²/sr",
|
||||||
@@ -9139,6 +9304,11 @@
|
|||||||
"symbol": "eV/m²",
|
"symbol": "eV/m²",
|
||||||
"to_si_factor": 1.60218e-19
|
"to_si_factor": 1.60218e-19
|
||||||
},
|
},
|
||||||
|
"Q98635536": {
|
||||||
|
"si_name": "Q56023789",
|
||||||
|
"symbol": "eV/m",
|
||||||
|
"to_si_factor": 1.602176634e-19
|
||||||
|
},
|
||||||
"Q98642859": {
|
"Q98642859": {
|
||||||
"si_name": "Q98643033",
|
"si_name": "Q98643033",
|
||||||
"symbol": "eV m²/kg",
|
"symbol": "eV m²/kg",
|
||||||
@@ -9169,6 +9339,11 @@
|
|||||||
"symbol": "m⁻³ s⁻¹",
|
"symbol": "m⁻³ s⁻¹",
|
||||||
"to_si_factor": 1.0
|
"to_si_factor": 1.0
|
||||||
},
|
},
|
||||||
|
"Q98974322": {
|
||||||
|
"si_name": null,
|
||||||
|
"symbol": "W yr/(m² kg)",
|
||||||
|
"to_si_factor": null
|
||||||
|
},
|
||||||
"Q99476928": {
|
"Q99476928": {
|
||||||
"si_name": "Q12438",
|
"si_name": "Q12438",
|
||||||
"symbol": "gf",
|
"symbol": "gf",
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
There is a command line for developer purposes and for deeper analysis. Here is
|
There is a command line for developer purposes and for deeper analysis. Here is
|
||||||
an example in which the command line is called in the development environment::
|
an example in which the command line is called in the development environment::
|
||||||
|
|
||||||
$ ./manage pyenv.cmd bash --norc --noprofile
|
$ ./manage dev.env
|
||||||
(py3) python -m searx.enginelib --help
|
(dev.env)$ python -m searx.enginelib --help
|
||||||
|
|
||||||
.. hint::
|
.. hint::
|
||||||
|
|
||||||
@@ -46,6 +46,7 @@ ENGINES_CACHE: ExpireCacheSQLite = ExpireCacheSQLite.build_cache(
|
|||||||
name="ENGINES_CACHE",
|
name="ENGINES_CACHE",
|
||||||
MAXHOLD_TIME=60 * 60 * 24 * 7, # 7 days
|
MAXHOLD_TIME=60 * 60 * 24 * 7, # 7 days
|
||||||
MAINTENANCE_PERIOD=60 * 60, # 2h
|
MAINTENANCE_PERIOD=60 * 60, # 2h
|
||||||
|
MAX_VALUE_LEN=1024 * 1024 * 1024, # 1MB
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
"""Global :py:obj:`searx.cache.ExpireCacheSQLite` instance where the cached
|
"""Global :py:obj:`searx.cache.ExpireCacheSQLite` instance where the cached
|
||||||
@@ -71,9 +72,9 @@ def state():
|
|||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
def maintenance(force: bool = True):
|
def maintenance(force: bool = True, truncate: bool = False):
|
||||||
"""Carry out maintenance on cache of the engines."""
|
"""Carry out maintenance on cache of the engines."""
|
||||||
ENGINES_CACHE.maintenance(force=force)
|
ENGINES_CACHE.maintenance(force=force, truncate=truncate)
|
||||||
|
|
||||||
|
|
||||||
class EngineCache:
|
class EngineCache:
|
||||||
@@ -111,8 +112,8 @@ class EngineCache:
|
|||||||
For introspection of the DB, jump into developer environment and run command to
|
For introspection of the DB, jump into developer environment and run command to
|
||||||
show cache state::
|
show cache state::
|
||||||
|
|
||||||
$ ./manage pyenv.cmd bash --norc --noprofile
|
$ ./manage dev.env
|
||||||
(py3) python -m searx.enginelib cache state
|
(dev.env)$ python -m searx.enginelib cache state
|
||||||
|
|
||||||
cache tables and key/values
|
cache tables and key/values
|
||||||
===========================
|
===========================
|
||||||
|
|||||||
@@ -84,6 +84,10 @@ def request(query, params):
|
|||||||
|
|
||||||
|
|
||||||
def response(resp):
|
def response(resp):
|
||||||
|
# sometimes 360search returns empty response when called from non-chinese ips
|
||||||
|
if not resp.text or not resp.text.strip():
|
||||||
|
return []
|
||||||
|
|
||||||
dom = html.fromstring(resp.text)
|
dom = html.fromstring(resp.text)
|
||||||
results = []
|
results = []
|
||||||
|
|
||||||
|
|||||||
@@ -1,75 +0,0 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
"""Ask.com"""
|
|
||||||
|
|
||||||
from urllib.parse import urlencode
|
|
||||||
import dateutil
|
|
||||||
from lxml import html
|
|
||||||
from searx import utils
|
|
||||||
|
|
||||||
# Metadata
|
|
||||||
about = {
|
|
||||||
"website": "https://www.ask.com/",
|
|
||||||
"wikidata_id": 'Q847564',
|
|
||||||
"official_api_documentation": None,
|
|
||||||
"use_official_api": False,
|
|
||||||
"require_api_key": False,
|
|
||||||
"results": "HTML",
|
|
||||||
}
|
|
||||||
|
|
||||||
# Engine Configuration
|
|
||||||
categories = ['general']
|
|
||||||
paging = True
|
|
||||||
max_page = 5
|
|
||||||
"""Ask.com has at max 5 pages."""
|
|
||||||
|
|
||||||
# Base URL
|
|
||||||
base_url = "https://www.ask.com/web"
|
|
||||||
|
|
||||||
|
|
||||||
def request(query, params):
|
|
||||||
|
|
||||||
query_params = {
|
|
||||||
"q": query,
|
|
||||||
"page": params["pageno"],
|
|
||||||
}
|
|
||||||
|
|
||||||
params["url"] = f"{base_url}?{urlencode(query_params)}"
|
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
def response(resp):
|
|
||||||
|
|
||||||
start_tag = 'window.MESON.initialState = {'
|
|
||||||
end_tag = '}};'
|
|
||||||
|
|
||||||
dom = html.fromstring(resp.text)
|
|
||||||
script = utils.eval_xpath_getindex(dom, '//script', 0, default=None).text
|
|
||||||
|
|
||||||
pos = script.index(start_tag) + len(start_tag) - 1
|
|
||||||
script = script[pos:]
|
|
||||||
pos = script.index(end_tag) + len(end_tag) - 1
|
|
||||||
script = script[:pos]
|
|
||||||
|
|
||||||
json_resp = utils.js_obj_str_to_python(script)
|
|
||||||
|
|
||||||
results = []
|
|
||||||
|
|
||||||
for item in json_resp['search']['webResults']['results']:
|
|
||||||
|
|
||||||
pubdate_original = item.get('pubdate_original')
|
|
||||||
if pubdate_original:
|
|
||||||
pubdate_original = dateutil.parser.parse(pubdate_original)
|
|
||||||
metadata = [item.get(field) for field in ['category_l1', 'catsy'] if item.get(field)]
|
|
||||||
|
|
||||||
results.append(
|
|
||||||
{
|
|
||||||
"url": item['url'].split('&ueid')[0],
|
|
||||||
"title": item['title'],
|
|
||||||
"content": item['abstract'],
|
|
||||||
"publishedDate": pubdate_original,
|
|
||||||
# "thumbnail": item.get('image_url') or None, # these are not thumbs / to large
|
|
||||||
"metadata": ' | '.join(metadata),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
return results
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
"""Cara_ is a social media and portfolio-sharing platform for artists and art
|
||||||
|
enthusiasts.
|
||||||
|
|
||||||
|
With the widespread use of generative AI, Cara_ decided to build a place that
|
||||||
|
filters out gen AI images so that people searching for authentic creatives and
|
||||||
|
images can do so easily.
|
||||||
|
|
||||||
|
.. _Cara: https://cara.app/about
|
||||||
|
"""
|
||||||
|
|
||||||
|
from urllib.parse import urlencode
|
||||||
|
|
||||||
|
import typing as t
|
||||||
|
|
||||||
|
from searx.result_types import EngineResults
|
||||||
|
|
||||||
|
if t.TYPE_CHECKING:
|
||||||
|
from searx.extended_types import SXNG_Response
|
||||||
|
from searx.search.processors import OnlineParams
|
||||||
|
|
||||||
|
|
||||||
|
about = {
|
||||||
|
"website": "https://cara.app",
|
||||||
|
"official_api_documentation": None,
|
||||||
|
"use_official_api": False,
|
||||||
|
"require_api_key": False,
|
||||||
|
"results": "JSON",
|
||||||
|
}
|
||||||
|
|
||||||
|
base_url = "https://cara.app"
|
||||||
|
images_url = "https://images.cara.app"
|
||||||
|
|
||||||
|
categories = ["images"]
|
||||||
|
paging = True
|
||||||
|
results_per_page = 24
|
||||||
|
|
||||||
|
# if using HTTP2, we get blocked immediately
|
||||||
|
enable_http2 = False
|
||||||
|
|
||||||
|
|
||||||
|
def request(query: str, params: "OnlineParams") -> None:
|
||||||
|
args = {
|
||||||
|
"q": query,
|
||||||
|
"sortBy": "Top",
|
||||||
|
"take": results_per_page,
|
||||||
|
"skip": (params["pageno"] - 1) * results_per_page,
|
||||||
|
}
|
||||||
|
params["url"] = f"{base_url}/api/search/portfolio-posts?{urlencode(args)}"
|
||||||
|
|
||||||
|
|
||||||
|
def response(resp: "SXNG_Response"):
|
||||||
|
res = EngineResults()
|
||||||
|
json_data: list[dict[str, t.Any]] = resp.json()
|
||||||
|
|
||||||
|
for result in json_data:
|
||||||
|
thumbnail, img = None, None
|
||||||
|
|
||||||
|
i: dict[str, str]
|
||||||
|
for i in result["images"]:
|
||||||
|
if thumbnail is None or i["isCoverImg"]:
|
||||||
|
thumbnail = i
|
||||||
|
|
||||||
|
if img is None or not i["isCoverImg"]:
|
||||||
|
img = i
|
||||||
|
|
||||||
|
if not thumbnail or not img:
|
||||||
|
continue
|
||||||
|
|
||||||
|
res.add(
|
||||||
|
res.types.LegacyResult(
|
||||||
|
{
|
||||||
|
"template": "images.html",
|
||||||
|
"url": f"{base_url}/post/{result['id']}",
|
||||||
|
"thumbnail_src": f"{images_url}/{thumbnail['src']}?height=256",
|
||||||
|
"img_src": f"{images_url}/{img['src']}",
|
||||||
|
"title": result["title"],
|
||||||
|
"content": result["content"],
|
||||||
|
"author": result["name"],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
return res
|
||||||
+19
-1
@@ -278,10 +278,28 @@ def get_google_info(params: "OnlineParams", eng_traits: EngineTraits) -> dict[st
|
|||||||
return ret_val
|
return ret_val
|
||||||
|
|
||||||
|
|
||||||
def detect_google_sorry(resp):
|
def detect_google_sorry(resp: "SXNG_Response"):
|
||||||
|
"""Detect Google's bot-protection responses (CAPTCHA / sorry pages).
|
||||||
|
|
||||||
|
Google may block requests in several ways:
|
||||||
|
|
||||||
|
1. Redirect to sorry.google.com (standard CAPTCHA).
|
||||||
|
2. HTTP 302 redirect to ``/sorry/index?...`` on the same host -- when the
|
||||||
|
HTTP client doesn't follow the redirect, the response body is a short
|
||||||
|
HTML stub with a link to the sorry page.
|
||||||
|
3. Short HTML response (<2000 bytes) containing "/sorry/" -- a meta-refresh
|
||||||
|
or JS redirect variant.
|
||||||
|
"""
|
||||||
|
|
||||||
if resp.url.host == "sorry.google.com" or resp.url.path.startswith("/sorry"):
|
if resp.url.host == "sorry.google.com" or resp.url.path.startswith("/sorry"):
|
||||||
raise SearxEngineCaptchaException()
|
raise SearxEngineCaptchaException()
|
||||||
|
|
||||||
|
if resp.status_code == 302:
|
||||||
|
raise SearxEngineCaptchaException()
|
||||||
|
|
||||||
|
if len(resp.text) < 2000 and "/sorry/" in resp.text:
|
||||||
|
raise SearxEngineCaptchaException()
|
||||||
|
|
||||||
|
|
||||||
def request(query: str, params: "OnlineParams") -> None:
|
def request(query: str, params: "OnlineParams") -> None:
|
||||||
"""Google search request"""
|
"""Google search request"""
|
||||||
|
|||||||
+188
-159
@@ -23,9 +23,11 @@ The google news API ignores some parameters from the common :ref:`google API`:
|
|||||||
.. _num: https://developers.google.com/custom-search/docs/xml_results#numsp
|
.. _num: https://developers.google.com/custom-search/docs/xml_results#numsp
|
||||||
.. _save: https://developers.google.com/custom-search/docs/xml_results#safesp
|
.. _save: https://developers.google.com/custom-search/docs/xml_results#safesp
|
||||||
"""
|
"""
|
||||||
|
import typing as t
|
||||||
|
|
||||||
from urllib.parse import urlencode
|
import json
|
||||||
import base64
|
import base64
|
||||||
|
from urllib.parse import urlencode
|
||||||
from lxml import html
|
from lxml import html
|
||||||
import babel
|
import babel
|
||||||
|
|
||||||
@@ -44,18 +46,24 @@ from searx.engines.google import (
|
|||||||
)
|
)
|
||||||
from searx.enginelib.traits import EngineTraits
|
from searx.enginelib.traits import EngineTraits
|
||||||
|
|
||||||
|
from searx.result_types import EngineResults
|
||||||
|
|
||||||
|
if t.TYPE_CHECKING:
|
||||||
|
from searx.extended_types import SXNG_Response
|
||||||
|
from searx.search.processors import OnlineParams
|
||||||
|
|
||||||
# about
|
# about
|
||||||
about = {
|
about = {
|
||||||
"website": 'https://news.google.com',
|
"website": "https://news.google.com",
|
||||||
"wikidata_id": 'Q12020',
|
"wikidata_id": "Q12020",
|
||||||
"official_api_documentation": 'https://developers.google.com/custom-search',
|
"official_api_documentation": "https://developers.google.com/custom-search",
|
||||||
"use_official_api": False,
|
"use_official_api": False,
|
||||||
"require_api_key": False,
|
"require_api_key": False,
|
||||||
"results": 'HTML',
|
"results": "HTML",
|
||||||
}
|
}
|
||||||
|
|
||||||
# engine dependent config
|
# engine dependent config
|
||||||
categories = ['news']
|
categories = ["news"]
|
||||||
paging = False
|
paging = False
|
||||||
time_range_support = False
|
time_range_support = False
|
||||||
|
|
||||||
@@ -64,231 +72,252 @@ time_range_support = False
|
|||||||
#
|
#
|
||||||
# safesearch : results are identical for safesearch=0 and safesearch=2
|
# safesearch : results are identical for safesearch=0 and safesearch=2
|
||||||
safesearch = True
|
safesearch = True
|
||||||
|
base_url: str = "https://news.google.com"
|
||||||
|
|
||||||
|
|
||||||
def request(query, params):
|
def request(query: str, params: "OnlineParams") -> None:
|
||||||
"""Google-News search request"""
|
"""Google-News search request"""
|
||||||
|
|
||||||
sxng_locale = params.get('searxng_locale', 'en-US')
|
sxng_locale = params.get("searxng_locale", "en-US")
|
||||||
ceid = locales.get_engine_locale(sxng_locale, traits.custom['ceid'], default='US:en')
|
ceid: str = locales.get_engine_locale(
|
||||||
|
sxng_locale, traits.custom["ceid"], default="US:en"
|
||||||
|
) # pyright: ignore[reportAssignmentType]
|
||||||
google_info = get_google_info(params, traits)
|
google_info = get_google_info(params, traits)
|
||||||
google_info['subdomain'] = 'news.google.com' # google news has only one domain
|
google_info["subdomain"] = "news.google.com" # google news has only one domain
|
||||||
|
|
||||||
ceid_region, ceid_lang = ceid.split(':')
|
ceid_region, ceid_lang = ceid.split(":")
|
||||||
ceid_lang, ceid_suffix = (
|
ceid_lang, ceid_suffix = (
|
||||||
ceid_lang.split('-')
|
ceid_lang.split(":")
|
||||||
+ [
|
+ [
|
||||||
None,
|
"",
|
||||||
]
|
]
|
||||||
)[:2]
|
)[:2]
|
||||||
|
|
||||||
google_info['params']['hl'] = ceid_lang
|
google_info["params"]["hl"] = ceid_lang
|
||||||
|
|
||||||
if ceid_suffix and ceid_suffix not in ['Hans', 'Hant']:
|
if ceid_suffix and ceid_suffix not in ["Hans", "Hant"]:
|
||||||
|
|
||||||
if ceid_region.lower() == ceid_lang:
|
if ceid_region.lower() == ceid_lang:
|
||||||
google_info['params']['hl'] = ceid_lang + '-' + ceid_region
|
google_info["params"]["hl"] = ceid_lang + "-" + ceid_region
|
||||||
else:
|
else:
|
||||||
google_info['params']['hl'] = ceid_lang + '-' + ceid_suffix
|
google_info["params"]["hl"] = ceid_lang + "-" + ceid_suffix
|
||||||
|
|
||||||
elif ceid_region.lower() != ceid_lang:
|
elif ceid_region.lower() != ceid_lang:
|
||||||
|
|
||||||
if ceid_region in ['AT', 'BE', 'CH', 'IL', 'SA', 'IN', 'BD', 'PT']:
|
if ceid_region in ["AT", "BE", "CH", "IL", "SA", "IN", "BD", "PT"]:
|
||||||
google_info['params']['hl'] = ceid_lang
|
google_info["params"]["hl"] = ceid_lang
|
||||||
else:
|
else:
|
||||||
google_info['params']['hl'] = ceid_lang + '-' + ceid_region
|
google_info["params"]["hl"] = ceid_lang + "-" + ceid_region
|
||||||
|
|
||||||
google_info['params']['lr'] = 'lang_' + ceid_lang.split('-')[0]
|
google_info["params"]["lr"] = "lang_" + ceid_lang.split("-")[0]
|
||||||
google_info['params']['gl'] = ceid_region
|
google_info["params"]["gl"] = ceid_region
|
||||||
|
|
||||||
query_url = (
|
query_url = (
|
||||||
'https://'
|
"https://"
|
||||||
+ google_info['subdomain']
|
+ google_info["subdomain"]
|
||||||
+ "/search?"
|
+ "/search?"
|
||||||
+ urlencode(
|
+ urlencode(
|
||||||
{
|
{"q": query, **google_info["params"]},
|
||||||
'q': query,
|
|
||||||
**google_info['params'],
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
# ceid includes a ':' character which must not be urlencoded
|
# ceid includes a ':' character which must not be urlencoded
|
||||||
+ ('&ceid=%s' % ceid)
|
+ ("&ceid=%s" % ceid)
|
||||||
)
|
)
|
||||||
|
|
||||||
params['url'] = query_url
|
params["url"] = query_url
|
||||||
params['cookies'] = google_info['cookies']
|
params["cookies"] = google_info["cookies"]
|
||||||
params['headers'].update(google_info['headers'])
|
params["headers"].update(google_info["headers"])
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
def response(resp):
|
def response(resp: "SXNG_Response") -> EngineResults:
|
||||||
"""Get response from google's search request"""
|
"""Get response from google's search request"""
|
||||||
results = []
|
|
||||||
|
res = EngineResults()
|
||||||
|
|
||||||
detect_google_sorry(resp)
|
detect_google_sorry(resp)
|
||||||
|
|
||||||
# convert the text to dom
|
# convert the text to dom
|
||||||
dom = html.fromstring(resp.text)
|
dom = html.fromstring(resp.text)
|
||||||
|
|
||||||
for result in eval_xpath_list(dom, '//div[@class="xrnccd"]'):
|
for result in eval_xpath_list(dom, "//div[@jslog and @data-n-tid and @jsdata]"):
|
||||||
|
|
||||||
# The first <a> tag in the <article> contains the link to the article
|
url: str = eval_xpath_getindex(result, "./a[@target='_blank']/@href", 0, default=0)
|
||||||
# The href attribute of the <a> tag is a google internal link, we have
|
if not url:
|
||||||
# to decode
|
continue
|
||||||
|
if url.startswith("./"):
|
||||||
|
url = base_url + url[1:]
|
||||||
|
|
||||||
href = eval_xpath_getindex(result, './article/a/@href', 0)
|
# The real URL is often encoded in the "jslog" attribute
|
||||||
href = href.split('?')[0]
|
jslog: str | None = eval_xpath_getindex(result, "./a[@target='_blank']/@jslog", 0, default=None)
|
||||||
href = href.split('/')[-1]
|
|
||||||
href = base64.urlsafe_b64decode(href + '====')
|
|
||||||
href = href[href.index(b'http') :].split(b'\xd2')[0]
|
|
||||||
href = href.decode()
|
|
||||||
|
|
||||||
title = extract_text(eval_xpath(result, './article/h3[1]'))
|
# Try to extract the real URL from jslog
|
||||||
|
real_url: str | None = None
|
||||||
|
if jslog:
|
||||||
|
# jslog format is usually: "95014; 5:<base64>; track:click,vis". We
|
||||||
|
# want the second part (index 1) after splitting by ";"
|
||||||
|
parts: list[str] = jslog.split(";")
|
||||||
|
if len(parts) > 1:
|
||||||
|
b64_data: str = parts[1].split(":")[-1].strip()
|
||||||
|
# Pad base64 if necessary
|
||||||
|
b64_data += "=" * (-len(b64_data) % 4)
|
||||||
|
decoded_data: list[str | None] = json.loads(base64.b64decode(b64_data).decode("utf-8"))
|
||||||
|
# The URL is typically the last element in the decoded array
|
||||||
|
if (
|
||||||
|
isinstance(decoded_data, list)
|
||||||
|
and isinstance(decoded_data[-1], str)
|
||||||
|
and decoded_data[-1].startswith("http")
|
||||||
|
):
|
||||||
|
real_url = decoded_data[-1]
|
||||||
|
if real_url:
|
||||||
|
url = real_url
|
||||||
|
else:
|
||||||
|
logger.error(f"no real-url found: {url}")
|
||||||
|
continue
|
||||||
|
|
||||||
# The pub_date is mostly a string like 'yesterday', not a real
|
title = extract_text(eval_xpath(result, "./h4")) or ""
|
||||||
# timezone date or time. Therefore we can't use publishedDate.
|
|
||||||
pub_date = extract_text(eval_xpath(result, './article//time'))
|
|
||||||
pub_origin = extract_text(eval_xpath(result, './article//a[@data-n-tid]'))
|
|
||||||
|
|
||||||
content = ' / '.join([x for x in [pub_origin, pub_date] if x])
|
# The pub_date is mostly a string like 'yesterday', not a real timezone
|
||||||
|
# date or time. Therefore we can't use publishedDate and place the
|
||||||
|
# *pub* sting into the content.
|
||||||
|
|
||||||
# The image URL is located in a preceding sibling <img> tag, e.g.:
|
pub_date = extract_text(eval_xpath(result, ".//time"))
|
||||||
# "https://lh3.googleusercontent.com/DjhQh7DMszk.....z=-p-h100-w100"
|
pub_origin = extract_text(eval_xpath(result, ".//div[contains(@class, 'vr1PYe')]"))
|
||||||
# These URL are long but not personalized (double checked via tor).
|
content = " / ".join([x for x in [pub_origin, pub_date] if x])
|
||||||
|
|
||||||
thumbnail = extract_text(result.xpath('preceding-sibling::a/figure/img/@src'))
|
thumbnail: str = eval_xpath_getindex(result, ".//figure/img/@src", 0, default="")
|
||||||
|
if thumbnail and thumbnail.startswith("/"):
|
||||||
|
thumbnail = base_url + thumbnail
|
||||||
|
|
||||||
results.append(
|
res.add(
|
||||||
{
|
res.types.MainResult(
|
||||||
'url': href,
|
url=url,
|
||||||
'title': title,
|
title=title,
|
||||||
'content': content,
|
content=content,
|
||||||
'thumbnail': thumbnail,
|
thumbnail=thumbnail,
|
||||||
}
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# return results
|
return res
|
||||||
return results
|
|
||||||
|
|
||||||
|
|
||||||
ceid_list = [
|
ceid_list = [
|
||||||
'AE:ar',
|
"AE:ar",
|
||||||
'AR:es-419',
|
"AR:es-419",
|
||||||
'AT:de',
|
"AT:de",
|
||||||
'AU:en',
|
"AU:en",
|
||||||
'BD:bn',
|
"BD:bn",
|
||||||
'BE:fr',
|
"BE:fr",
|
||||||
'BE:nl',
|
"BE:nl",
|
||||||
'BG:bg',
|
"BG:bg",
|
||||||
'BR:pt-419',
|
"BR:pt-419",
|
||||||
'BW:en',
|
"BW:en",
|
||||||
'CA:en',
|
"CA:en",
|
||||||
'CA:fr',
|
"CA:fr",
|
||||||
'CH:de',
|
"CH:de",
|
||||||
'CH:fr',
|
"CH:fr",
|
||||||
'CL:es-419',
|
"CL:es-419",
|
||||||
'CN:zh-Hans',
|
"CN:zh-Hans",
|
||||||
'CO:es-419',
|
"CO:es-419",
|
||||||
'CU:es-419',
|
"CU:es-419",
|
||||||
'CZ:cs',
|
"CZ:cs",
|
||||||
'DE:de',
|
"DE:de",
|
||||||
'EG:ar',
|
"EE:et",
|
||||||
'ES:es',
|
"EG:ar",
|
||||||
'ET:en',
|
"ES:ca",
|
||||||
'FR:fr',
|
"ES:es",
|
||||||
'GB:en',
|
"ET:en",
|
||||||
'GH:en',
|
"FI:fi",
|
||||||
'GR:el',
|
"FR:fr",
|
||||||
'HK:zh-Hant',
|
"GB:en",
|
||||||
'HU:hu',
|
"GH:en",
|
||||||
'ID:en',
|
"GR:el",
|
||||||
'ID:id',
|
"HK:zh-Hant",
|
||||||
'IE:en',
|
"HU:hu",
|
||||||
'IL:en',
|
"ID:en",
|
||||||
'IL:he',
|
"ID:id",
|
||||||
'IN:bn',
|
"IE:en",
|
||||||
'IN:en',
|
"IL:en",
|
||||||
'IN:hi',
|
"IL:he",
|
||||||
'IN:ml',
|
"IN:bn",
|
||||||
'IN:mr',
|
"IN:en",
|
||||||
'IN:ta',
|
"IN:gu",
|
||||||
'IN:te',
|
"IN:hi",
|
||||||
'IT:it',
|
"IN:ml",
|
||||||
'JP:ja',
|
"IN:mr",
|
||||||
'KE:en',
|
"IN:pa",
|
||||||
'KR:ko',
|
"IN:ta",
|
||||||
'LB:ar',
|
"IN:te",
|
||||||
'LT:lt',
|
"IT:it",
|
||||||
'LV:en',
|
"JP:ja",
|
||||||
'LV:lv',
|
"KE:en",
|
||||||
'MA:fr',
|
"KR:ko",
|
||||||
'MX:es-419',
|
"LB:ar",
|
||||||
'MY:en',
|
"LT:lt",
|
||||||
'NA:en',
|
"LV:en",
|
||||||
'NG:en',
|
"LV:lv",
|
||||||
'NL:nl',
|
"MA:fr",
|
||||||
'NO:no',
|
"MY:en",
|
||||||
'NZ:en',
|
"MY:ms",
|
||||||
'PE:es-419',
|
"NA:en",
|
||||||
'PH:en',
|
"NG:en",
|
||||||
'PK:en',
|
"NL:nl",
|
||||||
'PL:pl',
|
"NO:no",
|
||||||
'PT:pt-150',
|
"NZ:en",
|
||||||
'RO:ro',
|
"PH:en",
|
||||||
'RS:sr',
|
"PK:en",
|
||||||
'RU:ru',
|
"PL:pl",
|
||||||
'SA:ar',
|
"RO:ro",
|
||||||
'SE:sv',
|
"RS:sr",
|
||||||
'SG:en',
|
"RU:ru",
|
||||||
'SI:sl',
|
"SA:ar",
|
||||||
'SK:sk',
|
"SE:sv",
|
||||||
'SN:fr',
|
"SG:en",
|
||||||
'TH:th',
|
"SI:sl",
|
||||||
'TR:tr',
|
"SK:sk",
|
||||||
'TW:zh-Hant',
|
"SN:fr",
|
||||||
'TZ:en',
|
"TH:th",
|
||||||
'UA:ru',
|
"TR:tr",
|
||||||
'UA:uk',
|
"TZ:en",
|
||||||
'UG:en',
|
"UA:ru",
|
||||||
'US:en',
|
"UA:uk",
|
||||||
'US:es-419',
|
"UG:en",
|
||||||
'VE:es-419',
|
"US:en",
|
||||||
'VN:vi',
|
"VN:vi",
|
||||||
'ZA:en',
|
"ZA:en",
|
||||||
'ZW:en',
|
"ZW:en",
|
||||||
]
|
]
|
||||||
"""List of region/language combinations supported by Google News. Values of the
|
"""List of region/language combinations supported by Google News. Values of the
|
||||||
``ceid`` argument of the Google News REST API."""
|
``ceid`` argument of the Google News REST API."""
|
||||||
|
|
||||||
|
|
||||||
_skip_values = [
|
_skip_values = [
|
||||||
'ET:en', # english (ethiopia)
|
"ET:en", # english (ethiopia)
|
||||||
'ID:en', # english (indonesia)
|
"ID:en", # english (indonesia)
|
||||||
'LV:en', # english (latvia)
|
"LV:en", # english (latvia)
|
||||||
]
|
]
|
||||||
|
|
||||||
_ceid_locale_map = {'NO:no': 'nb-NO'}
|
_ceid_locale_map = {"NO:no": "nb-NO"}
|
||||||
|
|
||||||
|
|
||||||
def fetch_traits(engine_traits: EngineTraits):
|
def fetch_traits(engine_traits: EngineTraits):
|
||||||
_fetch_traits(engine_traits, add_domains=False)
|
_fetch_traits(engine_traits, add_domains=False)
|
||||||
|
|
||||||
engine_traits.custom['ceid'] = {}
|
engine_traits.custom["ceid"] = {}
|
||||||
|
|
||||||
for ceid in ceid_list:
|
for ceid in ceid_list:
|
||||||
if ceid in _skip_values:
|
if ceid in _skip_values:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
region, lang = ceid.split(':')
|
region, lang = ceid.split(":")
|
||||||
x = lang.split('-')
|
x = lang.split("-")
|
||||||
if len(x) > 1:
|
if len(x) > 1:
|
||||||
if x[1] not in ['Hant', 'Hans']:
|
if x[1] not in ["Hant", "Hans"]:
|
||||||
lang = x[0]
|
lang = x[0]
|
||||||
|
|
||||||
sxng_locale = _ceid_locale_map.get(ceid, lang + '-' + region)
|
sxng_locale = _ceid_locale_map.get(ceid, lang + "-" + region)
|
||||||
try:
|
try:
|
||||||
locale = babel.Locale.parse(sxng_locale, sep='-')
|
locale = babel.Locale.parse(sxng_locale, sep="-")
|
||||||
except babel.UnknownLocaleError:
|
except babel.UnknownLocaleError:
|
||||||
print("ERROR: %s -> %s is unknown by babel" % (ceid, sxng_locale))
|
print("ERROR: %s -> %s is unknown by babel" % (ceid, sxng_locale))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
engine_traits.custom['ceid'][locales.region_tag(locale)] = ceid
|
engine_traits.custom["ceid"][locales.region_tag(locale)] = ceid
|
||||||
|
|||||||
@@ -39,11 +39,12 @@ def response(resp):
|
|||||||
|
|
||||||
for result in json_results:
|
for result in json_results:
|
||||||
title_parts = [title['value'] for title in result['title']]
|
title_parts = [title['value'] for title in result['title']]
|
||||||
|
extract_parts = [extract['value'] for extract in result.get('extract', [])]
|
||||||
results.append(
|
results.append(
|
||||||
{
|
{
|
||||||
'url': result['url'],
|
'url': result['url'],
|
||||||
'title': ''.join(title_parts),
|
'title': ''.join(title_parts),
|
||||||
'content': result['extract'][0]['value'],
|
'content': ''.join(extract_parts),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -345,7 +345,10 @@ def _get_news_result(result):
|
|||||||
|
|
||||||
publishedDate = None
|
publishedDate = None
|
||||||
if result.get("date"):
|
if result.get("date"):
|
||||||
publishedDate = datetime.fromtimestamp(result["date"] / 1000)
|
try:
|
||||||
|
publishedDate = datetime.fromtimestamp(int(result["date"]) / 1000)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
pass
|
||||||
|
|
||||||
thumbnailUrl = None
|
thumbnailUrl = None
|
||||||
if result.get("thumbnailUrl"):
|
if result.get("thumbnailUrl"):
|
||||||
|
|||||||
+552
-498
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user