summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoscar <moscar@riseup.net>2020-02-19 19:24:16 -0800
committermicah <micah@riseup.net>2020-02-19 19:24:16 -0800
commitce12a3d029ae09b2c3723833701112d40796b134 (patch)
tree95ca074f5ea9704d8ae8203b15cd20d468b7edf0
parenta6bd84ce261bf377ffa36764f0367704b9bda88b (diff)
Update project ideas for GSoC
-rw-r--r--pages/docs/get-involved/project-ideas.md85
1 files changed, 49 insertions, 36 deletions
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
----------------------------------------------