<!--#include virtual="/server/header.html" -->
<!-- Parent-Version: 1.79 1.86 -->
<title>Using and Running Mirrors
- GNU Project - Free Software Foundation</title>
<style type="text/css" media="print,screen"><!--
dl dt { margin: 1em 0 0; }
dl dd { margin: .2em 3%; }
<!--#include virtual="/server/po/mirror.translist" -->
<!--#include virtual="/server/banner.html" -->

<h2>Using and running mirrors</h2>

<h3>Downloading from mirrors</h3>

<p>First, for users/downloaders: the address <a
multiplexes between the mirrors, trying to choose one that is nearby and
up to date.  E.g., <a
goes to a mirror's directory of <a href="/software/emacs/">GNU
Emacs</a>.  We recommend using this generic ftpmirror.gnu.org address
wherever possible in links, documentation, etc., to reduce load on the
main GNU server.</p>

<h3>Mirroring the GNU FTP server</h3>

<p>Mirroring the GNU FTP server requires approximately 46GB 63GB disk space
(as of June 2013). February 2017).  You can rsync directly from ftp.gnu.org:</p>


<pre class="emph-box">
rsync -rltpHS --delete-excluded rsync://ftp.gnu.org/gnu/ /your/dir/

<p>However, please consider mirroring from another site, again to reduce
load on the GNU server.  These sites provide access to all the material
on ftp.gnu.org.  They update from us nightly (at least) least), and you may
access them with (via rsync):</p>

<li><tt>rsync://gnu.c3sl.ufpr.br/gnu/ftp/</tt> (Brazil)</li>
<li><tt>rsync://mirrors.ocf.berkeley.edu/gnu/</tt> (California, USA)</li>
<li><tt>rsync://ca.mirror.babylon.network/gnu</tt> (Canada)</li>
<li><tt>rsync://mirror.frgl.pw/gnu</tt> (Canada)</li>
<li><tt>rsync://ftp.funet.fi/ftp/pub/gnu/prep/</tt> (Finland)</li>
<li><tt>rsync://mirror.team-cymru.org/gnu/</tt> (Illinois, USA)</li>
<li><tt>rsync://mirrors.ibiblio.org/gnuftp/</tt> (North Carolina, USA)</li>
<li><tt>rsync://uberglobalmirror.com/gnu </tt> (Australia)</li>
<li><tt>rsync://ftp-gnu-org.ip-connect.vn.ua/ftp.gnu.org/</tt> (Ukraine)</li>

<p>rsync is so much more efficient than other protocols that we
always recommend via rsync for mirror transfers, with the same options above, to ensure an exact copy.</p> as above:</p>

<dl class="compact">
<dd><tt>rsync://mirror.ufs.ac.za/gnu</tt> (South Africa)</dd>

<dt>North America</dt>
<dd><tt>rsync://gnu.mirror.iweb.com/gnu</tt> (Canada)</dd>
<dd><tt>rsync://mirror.sergal.org/gnu</tt> (Canada)</dd>
<dd><tt>rsync://mirror.its.dal.ca/gnu</tt> (Canada)</dd>
<dd><tt>rsync://mirror.csclub.uwaterloo.ca/gnu/</tt> (Canada)</dd>
<dd><tt>rsync://mirror1.freemirror.org/gnu</tt> (Canada)</dd>
<dd><tt>rsync://mirror.keystealth.org/gnu/</tt> (California, USA)</dd>
<dd><tt>rsync://mirrors.ocf.berkeley.edu/gnu/</tt> (California, USA)</dd>
<dd><tt>rsync://mirrors.syringanetworks.net/gnu/</tt> (Idaho, USA)</dd>
<dd><tt>rsync://mirror.team-cymru.com/gnu/</tt> (Illinois, USA)</dd>
<dd><tt>rsync://mirror.leifrogers.com/gnu/gnu/</tt> (Indiana, USA)</dd>
<dd><tt>rsync://mirrors.tripadvisor.com/gnu/</tt> (Massachusetts, USA)</dd>
<dd><tt>rsync://mirror.clarkson.edu/gnu/</tt> (New York, USA)</dd>

<dt>South America</dt>
<dd><tt>rsync://gnu.c3sl.ufpr.br/gnu/ftp/</tt> (Brazil)</dd>
<dd><tt>rsync://mirror.cedia.org.ec/gnu</tt> (Ecuador)</dd>
<dd><tt>rsync://espejito.fder.edu.uy/gnu</tt> (Uruguay)</dd>

