Serverhound Website
Hound is an extremely fast source code search engine. The core is based on this article (and code) from Russ Cox:Regular Expression Matching with a Trigram Index. Hound itself is a staticReact frontend that talks to a Go backend. The backend keeps an up-to-date index for each repository and answers searches through a minimal API. Here it is in action:
No Cancer RP: Providing players with a non-cancerous experience since 2017.
Quick Start Guide
Public Discord Servers. This is a list of Discord servers. Find a server you like? Click the to learn more and find similar servers, or simply join the server and say hello! If you're not familiar with Discord, check out their website. NadekoBot Documentation. To invite public NadekoBot to your server, click on the image bellow: In case you need any help, hop on the NadekoBot Server, where we can provide support. NadekoBot is an open source project, and it can be found on our GitHub page. Here you can read current Issues.
Using Go Tools
Hound includes a web UI that is composed of several files (html, css, javascript, etc.). To make sure hound works seamlessly with the standard Go tools, these resources are all bundled inside of the houndd binary. ServerHound only lets you join a random server that uses ServerHound. Basically, getting that bot and bumping your server to the top is asking for raiders to spam the chat. Even so, there is an option to disable it.
- Use the Go tools to install Hound. The binaries
houndd
(server) andhound
(cli) will be installed in your $GOPATH.
Create a config.json in a directory with your list of repositories.
Run the Hound server with
houndd
and you should see output similar to:
Using Docker (1.4+)
Create a config.json in a directory with your list of repositories.
Run
You should be able to navigate to http://localhost:6080/ as usual.
Running in Production
There are no special flags to run Hound in production. You can use the --addr=:6880
flag to control the port to which the server binds. Currently, Hound does not support TLS as most users simply run Hound behind either Apache or nginx. Adding TLS support is pretty straight forward though if anyone wants to add it.
Why Another Code Search Tool?
We've used many similar tools in the past, and most of them are either too slow, too hard to configure, or require too much software to be installed.Which brings us to..
Requirements
- Go 1.4+
Yup, that's it. You can proxy requests to the Go service through Apache/nginx/etc., but that's not required.
Support
Currently Hound is only tested on MacOS and CentOS, but it should work on any *nix system. Hound on Windows is not supported but we've heard it compiles and runs just fine.
Hound supports the following version control systems:
Realtek driver for ALC887 and Windows 10 64bit. A complete list of available sound device drivers for Realtek ALC887.On this page, you will find all available drivers listed by release date for the Windows 10 64bit operating system. For more downloads go to the Drivers and downloads. For help on using the information on this page, please visit Driver Help and Tutorials. Realtek ALC887 HD Audio, v.6.0.1.5963 (2.86), A01. The utility will automatically determine the right driver for your system as well as download and install the RealTek ALC887 driver. Being an easy-to-use utility, The Drivers Update Tool is a great alternative to manual installation, which has been recognized by many computer experts and computer magazines. Realtek hd audio driver alc662. Realtek driver for ALC887 and Windows 7 32bit. A complete list of available sound device drivers for Realtek ALC887.On this page, you will find all available drivers listed by release date for the Windows 7 32bit operating system.
- Git - This is the default
- Mercurial - use
'vcs' : 'hg'
in the config - SVN - use
'vcs' : 'svn'
in the config - Bazaar - use
'vcs' : 'bzr'
in the config
See config-example.json for examples of how to use each VCS.
Private Repositories
There are a couple of ways to get Hound to index private repositories:
- Use the
file://
protocol. This allows you to index a local clone of a repository. The downside here is that the polling to keep the repo up to date willnot work. (This also doesn't work on local folders that are not of a supported repository type.) - Use SSH style URLs in the config:
'url' : 'git@github.com:foo/bar.git'
. As long as you have yourSSH keys set up on the box where Hound is running this will work.
Keeping Repos Updated
By default Hound polls the URL in the config for updates every 30 seconds. You can override this value by setting the ms-between-poll
key on a per repo basis in the config. If you are indexing a large number of repositories, you may also be interested in tweaking the max-concurrent-indexers
property. You can see how these work in the example config.
Editor Integration
Currently the following editors have plugins that support Hound:
Hacking on Hound
Editing & Building
Requirements:
- make
- Node.js (Installation Instructions)
Hound includes a Makefile
to aid in building locally, but it depends on the source being added to a proper Go workspace so thatGo tools work accordingly. See Setting GOPATH for further details about settingup your Go workspace. With a GOPATH
set, the following commands will build hound locally.
If this is your only Go project, you can set your GOPATH just for Hound:
Testing
There are an increasing number of tests in each of the packages in Hound. Please make sure these pass before uploading your Pull Request. You can run the tests with the following command.
Working on the web UI
Hound includes a web UI that is composed of several files (html, css, javascript, etc.). To make sure hound works seamlessly with the standard Go tools, these resources are all bundled inside of the houndd
binary. Note that changes to the UI will result in local changes to the ui/bindata.go
file. You must include these changes in your Pull Request.
To bundle UI changes in ui/bindata.go
use:
Server Hound Website
To make development easier, there is a flag that will read the files from the file system (allowing the much-loved edit/refresh cycle).
First you should ensure you have all the dependencies installed that you need by running:
Then run the hound server with the --dev option:
Serverhound
Get in Touch
Created at Etsy by:

Server Hound Discors Bot
The bot's username is ServerHound#2310.
Server Hound Invite
This bot provides random invite links to public servers - seems great at first, but one of the people I know found out about the bot and used it and his entire server to raid other servers - not great.
They managed to find the video game server I go to and raided that. They also found out I go to that server and proceed to harass me there.
I feel like Discord should do something about this. While servers can be public, most of the time it's for a specific purpose, or they don't want any random people to just join it out of the blue. The video game server I mentioned is for a general purpose, but it's aimed towards certain people, and definitely not people who get the invite randomly.
This bot also makes servers VERY vulnerable to raiders, and that is not a good thing especially for large-scale servers. I hope this bot has something done against it, because right now it's not being used for the correct purpose.