Git Product home page Git Product logo

google / vpn-libraries Goto Github PK

View Code? Open in Web Editor NEW
516.0 45.0 41.0 1.58 MB

The VPN client libraries provide a reference implementation for a secure, encrypted tunnel for connected devices. Full Public report: https://research.nccgroup.com/2021/04/08/public-report-vpn-by-google-one-technical-security-privacy-assessment/

Home Page: http://goo.gle/vpn-whitepaper

License: Apache License 2.0

Java 29.60% C++ 55.12% Objective-C 3.28% Objective-C++ 10.71% Starlark 0.20% Smarty 0.05% Go 0.97% C 0.03% Batchfile 0.04%
vpn google

vpn-libraries's Introduction

Google VPN

VPN client library that provides a secure, encrypted tunnel for connected devices

Introduction

Virtual Private Networks (VPNs) are an important tool for users that want to add a layer of security and privacy to their online activity. It is important for users to be able to trust that their VPN is implemented with the right encryption technology and with sound security and privacy. To that end, Google provides a reference, open source implementation for the VPN used in VPN by Google One.

The VPN libraries in this repo are currently adopted by the Google One Android App as of October 2020, the Google One iOS App as of February 2022, and the Google One macOS and Windows App as of December 2022.

Current status

The VPN client library is currently available for Android and iOS, as well as for macOS and Windows clients.

Important considerations: The source code in its current form may not be buildable and is meant as a reference implementation that is not intended for direct adoption into other client applications given the dependencies that exist with other parts of the system. While the team that maintains the project at Google made a best effort to ensure parity between the open source library and the version implemented across various clients, we cannot offer explicit guarantees

Learn more

You can learn more about the implementation of the Google VPN libraries by visiting https://one.google.com/about/vpn

Community contributions

At this time the project is not accepting community contributions, however, if you find a security issue/vulnerability, please report it by going to https://goo.gl/vulnz to include it in our Vulnerability Reward Program.

vpn-libraries's People

Contributors

mr-salmo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vpn-libraries's Issues

Feature Request/Question - Other platforms

Hi there, I love to see that this project has been open sourced, I think it's great for transparency

Are there any plans to provide a client for use on Windows/Linux? Or instructions to allow customers to connect using another open source VPN client?

One VPN not starting after device reboot

Having One VPN is working fine on my Pixel 6 / Android 12, but when I reboot the device, the VPN is not automatically connected, and the "Block internet if VPN disconnects" feature is not working as well because I guess the app is not fired correctly on boot.

Other thing, why we cannot set the One VPN to "Always ON":

Screenshot_20211210-101318

Flutter crash, Router usage, VPN selection - Feedback / Suggestions.

Error Code in terminal: Unable to create FlutterView; no MTLDevice or MTLCommandQueue

The google VPN is not compatible with Open Core Legacy Patcher -- tens of thousands of mac users who use this software to keep their macs updated will not work with the google VPN due to its usage of flutter.

I recommend google investigates this and improves the codebase for compatibility, as flutter is not the best usage for VPNs on mac, all competitors (NORD, IVPN, Proton, Cyberghost etc) their VPN services all function correctly, therefore this makes googles VPN obsolete vs competition.

I would position this as a huge priority as users with virtual machines will run into this issue aswell due to flutter.
Please improve MAC OSX Compatibility.

Another work around (and additional suggestion) is to allow binding of the VPN service to routers; IE Asus routers (VPN Fusion) this in turn would be a great workaround as we can then assign this to devices.

Additionally google should open up this VPN service to allow binding for different countries; to not allow this when its been standard in the VPN industry for decades is a priority to add in.

[iOS] VPN Connection Stability - VPN Drops & Reconnects Multiple Times per Hour

The Google One VPN on my iOS device drops its connection & rejoins multiple times per hour, seemingly without cause. It does not matter whether I am on WiFi or cellular, it seems to happen at indeterminate intervals. It is not related to access point (AP) or cellular tower hopping, as there is only one AP on my home network. Sometimes the connection drops and does not rejoin. When this happens I have to navigate into Settings and then disable and reenable the VPN. VPN on Demand is enabled in Settings.

My macOS device does not experience this issue, only my iPhone.

Device: iPhone 13 mini
iOS version: 17.2.1
Model: MNF93LL/A
App version: 1.66

VPN

Google VPN Config doc.

[iOS] AirDrop to macOS doesn't work when VPN is enabled