<dd><tt>rsync://mirrors.ustc.edu.cn/gnu/</tt> (China)</dd>
<dd><tt>rsync://mirrors.tuna.tsinghua.edu.cn/gnu/</tt> (China)</dd>
<dd><tt>rsync://mirror-hk.koddos.net/gnu/</tt> (Hong Kong)</dd>
<dd><tt>rsync://ftp.jaist.ac.jp/pub/GNU/</tt> (Japan)</dd>
<dd><tt>rsync://mirror.jre655.com/GNU</tt> (Japan)</dd>
<dd><tt>rsync://ftp.kaist.ac.kr/gnu/</tt> (Korea)</dd>
<dd><tt>rsync://ftp.yzu.edu.tw/pub/gnu/</tt> (Taiwan)</dd>

<dd><tt>rsync://mirror.kumi.systems/gnu/</tt> (Austria)</dd>
<dd><tt>rsync://ftp.funet.fi/ftp/pub/gnu/prep/</tt> (Finland)</dd>
<dd><tt>rsync://mirror.netcologne.de/gnu</tt> (Germany)</dd>
<dd><tt>rsync://quantum-mirror.hu/gnu/</tt> (Hungary)</dd>
<dd><tt>rsync://mirrors.mivocloud.com/gnu/</tt> (Moldova)</dd>
<dd><tt>rsync://ftp.snt.utwente.nl/gnu/</tt> (Netherlands)</dd>
<dd><tt>rsync://mirror.koddos.net/gnu</tt> (Netherlands)</dd>
<dd><tt>rsync://gnuftp.uib.no/gnuftp/</tt> (Norway)</dd>
<dd><tt>rsync://mirrors.up.pt/pub/gnu/</tt> (Portugal)</dd>
<dd><tt>rsync://mirrors.nav.ro/gnu</tt> (Romania)</dd>
<dd><tt>rsync://mirror.sbb.rs/gnu/</tt> (Serbia)</dd>
<dd><tt>rsync://ftp.acc.umu.se/mirror/gnu.org/gnu/</tt> (Sweden)</dd>
<dd><tt>rsync://rsync.mirrorservice.org/ftp.gnu.org/gnu/</tt> (UK)</dd>
<dd><tt>rsync://ftp-gnu-org.ip-connect.vn.ua/ftp.gnu.org/</tt> (Ukraine)</dd>

<h3 id="mirror-guidelines">Making your mirror public</h3>

<p>You can keep your mirror private, but we appreciate the support will be very grateful if you can make
support free software by making it public. However, your mirror public.  To needs to
meet the following guidelines to be accepted on our <a
href="/prep/ftp.html">public mirror list</a>:</p>

<li>Text (if any) should be as short as possible, and strictly
<li>Images, including logos, should be avoided by courtesy to people who
    use devices with small screens, except if the images are on the site
    being mirrored.</li> 
<li>The header and footer shouldn't have links, except possibly for
    bug-reporting. Extra links are annoying for users, and in some cases
    are considered spam.</li>

<p>To add your mirror to the <a
href="/order/ftp.html">public public mirror list</a>, list, we require (and
recommend) a daily update frequency.  <em>After</em> establishing your
mirror, please contact <a
href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a> so we
can review it.  Please provide the following:</p>

