summaryrefslogtreecommitdiff
path: root/mirrorlist/index.php
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-02-14 14:36:34 +0100
committerErich Eckner <git@eckner.net>2019-02-14 14:36:34 +0100
commit5a403f224741ddd159f6b89a94c35899a4e5a0c7 (patch)
treecf522e647d07c2e1994fe4d2014607ddd556ac27 /mirrorlist/index.php
parentfb4107ccf13a9f32d66069f91a24c8744ed6b391 (diff)
downloadwebsite-5a403f224741ddd159f6b89a94c35899a4e5a0c7.tar.xz
mirrorlist.php now in /
Diffstat (limited to 'mirrorlist/index.php')
-rw-r--r--mirrorlist/index.php221
1 files changed, 0 insertions, 221 deletions
diff --git a/mirrorlist/index.php b/mirrorlist/index.php
deleted file mode 100644
index a9f0211..0000000
--- a/mirrorlist/index.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-require_once "../init.php";
-
-include BASE . "/lib/mysql.php";
-include BASE . "/lib/style.php";
-
-$filter =
- '`mirror_statuses`.`active`' .
- ' AND `mirror_statuses`.`last_sync`>UNIX_TIMESTAMP(NOW())-7*24*60*60';
-
-$result = mysql_run_query(
- 'SELECT DISTINCT ' .
- '`mirror_statuses`.`country_code`,' .
- '`mirror_statuses`.`country`' .
- ' FROM `mirror_statuses`' .
- ' WHERE ' . $filter .
- ' ORDER BY `mirror_statuses`.`country`'
-);
-$countries = array(
- array(
- 'country_code' => 'all',
- 'country' => 'All'
- )
-);
-while ($row = $result -> fetch_assoc())
- $countries[] = $row;
-
-$result = mysql_run_query(
- 'SELECT DISTINCT ' .
- '`mirror_statuses`.`protocol`' .
- ' FROM `mirror_statuses`' .
- ' WHERE ' . $filter .
- ' ORDER BY `mirror_statuses`.`protocol`'
-);
-$protocols = array(
-);
-while ($row = $result -> fetch_assoc())
- $protocols[] = $row['protocol'];
-
-$ip_versions = array('4', '6');
-
-if (array_key_exists('country', $_GET)) {
-
- if (array_key_exists('use_mirror_status', $_GET))
- $order = '(`mirror_statuses`.`start`-`mirror_statuses`.`last_sync`) DESC';
- else
- $order =
- '`mirror_statuses`.`country`,' .
- 'SUBSTRING(' .
- '`mirror_statuses`.`url`,' .
- '1+CHAR_LENGTH(`mirror_statuses`.`protocol`)' .
- '),' .
- '`mirror_statuses`.`protocol`';
-
- $request = '&' . preg_replace(',^.*/\?,', '', $_SERVER['REQUEST_URI']) . '&';
- if (array_key_exists('protocol', $_GET)) {
- $filter .= ' AND `mirror_statuses`.`protocol` IN (';
- foreach ($protocols as $protocol)
- if (strpos($request, '&protocol=' . $protocol . '&') !== false)
- $filter .= '"' . $protocol . '",';
- $filter .= '"")';
- }
-
- if (strpos($request, '&country=all&') === false) {
- $filter .= ' AND `mirror_statuses`.`country_code` IN (';
- foreach ($countries as $country)
- if (strpos($request, '&country=' . $country['country_code'] . '&') !== false)
- $filter .= '"' . $country['country_code'] . '",';
- $filter .= '"")';
- }
-
- foreach ($ip_versions as $ip_version)
- if (strpos($request, '&ip_version=' . $ip_version . '&') !== false)
- $filter .= ' AND `mirror_statuses`.`ipv' . $ip_version . '`';
-
- $result = mysql_run_query(
- 'SELECT DISTINCT ' .
- ' `mirror_statuses`.`country`,' .
- ' `mirror_statuses`.`url`' .
- ' FROM `mirror_statuses`' .
- ' WHERE ' . $filter .
- ' ORDER BY ' . $order
- );
- while ($row = $result -> fetch_assoc())
- $mirrors[] = $row;
-
- header('Content-Type: text/plain');
-
- print "##\n";
- print "## Arch Linux 32 repository mirrorlist\n";
- print "## Generated on " . date('Y-m-d') . "\n";
- print "##\n";
-
- $last_country = 'Mordor';
- foreach ($mirrors as $mirror) {
- if ($mirror['country'] != $last_country) {
- print "\n";
- print "## " . $mirror['country'] . "\n";
- $last_country = $mirror['country'];
- }
- print "#Server = " . $mirror['url'] . '$arch/$repo/' . "\n";
- }
-
- die();
-}
-
-print_header('Pacman Mirrorlist Generator', 'home');
-
-?>
- <div id="mirrorlist-gen" class="box">
- <h2>
- Pacman Mirrorlist Generator
- </h2>
- <p>
- This page generates the most up-to-date mirrorlist possible for Arch Linux 32.
- The data used here comes straight from the developers' internal mirror database used to track mirror availability and tiering.
- There are two main options:
- get a mirrorlist with every available mirror, or get a mirrorlist tailored to your geography.
- </p>
- <h3>
- Mirrorlist with all available mirrors
- </h3>
- <p>
- An up-to-date mirrorlist is available containing all currently active mirrors, optionally filtering by protocol.
- These URLs requires no GET or POST parameters so they can be fetched from the command line if desired.
- <p>
- <ul>
- <li><a href="?country=all">All mirrors</a></li>
- <li><a href="?country=all&protocol=http">All mirrors, HTTP only</a></li>
- <li><a href="?country=all&protocol=https">All mirrors, HTTPS only</a></li>
- </ul>
- <h3>
- Customized by country mirrorlist
- </h3>
- <p>
- The following form can generate a custom up-to-date
- <a href="https://wiki.archlinux.org/index.php/Pacman" title="ArchWiki: Pacman">pacman</a>
- mirrorlist based on geography and desired protocol(s).
- Simply replace the contents of
- <code>/etc/pacman.d/mirrorlist</code>
- with your generated list.
- Additionally, the mirror status data can be incorporated into the generated mirror list and used to only list up to date mirrors.
- </p>
- <form id="list-generator" method="get">
- <div>
- <label for="id_country">
- Country:
- </label>
- <select name="country" size="12" id="id_country" multiple>
-<?php
-
-foreach ($countries as $country) {
- print " <option value=\"" . $country['country_code'] . "\"";
- if ($country['country_code'] == 'all')
- print " selected";
- print ">";
- print $country['country'];
- print "</option>\n";
-}
-
-?>
- </select>
- </div>
- <div>
- <label>
- Protocol:
- </label>
- <ul id="id_protocol">
-<?php
-
-$count = 0;
-foreach ($protocols as $protocol) {
- print " <li>\n";
- print " <label for=\"id_protocol_" . $count . "\">\n";
- print " <input type=\"checkbox\" name=\"protocol\" value=\"" . $protocol . "\" id=\"id_protocol_" . $count . "\" checked>\n";
- print " " . $protocol . "\n";
- print " </label>\n";
- print " </li>\n";
- $count ++;
-}
-
-?>
- </ul>
- </div>
- <div>
- <label>
- IP version:
- </label>
- <ul id="id_ip_version">
-<?php
-
-$count = 0;
-foreach ($ip_versions as $ip_version) {
- print " <li>\n";
- print " <label for=\"id_ip_version_" . $count . "\">\n";
- print " <input type=\"checkbox\" name=\"ip_version\" value=\"" . $ip_version . "\" id=\"id_ip_version_" . $count . "\" checked>\n";
- print " IPv" . $ip_version . "\n";
- print " </label>\n";
- print " </li>\n";
- $count ++;
-}
-
-?>
- </ul>
- </div>
- <div>
- <label for="id_use_mirror_status">
- Use mirror status:
- </label>
- <input type="checkbox" name="use_mirror_status" id="id_use_mirror_status">
- </div>
- <p>
- <label>
- </label>
- <input type="submit" value="Generate List">
- </p>
- </form>
- </div>
-<?php
-
-print_footer();