With VPN enabled, iOS device cannot AirDrop to Mac. The Mac is able to discover the iOS device, but the iOS device cannot discover the Mac. Disabling the VPN makes the Mac device discoverable.

Device: iPhone 13 mini
iOS version: 17.2.1
Model: MNF93LL/A
App version: 1.66

Service

Soooooooo I locked my sim with metro if anyone can help id rlly appreciate it cuz I rlly don't wanna go in last time I was crying my eyes out cuz the abusing guy i was wit smashed my phone so if any one could it would mean alot
Lexi

[BUG] Google VPN BREAKING Windows 11 DNS assignment settings.

This VPN BREAKS DNS functionality in windows 11, it locks the system DNS to google DNS servers under the network settings.

  1. Settings -> Network & Internet -> Ethernet
    Leave this open, and set on Automatic DHCP.
  2. Connect to Google VPN, it will change your DNS setting to manual google DNS servers.
  3. Disconnect, and keep an eye on the settings window we left opened, it will stay stuck to the google DNS settings, not the automatic DHCP, breaking ANY dns functionality of your computer.

Even after a restart, closing the google VPN app, or disconnecting the DNS settings are stuck on a manual assignment.
This is unacceptable. In order to use the google one vpn, one needs to manually go into network settings and toggle back on the auto assignment.

This is a serious issue, it happens on all windows 11 computers ive tested.
MAJOR ISSUE. Please address when an ETA to fix this will be done.

Why is this a huge issue? If you use TLS or Encrypted DNS the google 8.8.8.8 will break this configuration.
I use encrypted dns with ECH, with google none of this is available putting my security at risk when the vpn is off.
If you have custom dns for work, firewalls, or family safety/filtering - again the vpn will break it.
This was causing a huge headache for me but i discovered the google VPN has a huge bug with not reseting DNS back into the state it was before turning on.

Best solution is to go into network settings on windows 11 and set it back to what you used on the IPV4/V6 previously.
Note this doesnt do this on mac, only windows.

connection error on pc

My internet region is Taiwan. Downloaded the google one vpn on the PC side, logged in the account, clicked to use vpn but he returned not connected to the Internet, after you restore the network connection, the vpn will reconnect.

Attach my ip in Taiwan and a screenshot of the normal browsing website

image

image

image

PLEASE open-source Bridge Datapath part

Nowadays, Google One VPN use bridge as datapath protocol. But this repo only contains ipsec datapath. No one knows the structure of the data packets except Google employees, which poses a threat to the transparency of this repository.

To ensure that all security experts can audit this code and protect user safety, please open-source this code.

Linux support?

Is a Linux client in the works? It's ironic Linux isn't currently supported. Is it also possible to provide authentication details for OpenVPN clients that already ship with most Linux Desktop environments?

Improvements and bugs.

Error Code in terminal: Unable to create FlutterView; no MTLDevice or MTLCommandQueue

The google VPN is not compatible with Open Core Legacy Patcher -- tens of thousands of mac users who use this software to keep their macs updated will not work with the google VPN due to its usage of flutter.

I recommend google investigates this and improves the codebase for compatibility, as flutter is not the best usage for VPNs on mac, all competitors (NORD, IVPN, Proton, Cyberghost etc) their VPN services all function correctly, therefore this makes googles VPN obsolete vs competition.

I would position this as a huge priority as users with virtual machines will run into this issue aswell due to flutter.
Please improve MAC OSX Compatibility.

Another work around (and additional suggestion) is to allow binding of the VPN service to routers; IE Asus routers (VPN Fusion) this in turn would be a great workaround as we can then assign this to devices.

Additionally google should open up this VPN service to allow binding for different countries; to not allow this when its been standard in the VPN industry for decades is a priority to add in.

Google vpn for Ubuntu

Hello how can I install the VPN on my Ubuntu desktop? Is there an app already working or a workaround for that?

BSOD on Windows 10

Using the latest Windows build from Google One whenever I turn on the VPN I get a BSOD.

It may be related to the fact that I'm using USB Tethering from my Pixel 3a as my internet (which is uses the Hyper-V vEthernet adapter).

The stop code I get is INVALID_MDL_RANGE, I would send a minidump but I think they're corrupted because they fail to open in Visual Studio.

System info:

Processor	AMD Ryzen 5 2400G with Radeon Vega Graphics       3.60 GHz
Installed RAM	32.0 GB
Edition	Windows 10 Pro
Version	21H2
Installed on	‎7/‎7/‎2020
OS build	19044.2788
Experience	Windows Feature Experience Pack 120.2212.3920.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.