templates_docs_modulesdir = $(templates_docsdir)/modules
templates_downloads_DATA = \
+ src/templates/downloads/cloud.html \
src/templates/downloads/mirrors.html \
src/templates/downloads/release.html \
src/templates/downloads/thank-you.html
static_img_authdir = $(static_imgdir)/auth
+static_img_downloadsdir = $(static_imgdir)/downloads
+
+dist_static_img_downloads_cloud_DATA = \
+ src/static/img/downloads/cloud/aws.svg \
+ src/static/img/downloads/cloud/exoscale.svg \
+ src/static/img/downloads/cloud/hetzner.svg
+
+static_img_downloads_clouddir = $(static_img_downloadsdir)/cloud
+
static_images_tux_DATA = \
src/static/img/tux/ipfire_tux_16x16.png \
src/static/img/tux/ipfire_tux_20x20.png \
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 500 500"
+ xml:space="preserve"
+ sodipodi:docname="Amazon_Web_Services_Logo.svg"
+ width="500"
+ height="500"
+ inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs17" /><sodipodi:namedview
+ id="namedview15"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ showgrid="false"
+ inkscape:zoom="1.0997491"
+ inkscape:cx="260.51398"
+ inkscape:cy="256.87678"
+ inkscape:window-width="1296"
+ inkscape:window-height="789"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" />
+<style
+ type="text/css"
+ id="style2">
+ .st0{fill:#252F3E;}
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF9900;}
+</style>
+<g
+ id="g12"
+ transform="translate(97.996539,159)">
+ <path
+ class="st0"
+ d="m 86.4,66.4 c 0,3.7 0.4,6.7 1.1,8.9 0.8,2.2 1.8,4.6 3.2,7.2 0.5,0.8 0.7,1.6 0.7,2.3 0,1 -0.6,2 -1.9,3 L 83.2,92 c -0.9,0.6 -1.8,0.9 -2.6,0.9 -1,0 -2,-0.5 -3,-1.4 C 76.2,90 75,88.4 74,86.8 73,85.1 72,83.2 70.9,80.9 63.1,90.1 53.3,94.7 41.5,94.7 c -8.4,0 -15.1,-2.4 -20,-7.2 -4.9,-4.8 -7.4,-11.2 -7.4,-19.2 0,-8.5 3,-15.4 9.1,-20.6 6.1,-5.2 14.2,-7.8 24.5,-7.8 3.4,0 6.9,0.3 10.6,0.8 3.7,0.5 7.5,1.3 11.5,2.2 V 35.6 C 69.8,28 68.2,22.7 65.1,19.6 61.9,16.5 56.5,15 48.8,15 c -3.5,0 -7.1,0.4 -10.8,1.3 -3.7,0.9 -7.3,2 -10.8,3.4 -1.6,0.7 -2.8,1.1 -3.5,1.3 -0.7,0.2 -1.2,0.3 -1.6,0.3 -1.4,0 -2.1,-1 -2.1,-3.1 V 13.3 C 20,11.7 20.2,10.5 20.7,9.8 21.2,9.1 22.1,8.4 23.5,7.7 27,5.9 31.2,4.4 36.1,3.2 41,1.9 46.2,1.3 51.7,1.3 63.6,1.3 72.3,4 77.9,9.4 83.4,14.8 86.2,23 86.2,34 V 66.4 Z M 45.8,81.6 c 3.3,0 6.7,-0.6 10.3,-1.8 3.6,-1.2 6.8,-3.4 9.5,-6.4 1.6,-1.9 2.8,-4 3.4,-6.4 0.6,-2.4 1,-5.3 1,-8.7 v -4.2 c -2.9,-0.7 -6,-1.3 -9.2,-1.7 -3.2,-0.4 -6.3,-0.6 -9.4,-0.6 -6.7,0 -11.6,1.3 -14.9,4 -3.3,2.7 -4.9,6.5 -4.9,11.5 0,4.7 1.2,8.2 3.7,10.6 2.4,2.5 5.9,3.7 10.5,3.7 z m 80.3,10.8 c -1.8,0 -3,-0.3 -3.8,-1 -0.8,-0.6 -1.5,-2 -2.1,-3.9 L 96.7,10.2 c -0.6,-2 -0.9,-3.3 -0.9,-4 0,-1.6 0.8,-2.5 2.4,-2.5 h 9.8 c 1.9,0 3.2,0.3 3.9,1 0.8,0.6 1.4,2 2,3.9 l 16.8,66.2 15.6,-66.2 c 0.5,-2 1.1,-3.3 1.9,-3.9 0.8,-0.6 2.2,-1 4,-1 h 8 c 1.9,0 3.2,0.3 4,1 0.8,0.6 1.5,2 1.9,3.9 l 15.8,67 17.3,-67 c 0.6,-2 1.3,-3.3 2,-3.9 0.8,-0.6 2.1,-1 3.9,-1 h 9.3 c 1.6,0 2.5,0.8 2.5,2.5 0,0.5 -0.1,1 -0.2,1.6 -0.1,0.6 -0.3,1.4 -0.7,2.5 l -24.1,77.3 c -0.6,2 -1.3,3.3 -2.1,3.9 -0.8,0.6 -2.1,1 -3.8,1 h -8.6 c -1.9,0 -3.2,-0.3 -4,-1 -0.8,-0.7 -1.5,-2 -1.9,-4 L 156,23 140.6,87.4 c -0.5,2 -1.1,3.3 -1.9,4 -0.8,0.7 -2.2,1 -4,1 z m 128.5,2.7 c -5.2,0 -10.4,-0.6 -15.4,-1.8 -5,-1.2 -8.9,-2.5 -11.5,-4 -1.6,-0.9 -2.7,-1.9 -3.1,-2.8 -0.4,-0.9 -0.6,-1.9 -0.6,-2.8 v -5.1 c 0,-2.1 0.8,-3.1 2.3,-3.1 0.6,0 1.2,0.1 1.8,0.3 0.6,0.2 1.5,0.6 2.5,1 3.4,1.5 7.1,2.7 11,3.5 4,0.8 7.9,1.2 11.9,1.2 6.3,0 11.2,-1.1 14.6,-3.3 3.4,-2.2 5.2,-5.4 5.2,-9.5 0,-2.8 -0.9,-5.1 -2.7,-7 -1.8,-1.9 -5.2,-3.6 -10.1,-5.2 L 246,52 c -7.3,-2.3 -12.7,-5.7 -16,-10.2 -3.3,-4.4 -5,-9.3 -5,-14.5 0,-4.2 0.9,-7.9 2.7,-11.1 1.8,-3.2 4.2,-6 7.2,-8.2 3,-2.3 6.4,-4 10.4,-5.2 4,-1.2 8.2,-1.7 12.6,-1.7 2.2,0 4.5,0.1 6.7,0.4 2.3,0.3 4.4,0.7 6.5,1.1 2,0.5 3.9,1 5.7,1.6 1.8,0.6 3.2,1.2 4.2,1.8 1.4,0.8 2.4,1.6 3,2.5 0.6,0.8 0.9,1.9 0.9,3.3 v 4.7 c 0,2.1 -0.8,3.2 -2.3,3.2 -0.8,0 -2.1,-0.4 -3.8,-1.2 -5.7,-2.6 -12.1,-3.9 -19.2,-3.9 -5.7,0 -10.2,0.9 -13.3,2.8 -3.1,1.9 -4.7,4.8 -4.7,8.9 0,2.8 1,5.2 3,7.1 2,1.9 5.7,3.8 11,5.5 l 14.2,4.5 c 7.2,2.3 12.4,5.5 15.5,9.6 3.1,4.1 4.6,8.8 4.6,14 0,4.3 -0.9,8.2 -2.6,11.6 -1.8,3.4 -4.2,6.4 -7.3,8.8 -3.1,2.5 -6.8,4.3 -11.1,5.6 -4.5,1.4 -9.2,2.1 -14.3,2.1 z"
+ id="path4" />
+ <g
+ id="g10">
+ <path
+ class="st1"
+ d="M 273.5,143.7 C 240.6,168 192.8,180.9 151.7,180.9 94.1,180.9 42.2,159.6 3,124.2 c -3.1,-2.8 -0.3,-6.6 3.4,-4.4 42.4,24.6 94.7,39.5 148.8,39.5 36.5,0 76.6,-7.6 113.5,-23.2 5.5,-2.5 10.2,3.6 4.8,7.6 z"
+ id="path6" />
+ <path
+ class="st1"
+ d="m 287.2,128.1 c -4.2,-5.4 -27.8,-2.6 -38.5,-1.3 -3.2,0.4 -3.7,-2.4 -0.8,-4.5 18.8,-13.2 49.7,-9.4 53.3,-5 3.6,4.5 -1,35.4 -18.6,50.2 -2.7,2.3 -5.3,1.1 -4.1,-1.9 4,-9.9 12.9,-32.2 8.7,-37.5 z"
+ id="path8" />
+ </g>
+</g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ viewBox="0 0 500.00002 500"
+ version="1.1"
+ id="svg6"
+ sodipodi:docname="logo-3.svg"
+ width="500"
+ height="500"
+ inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <defs
+ id="defs10" />
+ <sodipodi:namedview
+ id="namedview8"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ showgrid="false"
+ width="500px"
+ inkscape:zoom="1.0490268"
+ inkscape:cx="223.54052"
+ inkscape:cy="252.61508"
+ inkscape:window-width="1296"
+ inkscape:window-height="790"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6" />
+ <g
+ id="g14"
+ transform="matrix(1.2483383,0,0,1.2483383,70.925871,200.06647)">
+ <path
+ fill="#da291c"
+ d="M 30,21.9 9.1,58.1 H 12 l 18,-31 v 5.1 L 15,58.1 h 3 L 30,37.4 v 5.2 l -9,15.5 h 3 l 6,-10.3 v 5.1 l -3,5.2 h 23.9 z"
+ id="path2" />
+ <path
+ d="m 59.9,27.1 h 19.2 v 4.1 H 64.5 v 6.7 h 13 V 42 h -13 v 6.9 H 79.3 V 53 H 59.9 Z m 48.7,0 -9,12.6 9.4,13.2 h -5.4 L 96.8,43 90,52.9 H 84.8 L 94.1,39.7 85.1,27 h 5.4 l 6.4,9.3 6.5,-9.3 h 5.2 z m 4.1,13 c 0,-7.4 5.6,-13.4 13.6,-13.4 7.9,0 13.5,6 13.5,13.3 0,7.3 -5.6,13.4 -13.6,13.4 -7.9,0 -13.5,-6 -13.5,-13.3 z m 22.3,0 c 0,-5.1 -3.7,-9.2 -8.8,-9.2 -5.1,0 -8.7,4.1 -8.7,9.1 0,5 3.7,9.2 8.8,9.2 5.1,0 8.7,-4.1 8.7,-9.1 z m 10.4,9.1 2.7,-3.3 c 2.5,2.1 5,3.4 8.2,3.4 2.8,0 4.6,-1.3 4.6,-3.3 v -0.1 c 0,-1.8 -1,-2.8 -5.8,-4 -5.5,-1.3 -8.6,-3 -8.6,-7.7 v -0.1 c 0,-4.4 3.7,-7.5 8.8,-7.5 3.8,0 6.8,1.1 9.4,3.3 l -2.4,3.4 c -2.3,-1.7 -4.7,-2.7 -7,-2.7 -2.7,0 -4.2,1.4 -4.2,3.1 v 0.1 c 0,2 1.2,2.9 6.2,4.1 5.5,1.3 8.3,3.3 8.3,7.6 v 0.1 c 0,4.8 -3.8,7.7 -9.2,7.7 -4.1,0 -7.9,-1.4 -11,-4.1 z m 26.3,-9.1 c 0,-7.4 5.5,-13.4 13.3,-13.4 4.8,0 7.7,1.7 10.2,4 l -2.9,3.4 c -2.1,-1.9 -4.3,-3.2 -7.3,-3.2 -4.9,0 -8.5,4 -8.5,9.1 0,5.1 3.6,9.2 8.5,9.2 3.2,0 5.2,-1.3 7.4,-3.3 l 2.9,3 c -2.7,2.8 -5.7,4.6 -10.5,4.6 -7.5,-0.1 -13.1,-6 -13.1,-13.4 z m 39.7,-13.2 h 4.2 l 11.4,26 h -4.8 l -2.6,-6.2 h -12.2 l -2.7,6.2 H 200 Z m 6.5,15.8 -4.5,-10.3 -4.4,10.3 z m 15.6,-15.6 h 4.5 v 21.7 h 13.6 v 4.1 h -18.1 z m 24.9,0 h 19.2 v 4.1 H 263 v 6.7 h 13 V 42 h -13 v 6.9 h 14.8 V 53 h -19.4 z"
+ id="path4" />
+ </g>
+</svg>
--- /dev/null
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 181.42 22.24">
+ <defs>
+ <style type="text/css">
+ .cls-1{fill:#d50c2d}
+ </style>
+ </defs>
+ <title>
+ Element 1
+ </title>
+ <g id="Ebene_2">
+ <path class="cls-1" d="M174.05,14.12a10.22,10.22,0,0,0,4.53-2l0,0a6.15,6.15,0,0,0,1.68-4.78,7.71,7.71,0,0,0-1.14-4.06A6.47,6.47,0,0,0,173.84.09l-1.09,0L170.2,0,158.66,0c-.7,0-1,.29-1,1V21.22c0,.7.29,1,1,1h3c.7,0,1-.29,1-1v-6.7h3.67a3.48,3.48,0,0,1,2.17.91l5.82,5.85a3.08,3.08,0,0,0,2,.92h4.47c.7,0,.87-.41.38-.91Zm-.76-4.3H162.64V4.72h10.65a2.13,2.13,0,0,1,1.87,2.15v.79A2.14,2.14,0,0,1,173.29,9.82Z"/>
+ <path class="cls-1" d="M153,17.52H136.47V13.35h13.19c.7,0,1-.29,1-1V9.92c0-.7-.29-1-1-1h-13.2V4.76H153c.7,0,1-.29,1-1V1c0-.7-.29-1-1-1H132.38c-.7,0-1,.29-1,1V21.24c0,.7.29,1,1,1H153c.7,0,1-.29,1-1V18.51C154,17.81,153.67,17.52,153,17.52Z"/>
+ <path class="cls-1" d="M127.73,7.3a7.25,7.25,0,0,0-1.13-4A6.61,6.61,0,0,0,121.24,0L106.08,0c-.71,0-1,.29-1,1V21.22c0,.7.29,1,1,1h3.26c.7,0,1-.28,1-1V4.73l8.78,0c1.87,0,3.69,1.24,3.69,3.11V21.24c0,.7.29,1,1,1h2.95c.71,0,1-.29,1-1Z"/>
+ <path class="cls-1" d="M100.47,17.39l-14.25,0L100.5,4.84a2.57,2.57,0,0,0,1-1.84V1c0-.7-.3-1-1-1H79.83c-.7,0-1,.29-1,1V3.77c0,.7.29,1,1,1H93.08L79.79,17.24a2.62,2.62,0,0,0-1,1.84v2.17c0,.7.29,1,1,1l20.65,0c.7,0,1-.29,1-1V18.38C101.46,17.68,101.17,17.39,100.47,17.39Z"/>
+ <path class="cls-1" d="M74.19,0H53.55c-.71,0-1,.28-1,1V3.76c0,.7.28,1,1,1h7.78V21.24c0,.7.29,1,1,1h3.3c.7,0,1-.29,1-1V4.75h7.57c.7,0,1-.29,1-1V1C75.18.32,74.89,0,74.19,0Z"/>
+ <path class="cls-1" d="M47.91,17.52H31.41V13.35H44.6c.7,0,1-.29,1-1V9.92c0-.7-.28-1-1-1H31.41V4.76h16.5c.7,0,1-.29,1-1V1c0-.7-.29-1-1-1H27.33c-.7,0-1,.29-1,1V21.24c0,.7.29,1,1,1H47.91c.7,0,1-.29,1-1V18.51C48.9,17.81,48.61,17.52,47.91,17.52Z"/>
+ <path class="cls-1" d="M21.63,0H18.52c-.7,0-1,.29-1,1V8.87H5.13V1c0-.7-.29-1-1-1H1C.29,0,0,.29,0,1V21.25c0,.71.29,1,1,1H4.13c.7,0,1-.28,1-1v-8h12.4v8c0,.7.29,1,1,1h3.11c.7,0,1-.29,1-1V1C22.62.32,22.33,0,21.63,0Z"/>
+ </g>
+</svg>
--- /dev/null
+{% extends "../base.html" %}
+
+{% block title %}{{ _("Cloud") }}{% end block %}
+
+{% block container %}
+ <section class="hero is-info">
+ <div class="hero-body">
+ <div class="container">
+ <nav class="breadcrumb" aria-label="breadcrumbs">
+ <ul>
+ <li>
+ <a href="/">Home</a>
+ </li>
+ <li>
+ <a href="/downloads">Downloads</a>
+ </li>
+ <li class="is-active">
+ <a href="#" aria-current="page">Cloud</a>
+ </li>
+ </ul>
+ </nav>
+
+ <h1 class="title">
+ {{ _("Cloud") }}
+ </h1>
+
+ <p class="subtitle">
+ {{ _("Explore IPFire In The Cloud") }}
+ </p>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="container">
+ <div class="block">
+ <div class="content is-size-5">
+ <p>
+ Unlock the flexibility of IPFire in the cloud by choosing from our
+ trusted cloud service providers.
+ These partners offer seamless integration and optimal performance for
+ hosting IPFire, ensuring robust network security in virtual environments.
+ </p>
+
+ <p>
+ Whether you're a small business, enterprise, or individual user, find
+ the right cloud provider to suit your needs.
+ Enhance your cybersecurity measures by deploying IPFire in the cloud
+ with one of our reliable partners.
+ </p>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="container">
+ <div class="columns is-multiline is-centered is-vcentered">
+ <div class="column is-one-third">
+ <div class="notification">
+ <figure class="image is-1by1">
+ <img src="{{ static_url("img/downloads/cloud/aws.svg") }}">
+ </figure>
+
+ <div class="block">
+ <div class="columns">
+ <div class="column">
+ <a class="button is-info is-fullwidth" href="https://aws.amazon.com/marketplace/pp/prodview-opiegephkjalm">
+ {{ _("ARM64") }}
+ </a>
+ </div>
+
+ <div class="column">
+ <a class="button is-info is-fullwidth" href="https://aws.amazon.com/marketplace/pp/B07HYRD4FX">
+ {{ _("x86") }}
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div class="block">
+ <a class="button is-white is-fullwidth" href="/docs/installation/aws">
+ {{ _("Documentation") }}
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div class="column is-one-third">
+ <div class="notification">
+ <figure class="image is-1by1">
+ <img src="{{ static_url("img/downloads/cloud/exoscale.svg") }}">
+ </figure>
+
+ <div class="block">
+ <a class="button is-info is-fullwidth" href="https://www.exoscale.com/marketplace/listing/lwl-ipfire-open-source-firewall-payg/">
+ {{ _("Go To Exoscale") }}
+ </a>
+ </div>
+
+ <div class="block">
+ <a class="button is-white is-fullwidth" href="/docs/installation/exoscale">
+ {{ _("Documentation") }}
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div class="column is-one-third">
+ <div class="notification">
+ <figure class="image is-1by1">
+ <img src="{{ static_url("img/downloads/cloud/hetzner.svg") }}">
+ </figure>
+
+ <div class="block">
+ <a class="button is-white is-fullwidth" href="/docs/installation/hetzner-cloud">
+ {{ _("Documentation") }}
+ </a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="container">
+ <div class="columns is-centered">
+ <div class="column is-two-thirds">
+ <div class="block">
+ <h4 class="title is-4">Why Choose IPFire in the Cloud?</h4>
+
+ <ul>
+ <li>
+ <strong>Scalability:</strong>
+ Easily scale your network security infrastructure as your business grows.
+ </li>
+
+ <li>
+ <strong>Flexibility:</strong>
+ Enjoy the flexibility of cloud deployment with the robust security of IPFire.
+ </li>
+
+ <li>
+ <strong>Performance:</strong>
+ Leverage the high-performance capabilities of leading cloud providers for optimal security.
+ </li>
+ </ul>
+ </div>
+
+ <div class="block">
+ <h4 class="title is-4">Getting Started</h4>
+
+ <div class="content">
+ <p>
+ Explore the offerings of our featured cloud providers and select the one
+ that aligns with your requirements. Follow the integration guides and
+ documentation for a smooth deployment experience.
+ </p>
+
+ <p>
+ Secure your digital assets in the cloud with IPFire!
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+{% end block %}
</nav>
<h1 class="title">
- {{ _("Download %s") % release }}
+ {{ release }}
</h1>
<h6 class="subtitle">
{{ _("Released %s") % locale.format_date(release.published, relative=True, shorter=True) }}
-
- {% if release.blog %}
- •
- <a href="/blog/{{ release.blog.slug }}">{{ _("Release Notes") }}</a>
- {% end %}
</h6>
- </div>
- </div>
- </section>
- <section class="section">
- <div class="container">
- <div class="tile is-ancestor">
- {% for arch in release.arches %}
- <div class="tile is-parent">
- <div class="tile is-child notification">
- <h4 class="title is-4">{{ arch }}</h4>
+ <div class="columns is-multiline">
+ {% for arch in release.arches %}
+ <div class="column is-half is-one-quarter-widescreen is-one-fifth-fullhd">
+ <div class="block p-5">
+ <h5 class="title is-5">{{ arch }}</h5>
- <ul>
- {% for file in release.get_files_by_arch(arch) %}
- <li>
- <a class="download-splash" href="{{ file.url }}">
- <span class="icon-text">
- <span class="icon">
- <i class="fas fa-download"></i>
+ <ul>
+ {% for file in release.get_files_by_arch(arch) %}
+ <li>
+ <a class="download-splash" href="{{ file.url }}">
+ <span class="icon-text">
+ <span class="icon">
+ <i class="fas fa-download"></i>
+ </span>
+ <span>
+ {{ _(file.desc) }}
+ ({{ format_size(file.size) }})
+ </span>
</span>
- <span>
- {{ _(file.desc) }}
- ({{ format_size(file.size) }})
- </span>
- </span>
- </a>
- </li>
- {% end %}
- </ul>
+ </a>
+ </li>
+ {% end %}
+ </ul>
+ </div>
</div>
- </div>
- {% end %}
+ {% end %}
+ </div>
</div>
</div>
</section>
- <section class="section">
+ <section class="has-text-white has-background-info">
<div class="container">
- <div class="notification is-lwl p-5">
- <div class="block">
- <h3 class="title is-3">{{ _("Running IPFire in the Cloud?") }}</h3>
+ <p class="has-text-centered px-2 py-1">
+ {{ _("Deploying IPFire In The Cloud?") }}
- <p>
- {{ _("IPFire is now available in the Amazon Cloud.") }}
- {{ _("Create flexible firewall rules and use our Intrusion Detection System to protect your servers in the Cloud.") }}
- {{ _("Connect to them securely using our VPN technologies.") }}
- </p>
- </div>
+ <a class="has-text-white has-text-weight-bold" href="/downloads/cloud">
+ {{ _("Read More") }}
+ </a>
+ </p>
+ </div>
+ </section>
- <div class="buttons">
- <a class="button is-white" href="https://aws.amazon.com/marketplace/pp/B07HYRD4FX">
- <span class="icon-text">
- <span class="icon">
- <i class="fab fa-aws"></i>
- </span>
- <span>{{ _("x86_64") }}</span>
- </span>
- </a>
+ {% if release.blog %}
+ <section class="section">
+ <div class="container">
+ <h3 class="title is-3">{{ _("Release Notes") }}</h3>
- <a class="button is-white" href="https://aws.amazon.com/marketplace/pp/prodview-opiegephkjalm">
- <span class="icon-text">
- <span class="icon">
- <i class="fab fa-aws"></i>
- </span>
- <span>{{ _("aarch64") }}</span>
- </span>
- </a>
+ <div class="content">
+ {% raw release.blog.html %}
</div>
</div>
- </div>
- </section>
-
- <!-- XXX Upgrade instructions -->
+ </section>
+ {% end %}
{% end block %}
{% block javascript %}
# Downloads
(r"/downloads", downloads.IndexHandler),
+ (r"/downloads/cloud", StaticHandler, { "template" : "../downloads/cloud.html" }),
(r"/downloads/mirrors", downloads.MirrorsHandler),
(r"/downloads/thank-you", downloads.ThankYouHandler),
(r"/downloads/([0-9a-z\-\.]+)", downloads.ReleaseHandler),