You don't need to support alias domains.  They redirect to `*.stackexchange.com` domains, anyway.

This will match all current Stack Exchange sites.  It uses `@match` for smarter domain and path wildcards.  [`@match` also works better for Chrome][1]:

    // @match       *://*.askubuntu.com/*
    // @match       *://*.mathoverflow.net/*
    // @match       *://*.serverfault.com/*
    // @match       *://*.stackapps.com/*
    // @match       *://*.stackexchange.com/*
    // @match       *://*.stackoverflow.com/*
    // @match       *://*.superuser.com/*


----------
Although, for slightly better speed and to help avoid unexpected results, **you should also exclude some sites** (Namely: The API, the main blogs<sup>1</sup>, SEDE, and the "all sites" pages) unless you are specifically coding for them. Their structure and purpose is markedly different.

**So use:**

    // @match       *://*.askubuntu.com/*
    // @match       *://*.mathoverflow.net/*
    // @match       *://*.serverfault.com/*
    // @match       *://*.stackapps.com/*
    // @match       *://*.stackexchange.com/*
    // @match       *://*.stackoverflow.com/*
    // @match       *://*.superuser.com/*
    // @exclude     *://api.stackexchange.com/*
    // @exclude     *://blog.stackexchange.com/*
    // @exclude     *://blog.stackoverflow.com/*
    // @exclude     *://chat.stackexchange.com/*
    // @exclude     *://chat.stackoverflow.com/*
    // @exclude     *://data.stackexchange.com/*
    // @exclude     *://elections.stackexchange.com/*
    // @exclude     *://stackexchange.com/*

As a practical start for most scripts.

----------
Note that [onstartups no longer needs to be supported.][2]

<sup>1</sup> The "not so main" blogs are all/mostly on a separate domain: `blogoverflow.com`.


  [1]: https://stackoverflow.com/a/16413467/331508
  [2]: https://area51.meta.stackexchange.com/questions/12607/site-on-startups-is-closed-what-to-do-now