# 📖 Rural Dictionary > We're rural, not urban. Privacy-respecting, NoJS-supporting Urban Dictionary frontend. ## 🌐 Instances | URL | Country | Owner name | Owner Website | |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|------------|---------------------| | <https://rd.vern.cc> + [Tor](http://rd.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion) + [I2P](http://vern5cxiaufqvhv4hu5ypkvw3tiwvuinae4evdbqzrioql6s2sha.b32.i2p) | US | ~vern | <https://vern.cc> | | <https://rd.bloat.cat> | RO | bloatcat | <https://bloat.cat> | ## ✨ Features Frontend supports all Urban Dictionary features and has endpoint-parity with it. Available features include: - Word definitions - Author pages - Homepage with words of the day - Random word definitions - 404 page with words similar to search - Pagination ## 🚀 Deployment First, install Rye by following the [installation guide](https://rye.astral.sh/guide/installation/). Then, clone repository: ```sh git clone https://git.vern.cc/cobra/rural-dict cd rural-dict ``` ### 🐳 With Docker ```sh rye build --wheel --clean docker buildx build . --tag rural-dict docker compose up -d ``` ### 💻 Without containerization ```sh rye sync --no-dev rye run uvicorn src.rural_dict.__main__:app --port 5758 ``` ## 🔧 Development Use `rye sync` to install dependencies and required Python version. Use `rye run dev` to start development server which will reload on every change to source code. Use `rye check --fix` and `rye fmt` to lint and format code. Assumed to be run before each commit to guarantee code quality. Use `rye run basedpyright` to ensure typing is correct. ## 🤝 Support Join our [Matrix room](https://mto.vern.cc/#/#cobra-frontends:vern.cc) for support and other things related to Rural Dictionary. ## 🔗 Redirection To use Rural Dictionary, simply replace an Urban Dictionary URL with a Rural Dictionary URL from the instance list above. Auto-redirect browser extension like [Redirector](https://github.com/einaregilsson/Redirector) can be used to achieve this. For example, change: `https://urbandictionary.com/define.php?term=kin` to: `https://rd.vern.cc/define.php?term=kin` **Note:** More endpoints are supported. ## 👥 Contributors - [thirtysix](https://thirtysix.pw), rewrote project in more modern Python stack - [zortazert](https://codeberg.org/zortazert), created the initial Urban Dictionary frontend using JavaScript and helped develop Rural Dictionary ## 📜 License This project is licensed under the AGPLv3+ license - see the [license file](LICENSE) for details.