summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amber/layouts/_footer.html.haml2
-rw-r--r--amber/layouts/_masthead.html.haml25
-rw-r--r--amber/layouts/default.html.haml41
-rw-r--r--amber/menu.txt1
-rw-r--r--pages/about-us/news/2018/bionic-packages.md20
-rw-r--r--pages/about-us/news/2019/bit-by-bitmask.md27
-rw-r--r--pages/about-us/news/2019/en.haml2
-rw-r--r--pages/about-us/news/2019/google-summer-of-code-2019.md16
-rw-r--r--pages/assets/_leap.scss82
-rw-r--r--pages/assets/style.scss51
-rw-r--r--pages/docs/get-involved/project-ideas.md85
-rw-r--r--pages/docs/platform/tutorials/quick-start.md4
-rw-r--r--pages/img/pages/GSoC-icon-192.pngbin0 -> 5636 bytes
-rw-r--r--pages/img/pages/bionic.pngbin0 -> 315570 bytes
14 files changed, 208 insertions, 148 deletions
diff --git a/amber/layouts/_footer.html.haml b/amber/layouts/_footer.html.haml
index e90e43d..4a6aa39 100644
--- a/amber/layouts/_footer.html.haml
+++ b/amber/layouts/_footer.html.haml
@@ -4,4 +4,4 @@
%a{:rel => "license", :href => "https://creativecommons.org/licenses/by-sa/3.0/"}<
%img{:alt => "Creative Commons License", :style => "border-width:0; vertical-align: middle", :src => "/img/by-sa-3.0-80x15.png"}
&nbsp;
- <span>(c) 2012-2018 LEAP Encryption Access Project</span>
+ <span>(c) 2012-2019 LEAP Encryption Access Project</span>
diff --git a/amber/layouts/_masthead.html.haml b/amber/layouts/_masthead.html.haml
index f37d6e9..af86d84 100644
--- a/amber/layouts/_masthead.html.haml
+++ b/amber/layouts/_masthead.html.haml
@@ -1,17 +1,8 @@
-.masthead-inner
- .container
- .row
- -# if has_navigation?
- .col-sm-3.col-md-2
- .col-sm-9.col-md-10
- %h1 LEAP Encryption Access Project
- %ul.list-unstyled#top-menu
- - top_navigation_items(include_home:true) do |item|
- %li{:class => [item[:class], 'tab'].join(' ')}
- %a{:href => item[:href], :class => [item[:class], 'tab'].join(' ')}= item[:label]
- .col-sm-12.logo
- %h1 LEAP Encryption Access Project
- %ul.list-unstyled#top-menu
- - top_navigation_items(include_home:true) do |item|
- %li{:class => [item[:class], 'tab'].join(' ')}
- %a{:href => item[:href], :class => [item[:class], 'tab'].join(' ')}= item[:label]
+%header
+ %picture
+ %source{:media => "(min-width: 35.5em)", :srcset => "/img/leap180.png"}
+ %img{:alt => "LEAP logo", :src => "/img/leap128.png"}
+ %h1 LEAP Encryption Access Project
+ %nav.nav-menu{:role => "navigation"}
+ - top_navigation_items(include_home:true) do |item|
+ %a.nav-item{:href => item[:href], :class => item[:class]}= item[:label]
diff --git a/amber/layouts/default.html.haml b/amber/layouts/default.html.haml
index d252806..19172be 100644
--- a/amber/layouts/default.html.haml
+++ b/amber/layouts/default.html.haml
@@ -9,30 +9,27 @@
%link(rel="stylesheet" href="/assets/font-awesome/css/font-awesome.min.css")
= html_head_base
%body
- #wrap
- #masthead
- = render 'layouts/masthead'
- #main.container
- .row
- - if has_navigation?
- #sidebar.col-sm-4.col-md-3
- = render 'layouts/sidebar'
- .col-sm-8.col-md-9
+ = render 'layouts/masthead'
+ #main.container
+ .row
+ - if has_navigation?
+ #sidebar.col-sm-4.col-md-3
+ = render 'layouts/sidebar'
+ .col-sm-8.col-md-9
+ .title-box
+ = yield :title
+ = render 'layouts/titlebox'
+ .content-box
+ - if translation_missing?
+ .alert.alert-info= t(:missing_translation)
+ = yield :content
+ - else
+ .col-sm-12
+ - unless @page.props.show_title === false
.title-box
= yield :title
- = render 'layouts/titlebox'
- .content-box
- - if translation_missing?
- .alert.alert-info= t(:missing_translation)
- = yield :content
- - else
- .col-sm-12
- - unless @page.props.show_title === false
- .title-box
- = yield :title
- .content-box
- = yield :content
-
+ .content-box
+ = yield :content
#footer
= render 'layouts/footer'
#background
diff --git a/amber/menu.txt b/amber/menu.txt
index 5cb38fc..4f27033 100644
--- a/amber/menu.txt
+++ b/amber/menu.txt
@@ -6,6 +6,7 @@ about-us
# people
contact
news
+ 2019
2018
2017
2016
diff --git a/pages/about-us/news/2018/bionic-packages.md b/pages/about-us/news/2018/bionic-packages.md
new file mode 100644
index 0000000..7d8e9c6
--- /dev/null
+++ b/pages/about-us/news/2018/bionic-packages.md
@@ -0,0 +1,20 @@
+@title = 'Maintenance release: Bionic packages and long term evolution'
+@author = 'kwadronaut'
+@posted_at = '2018-07-26'
+@more = true
+@preview_image = '/img/pages/bionic.png'
+
+
+Update from the coagulated brains in LEAP
+----------------------------------------------------------------------------------------------------
+
+Mid july we released packages as a maintanance release with support for Ubuntu 18.04 (Bionic). For install instructions check out https://dl.bitmask.net/linux/
+The bundles however have not been updated, our plan is to deprecate them and migrate to [Snap-packages](https://en.wikipedia.org/wiki/Snappy_\(package_manager\) ), which will take some time. As usual bug reports and feedback is very welcome.
+
+If you want to follow developments or experiment with those Snap packages, you can find an experimental one tailored for Riseup at [snapcraft](https://snapcraft.io/riseup-vpn), they've written a nice how-to as well: <https://riseup.net/betatest>
+
+We're expanding now as well and are building a Windows installer, it's working pretty smooth, but still lacks a good firewall, we're looking forward to the near future to announce this more broadly.
+
+* Code & Bugtracker: https://0xacab.org/leap
+* Mailinglist: leap-discuss@lists.riseup.net
+* Chat: ircs://irc.freenode.org/#leap if you don't have an irc client, you can use some gateway like [Matrix](https://about.riot.im/)
diff --git a/pages/about-us/news/2019/bit-by-bitmask.md b/pages/about-us/news/2019/bit-by-bitmask.md
new file mode 100644
index 0000000..1a9a139
--- /dev/null
+++ b/pages/about-us/news/2019/bit-by-bitmask.md
@@ -0,0 +1,27 @@
+@title = 'Bit by Bitmask: what we\'re up to and what we\'ve thrown overboard'
+@author = 'kwadronaut and some from kali'
+@posted_at = '2019-07-04'
+@more = true
+@preview_image = '/img/pages/toolbox.jpg'
+
+It's about time to fess up to our users: our idyllic ship that once sailed in the skies was a beautiful dream, but we all know that ships can't fly. We're now back to the basics, not just floating, but sailing. We've thrown e-mail and fat clients overboard, for now, and we're scraping rusty python 2 and Debian oldstable off our hull.
+
+What does this mean? We're focusing hard on VPN: in the coming months we want to include [Pluggable Transports](https://2019.www.torproject.org/docs/pluggable-transports.html.en) together with [Calyx](https://www.calyxinstitute.org/). The trimmed down desktop client is a little bit more than a systray icon who handles all the hard work of configuring your VPN. [RiseupVPN](https://riseup.net/en/vpn) *is* this, obviously with their fancy bird graphics and configuration for their gateways. Bitmask as you know it in Android continues to hum along, bugs get fixed, polishing done, new releases will come. Besides that, we're experimenting with a [containerized platform](https://0xacab.org/leap/container-platform), which will make it easier to run a provider while simultaneously we'll get rid of old dependencies.
+
+Dependencies like unmaintanable code: the javascript heavy Pixelated mail client. Or, because of the current providers engaging in planning, dropped authetnication, so we don't have to cater for authenticated VPN, something that might change in the future, but currently we can drop CouchDB out of our tech stack and don't have to maintain a complex UI. This frees up a lot of brain power and makes it easier to move faster.
+
+In short: Bitmask on your Android device, RiseupVPN to get you going on the desktop and LEAP, the platform when you want to start your own provider!
+
+Hacking?
+[RiseupVPN](https://0xacab.org/leap/riseup_vpn) is the /branded/ version of the minimal Go implementation of [Bitmask VPN](https://0xacab.org/leap/bitmask-vpn). It´s basically a wrapper around openvpn, with knowledge of what configuration files are expected to exist in a LEAP provider. The only user interface is a minimalistic systray icon that uses libappindicator.
+The bitmask helper: lives for Windows and macOS in the [Bitmask VPN](https://0xacab.org/leap/bitmask-vpn/tree/master/pkg/helper/) repository. It implements a long-lived helper that runs with administrative privileges, for launching OpenVPN and the firewall. In OSX it is run as a LaunchDaemon, and in Windows we use nssm to run this helper. It communicates with Bitmask VPN via a local http service.
+bitmask-root: for the snaps, in GNU/Linux we use a one-shot privileged helper that relies on policykit to elevate privileges without asking for password each time, instead of the long-lived helper that we use in osx and windows packages.
+
+* Code & Bugtracker: https://0xacab.org/leap
+* Android translations: https://www.transifex.com/otf/bitmask-android/dashboard/
+* Desktop translations: https://www.transifex.com/otf/bitmask/RiseupVPN/
+* Mailinglist: leap-discuss@lists.riseup.net
+* Chat: ircs://irc.freenode.org/#leap if you don't have an irc client, you can use a gateway like [Matrix](https://about.riot.im/)
+* ♥ donation: <https://leap.se/en/about-us/donate>
+
+
diff --git a/pages/about-us/news/2019/en.haml b/pages/about-us/news/2019/en.haml
new file mode 100644
index 0000000..cb248fe
--- /dev/null
+++ b/pages/about-us/news/2019/en.haml
@@ -0,0 +1,2 @@
+- @path_prefix = '2019'
+= child_summaries :order_by => :posted_at
diff --git a/pages/about-us/news/2019/google-summer-of-code-2019.md b/pages/about-us/news/2019/google-summer-of-code-2019.md
new file mode 100644
index 0000000..7408e59
--- /dev/null
+++ b/pages/about-us/news/2019/google-summer-of-code-2019.md
@@ -0,0 +1,16 @@
+@title = 'So long Google Summer of Code!'
+@author = 'kwadronaut'
+@posted_at = '2019-02-03'
+@more = true
+@preview_image = '/img/pages/GSoC-icon-192.png'
+
+We've enjoyed participating in the Google Summer of Code in the past and will probably do it again in the future. Alas, this year we will not participate in GSoC. Prioritizing ideas, mentoring students and being on top of the organizational aspects all requires time and energy that the current team would like to devote to our core pieces. Even with the talent that wants to dive into this project during their school breaks, time remains limited.
+
+However, this shouldn't hold anyone back to contribute in their own time! Our Windows firewall is advancing, snap packages get pushed almost monthly (tailored for Riseup at [snapcraft](https://snapcraft.io/riseup-vpn)), we're experimenting with [pluggable transports](https://www.pluggabletransports.info/)… input is welcome in many areas: from translations to code over documentation to general praise and feedback.
+
+* Code & Bugtracker: https://0xacab.org/leap
+* Android translations: https://www.transifex.com/otf/bitmask-android/dashboard/
+* Desktop translations: https://www.transifex.com/otf/bitmask/RiseupVPN/
+* Mailinglist: leap-discuss@lists.riseup.net
+* Chat: ircs://irc.freenode.org/#leap if you don't have an irc client, you can use some gateway like [Matrix](https://about.riot.im/)
+* ♥ donation: <https://leap.se/en/about-us/donate>
diff --git a/pages/assets/_leap.scss b/pages/assets/_leap.scss
index 7b961fe..866d79c 100644
--- a/pages/assets/_leap.scss
+++ b/pages/assets/_leap.scss
@@ -6,61 +6,44 @@ a:visited {
// MASTHEAD
//
-#masthead {
- width: 100%;
- margin: 0;
- background-color: $masthead-bg-color;
- border-bottom: $masthead-border;
-
- @include gradient-vertical(lighten($masthead-bg-color,8%),$masthead-bg-color);
- box-shadow: inset 0 0 8px 1px darken($masthead-bg-color, 8%);
- box-shadow-top: 0;
-
- .masthead-inner {
- height: $masthead-height;
- @include cutout-menu(
- $ul-id: top-menu,
- $active-bg: $cutout-color,
- $left-indent: $masthead-text-left-margin,
- $small-left-indent: $masthead-small-text-left-margin,
- $small-screen: $small-screen);
- @media (max-width: $small-screen) {
- height: $masthead-small-height;
+header {
+ grid-area: header;
+ padding: $header-padding;
+ background-color: $header-bg-color;
+ text-align: center;
+
+ @include gradient-vertical(lighten($header-bg-color,8%),$header-bg-color);
+ box-shadow: inset 0 0 8px 1px darken($header-bg-color, 8%);
+ box-shadow-top: 0;
+
+ > h1 {
+ color: $header-color;
+ font-weight: bold;
+ margin: $header-title-margin;
}
- }
-
- .logo {
- background: $masthead-bg;
- @media (max-width: $small-screen) {
- background: $masthead-small-bg;
- }
- }
-
- h1 {
- font-weight: bold;
- white-space: nowrap;
- margin: 0;
- color: $masthead-color;
+}
- line-height: $masthead-height;
- font-size: $masthead-text-size;
- padding-left: $masthead-text-left-margin - 2px;
+.nav-menu {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
@media (max-width: $small-screen) {
- line-height: $masthead-small-height;
- font-size: $masthead-small-text-size;
- padding-left: $masthead-small-text-left-margin - 2px;
+ flex-direction: $nav-small-direction;
}
- }
+}
- #top-menu a.tab {
+// If we don't add the "a" here, on hover styles won't be affected
+a.nav-item {
+ font-size: $nav-item-size;
+ padding: $nav-item-padding;
+ color: $nav-color;
+ background-color: $nav-bg-color;
font-weight: bold;
- color: white;
- background: rgba(0,0,0,0.5);
- &.active {
- color: black;
- }
- }
+}
+a.active {
+ background-color: $nav-color;
+ color: $nav-bg-color;
}
//
@@ -256,4 +239,5 @@ article.page-summary {
img.left {
float:left;
margin: 7px 14px 0px 0px;
-} \ No newline at end of file
+}
+
diff --git a/pages/assets/style.scss b/pages/assets/style.scss
index c3cade1..1e398a8 100644
--- a/pages/assets/style.scss
+++ b/pages/assets/style.scss
@@ -21,25 +21,34 @@ $link-visited-color: darken($link-color, 15%);
$background-color: #fff;
-$masthead-border-color: black;
-$masthead-border: 1px solid $masthead-border-color;
-$masthead-bg-color: #555;
-$masthead-color: #fff;
-
-$masthead-height: 128px;
-$masthead-bg: url(/img/leap180.png) 0px 50% no-repeat;
-$masthead-text-left-margin: 175px;
-$masthead-text-top-margin: 45px;
-$masthead-text-size: 36px;
-
-$masthead-small-height: 96px;
-$masthead-small-bg: url(/img/leap128.png) 0px 50% no-repeat;
-$masthead-small-text-left-margin: 96px;
-$masthead-small-text-top-margin: 20px;
-$masthead-small-text-size: 24px;
-
-//$tabs-small-size:
-//$tabs-small-padding:
+// Used for spacing between blocks
+$main-v-spacing: 1rem;
+
+//
+// HEADER VARIABLES
+//
+
+// Free one line at the top of the page
+$header-padding: $main-v-spacing 0 0 0;
+$header-bg-color: #555;
+$header-color: #fff;
+$header-title-margin: 1rem 0;
+$header-title-size: inherit;
+
+//
+// NAVIGATION MENU VARIABLES
+//
+
+$nav-color: $header-color;
+$nav-bg-color: $header-bg-color;
+$nav-item-size: 1.5rem;
+$nav-item-padding: 0.6rem 1.2rem;
+// On smaller screen, choose between horizontal (row) and vertical (column) menu
+$nav-small-direction: column;
+
+//
+// OTHER VARIABLES
+//
$cutout-color: darken($background-color,11%);
$background-color-start: darken($background-color,17%);
@@ -47,7 +56,7 @@ $background-color-start: darken($background-color,17%);
$side-column-bg-color: #d0d0d0; // rgba(0,0,0,0.05); // #e3e3e3
$side-column-border-color: #aaa; // rgba(0,0,0,0.2);
$side-column-active-bg-color: #000;
-$side-column-active-color: $masthead_color;
+$side-column-active-color: $header-color;
$side-column-text-color: #000;
$side-column-indent: 15px;
@@ -55,4 +64,4 @@ $well-bg-color: #fff;
$well-border-color: #555;
@import "mixins";
-@import "leap"; \ No newline at end of file
+@import "leap";
diff --git a/pages/docs/get-involved/project-ideas.md b/pages/docs/get-involved/project-ideas.md
index 3816b54..2b6349e 100644
--- a/pages/docs/get-involved/project-ideas.md
+++ b/pages/docs/get-involved/project-ideas.md
@@ -12,6 +12,55 @@ If you have your own ideas for projects, we would love to hear about it!
Bitmask Client Application
=======================================
+Android
+----------------------------------------------
+
+For all items tagged as "Suitable for GSoC", please contact *cyberta*.
+
+### Suitable for GSoC: Improve logging in Log view.
+
+Add a search for strings and include color highlighting for different log types.
+
+### Suitable for GSoC: Review and improve the right-to-left layouts.
+
+Improve User Experience for rigth-to-left languages like Arabic, Farsi and Hebrew.
+
+### Suitable for GSoC: Improve accessibility.
+
+Review accessibility and fix missing content descriptions
+
+### Suitable for GSoC: Research on GPS spoofing.
+
+* Research and document mechanisms based on other open source location spoofing apps
+* Implement a prototype location provider that is capable to spoof the real location of a user
+* Research, document and implement prototypically the communication/interaction between the location provider and the VPN
+(Location provider shall be used if VPN is up and the corresponding setting was enenabled in Bitmask)
+
+### Dynamic OpenVPN configuration
+
+Currently the Android app chooses which VPN gateway to connect to based on the nearest timezones by time offset and establishes a configuration for connecting to it by a biased selection of options (ports, protocols, etc) from the set declared by the provider through the API. For cases where a gateway is unavailable or a network is restricting traffic that our configuration matches (e.g. UDP out to port 443), being able to attempt different configurations or gateways would help finding a configuration that worked.
+
+* Contact: cyberta
+* Difficulty: Easy
+* Skills: Android programming
+
+### Ensure OpenVPN fails closed
+
+For enhanced security, we would like the VPN on Android to have the option of blocking all network traffic if the VPN dies or when it has not yet established a connection. Network traffic would be restored when the user manually turns off the VPN or the VPN connection is restored.
+
+We've implemented the blocking VPN as a solution for non-rooted devices and we support Android's (since A. Oreo / A. 8) Blocking-VPN System setting. But the blocking VPN option does not play well with the setup of shapeshifter-dispatcher yet: shapeshifter-dispatcher needs to connect before OpenVPN, but Android blocks traffic until OpenVPN is up. Solutions for that problem needs to be investigated. Also, for pre-Andoid 8 *rooted* devices we could implement an iptables-based solution.
+
+* Difficulty: Easy
+* Skills: Android programming
+
+## Improved UX
+
+There are several areas where the user experience could be improved, particulary where it comes to our attempts to block unencrypted traffic.
+
+* Priority: Medium
+* Difficulty: Depends
+* Skills: Android programming
+
Generic
---------------------------------------
@@ -201,42 +250,6 @@ We have support for Windows 32bits, 64bits seems to be able to use that, except
* Difficulty: Either hard or really easy.
* Skills: Windows programming
-Android
-----------------------------------------------
-
-### Customization and branding for selected VPN providers.
-
-Some providers might want to customize the look and feel of the android app, so that they can publish an application that is pre-configured to connect to their gateways. In order to do this, we need to create a build setup that allows customiziation for different providers. From the current application, the provider selection and onboarding steps also need to be removed. An specific donation option would also be needed.
-
-* Contact: cyberta, meskio
-* Difficulty: easy
-* Priority: medium
-* Skills: Android programming
-
-### Dynamic OpenVPN configuration
-
-Currently the Android app chooses which VPN gateway to connect to based on the least difference of timezones and establishes a configuration for connecting to it by a biased selection of options (port, proto, etc) from the set declared by the provider through the API. For cases where a gateway is unavailable or a network is restricting traffic that our configuration matches (e.g. UDP out to port 443), being able to attempt different configurations or gateways would help finding a configuration that worked.
-
-* Contact: cyberta
-* Difficulty: Easy
-* Skills: Android programming
-
-### Ensure OpenVPN fails closed
-
-For enhanced security, we would like the VPN on android to have the option of blocking all network traffic if the VPN dies or when it has not yet established a connection. Network traffic would be restored when the user manually turns off the VPN or the VPN connection is restored. Currently, there is no direct way to do this with Android, but we have a few ideas for tackling this problem.
-
-* Contact: parmegv
-* Difficulty: Easy
-* Skills: Android programming
-
-## Improved UX
-
-There are several areas where the user experience could be improved, particulary where it comes to our attempts to block unencrypted traffic.
-
-* Contact: parmegv
-* Priority: Medium
-* Difficulty: Depends
-* Skills: Android programming
Installer and Build Process
----------------------------------------------
diff --git a/pages/docs/platform/tutorials/quick-start.md b/pages/docs/platform/tutorials/quick-start.md
index d50fa8c..9187a2e 100644
--- a/pages/docs/platform/tutorials/quick-start.md
+++ b/pages/docs/platform/tutorials/quick-start.md
@@ -41,11 +41,11 @@ Install core prerequisites on your workstation.
*Debian Unstable (sid)*
- workstation$ sudo apt-get install git rsync openssh-client openssl zlib1g-dev
+ workstation$ sudo apt-get install git rsync netcat openssh-client openssl zlib1g-dev
*Other Debian & Ubuntu*
- workstation$ sudo apt-get install git ruby ruby-dev rsync openssh-client openssl rake make bzip2 zlib1g-dev
+ workstation$ sudo apt-get install git netcat openssh-client openssl ruby ruby-dev rsync rake make bzip2 zlib1g-dev
*Mac OS*
diff --git a/pages/img/pages/GSoC-icon-192.png b/pages/img/pages/GSoC-icon-192.png
new file mode 100644
index 0000000..f2afbde
--- /dev/null
+++ b/pages/img/pages/GSoC-icon-192.png
Binary files differ
diff --git a/pages/img/pages/bionic.png b/pages/img/pages/bionic.png
new file mode 100644
index 0000000..842019a
--- /dev/null
+++ b/pages/img/pages/bionic.png
Binary files differ