NuciSearch is a lightweight self-hosted search wrapper that routes a query to an appropriate specialised engine based on the selected mode and query pattern.
- Capabilities
- Usage
- System Requirements
- Installation
- Configuration
- Localisation
- Development
- Project Structure
- Roadmap
- Contributing
- Supporting the Project
- License
- Provides
auto,text,images,torrents,videos, andmapssearch modes - Performs pattern-based routing for common query formats (for example issue keys, Wikidata IDs, and currency conversion requests)
- Integrates with browsers through OpenSearch
Run the web application, open it in your browser, choose a search mode, and submit your query.
The application can also consume q from the query string and redirect automatically:
https://search.nuilandia.ro/?q=minecraft%20wiki%20creeper
OpenSearch descriptor:
https://search.nuilandia.ro/opensearch.xml
- OS: Linux, MacOS, Windows
- RAM: 512 MB minimum
- Runtime: ASP.NET Core runtime compatible with .NET 10
You can deploy from the published GitHub release artefacts or execute from source using the development commands below.
All settings are loaded from the configuration file. The subsequent keys are recognised:
| Section | Key | Description |
|---|---|---|
Logging:LogLevel |
Default |
Default application log level |
Logging:LogLevel |
Microsoft.AspNetCore |
ASP.NET Core log level |
AllowedHosts |
* |
Host filtering configuration |
NuciLoggerSettings |
logFilePath |
Path to the log output file |
NuciLoggerSettings |
isFileOutputEnabled |
Whether file logging is enabled |
Translations are located in the project's localisation resources. The subsequent languages are currently supported:
| Language | Code | Status |
|---|---|---|
| English | en |
Complete |
| Romanian | ro-RO |
Complete |
All NuGet dependencies are restored automatically by dotnet restore.
dotnet build NuciSearchdotnet run --project NuciSearchdotnet test NuciSearch.slnxThe repository includes release.sh, which delegates to the upstream deployment script used by the project maintainer.
bash ./release.sh 1.0.0This script downloads and executes an external release helper from https://raw.githubusercontent.com/hmlendea/deployment-scripts/master/release/dotnet/10.0.sh.
Note: Piping into bash is an intensely controversial topic. Please review any external scripts before running them in your environment!
| Package | Purpose |
|---|---|
NuciLog |
Structured application logging |
NuciLog.Core |
Core logging abstractions |
NuciText.Obfuscation |
Query deobfuscation |
The solution contains the subsequent projects:
NuciSearch: The primary ASP.NET Core Blazor Server applicationNuciSearch.UnitTests: Unit tests for the application services
The key directories inside NuciSearch/ are:
| Directory | Purpose |
|---|---|
Components/ |
Blazor components, routes, layout, and pages |
Localisation/ |
IP-based culture provider |
Logging/ |
Logging operation names and log keys |
Resources/ |
Localised resource files |
Services/ |
Search routing and geolocation logic |
wwwroot/ |
Static assets, styles, and OpenSearch descriptor |
See ROADMAP.md for planned work, including keyword expansion and interface refinement priorities.
You are welcome to submit any suggestion, feedback, or modification to this project.
When doing so, please:
- Maintain cross-platform compatibility
- Maintain the pull requests as focused and consistent with the existing code style
- Maintain your branch up-to-date with
master - Revise the documentation when behaviour changes
- Properly test all changes, including edge cases and error conditions
- Add unit tests for any new or changed functionality
Consult ROADMAP.md for planned work and forthcoming changes.
Discovered a problem or have a suggestion? Open an issue!
If you find this project useful, consider funding it or starring ⭐️ it on GitHub!
This project is being distributed under the GNU General Public License v3.0 or later.
See LICENSE for further information.