<li>URL of the mirror (ftp/http/rsync (https/http/ftp/rsync as appropriate),</li>
<li>country where the mirror is located,</li>
<li>update frequency (once daily is recommended),</li>
<li>preferred contact information for any mirror-related issues
    (we will keep all contact information confidential), and</li>
<li>whether your site can also be a source for other mirrors.</li>

<p>In general, mirrors run by both individuals and organizations that want to
support free software are welcome and appreciated. Mirrors that are run for
the purpose of gaining advertising links or other recognition from our site,
or that are engaged in unethical activity, are not accepted on our list.</p>

<h3>Web setup for mirrors</h3>

<p>It is very useful to make your mirror available to users via http, HTTP
or HTTPS, so please support this if you can.  Please set We highly encourage new
mirrors to support HTTPS as the most secure option.</p>

<p>Set up your web server
configuration to avoid sending <tt>.gz.sig</tt> files (signatures of
compressed files, of which there are many on our servers) as
gzip-encoded.  For Apache, this means:</p>


<pre class="emph-box">
AddType application/pgp-signature .sig
# make sure .sig files are _not_ sent with "Content-Encoding: gzip".
<Files *.gz.sig>
  RemoveEncoding .gz
<Files *.tgz.sig>
  RemoveEncoding .tgz

<p>Variation: if your AddEncoding lines do not have a leading dot for
the extension, for instance like this:</p>
<pre class="emph-box">
AddEncoding x-gzip gz tgz
<p>then the RemoveEncoding lines should also not have a leading dot.</p>

<p>Finally, we highly recommend the following setting, so that users can
see full filenames in generated listings instead of having them be


<pre class="emph-box">
IndexOptions NameWidth=*

<h3 id="Ibiblio">Ibiblio mailing lists</h3>

<p>For those mirroring

<p>If you set up an HTTPS mirror, please make sure its SSL certificate
carries a valid signature from ibiblio, <a
and <a
are low-traffic mailing lists a certification authority; it's difficult
for admins of sites mirroring from ibiblio
servers.  Also, specific questions and problem reports can be <a
href="http://www.ibiblio.org/help/">submitted us to ibiblio</a>.</p> track mirrors with self-signed certificates. If you don't
already have a valid signature, Let's Encrypt is a good place to get it.</p>

<h3>Mirroring the GNU Alpha release server</h3>

<p>ftp.gnu.org and other sites also offer alpha.gnu.org (around 10GB) for
your mirroring pleasure:</p>


<dl class="compact">
<dt>North America</dt>
<dd><tt>rsync://ftp.gnu.org/alpha/</tt> (USA - primary site)</dd>

<dt>South America</dt>
<dd><tt>rsync://gnu.c3sl.ufpr.br/gnu/alpha/</tt> (Brazil)</dd>
<dd><tt>rsync://mirror.cedia.org.ec/gnualpha</tt> (Ecuador)</dd>

<dd><tt>rsync://mirror.kumi.systems/gnualpha/</tt> (Austria)</dd>
<dd><tt>rsync://ftp.funet.fi/ftp/pub/mirrors/alpha.gnu.org/gnu/</tt> (Finland)</dd>
<dd><tt>rsync://quantum-mirror.hu/gnualpha/</tt> (Hungary)</dd>
<dd><tt>rsync://gnualpha.uib.no/gnualpha</tt> (Norway)</dd>
<dd><tt>rsync://mirrors.up.pt/pub/gnu-alpha/</tt> (Portugal)</dd>
<dd><tt>rsync://ftp.acc.umu.se/mirror/gnu.org/alpha/</tt> (Sweden)</dd>
<dd><tt>rsync://rsync.mirrorservice.org/alpha.gnu.org/gnu/</tt> (UK)</dd>
<dd><tt>rsync://alpha-gnu-org.ip-connect.vn.ua/alpha.gnu.org/</tt> (Ukraine)</dd>

<p>Nightly updates are sufficient for GNU FTP and Alpha material.</p>

<h3 id="nongnu">Mirroring nongnu releases from Savannah</h3>

<p>We also greatly appreciate additional mirrors of the
<em>nongnu</em> projects hosted at <a
href="http://savannah.nongnu.org/">savannah.nongnu.org</a>.  The total is
currently around 22GB. 51GB.  To do this, we recommend you retrieve and
update the files using rsync, with the same options as above for
ftp.gnu.org, namely:</p>


<pre class="emph-box">
rsync -rltpHS --delete-excluded rsync://dl.sv.gnu.org/releases/ /your/dir

<p>These options ensure that it is an exact mirror.  (There will
probably be some permission errors; just ignore them.  They are due to
choices or mistakes by individual project maintainers.)</p>

<p>It is fine to update savannah/nongnu once a day as well; twice a day
if you like.  More than that is not worth the bandwidth, the contents
are not that dynamic.</p>

<p>If you can help with this, please <a
href="mailto:webmasters@gnu.org">email us</a> with the url to your
mirror so we can add you to the <a

<h3>(Not) Mirroring the GNU web server</h3>

<p>We no longer recommend creating web mirrors, because it has turned
out that (a) few people can make use of them, and (b) many
mirrors either became out of date or went offline relatively frequently.
We don't want outdated information about the GNU project to be

<p>Nonetheless, if you wish to mirror www.gnu.org for your own
purposes, that is ok with us.  We recommend using <tt>mod_proxy</tt>.
Here is an
<i>unsupported</i> recipe of Apache directives for your
<pre class="emph-box">
ServerName gnumirror.example.org
CacheRoot "/var/cache/mod_proxy"
CacheDefaultExpire 86400 # for Apache 2.0+, value is in seconds
ProxyPass / http://www.gnu.org/
CacheEnable disk /

<p>(Thanks to Juri Hoerner for providing this Apache information.)</p>

</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer">
<div class="unprintable">

<p>Please send general FSF & GNU inquiries to
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF.  Broken links and other corrections or suggestions can be sent
to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p>

<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        README</a>. -->
Please see the <a
README</a> for information on coordinating and submitting translations
of this article.</p>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->

<p>Copyright © 2014, 2015, 2016 2016, 2017, 2018 Free Software Foundation, Inc.</p>

<p>This page is licensed under a <a rel="license"
Commons Attribution-NoDerivatives 4.0 International License</a>.</p>

<!--#include virtual="/server/bottom-notes.html" -->

<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2018/12/15 14:46:50 $
<!-- timestamp end -->
</div><!-- for class="inner", starts in the banner include -->