GithubHelp home page GithubHelp logo

ewlsh / mozwire Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nilsirl/mozwire

0.0 0.0 0.0 60 KB

MozillaVPN is an unofficial configuration manager giving Linux, macOS users (among others), access to MozillaVPN.

License: GNU General Public License v3.0

Rust 100.00%

mozwire's Introduction

MozWire

Crates.io GitHub All Releases Crates.io GitHub Workflow Status (branch)

MozWire is an unofficial cross-platform client for MozillaVPN, finally giving Linux, macOS, FreeBSD, OpenBSD and others (all platforms supporting the WireGuard protocol) users access to this VPN provider. MozWire also supports Windows.

Features

  • Support for multihop servers (Not available on official clients)
  • Select individual servers (as opposed to being limited to choosing cities) (Not available on official clients)
  • Select custom remote port, bypassing firewalls (Not available on official clients)
  • Support for other operating systems (Not available on official clients)
  • Use "native" WireGuard clients with more customizability (Not available on official clients)
  • Tunnel only IPv6 traffic (Not available on official clients)
  • Works with socks5 multihop

Installation

Using pre-built binaries from the CI (Linux, macOS and Windows) (Recommended)

Linux, macOS and Windows binaries are available on the release page. These binaries are built by GitHub Actions CI.

Using the AUR for Arch Linux users

The package name is mozwire and can be installed using your favourite AUR helper:

yay -S mozwire

Using Nix

mozwire is now packaged in nixpkgs, make sure your nixpkgs-unstable channel is up to date (nix-channel --update nixpkgs-unstable), then run

nix-env -i MozWire

Using cargo install

cargo install mozwire

From git

cargo install --git https://github.com/NilsIrl/MozWire.git --branch trunk

Building

git clone https://github.com/NilsIrl/MozWire.git
cd MozWire
cargo build

Usage

mozwire relay save to generate a WireGuard configuration. --help to get help on a subcommand, e.g. mozwire relay --help, mozwire relay save --help.

Examples

Output configuration for all servers into the /etc/wireguard directory.

mozwire relay save -o /etc/wireguard -n 0

Use MOZ_TOKEN to "cache" the token instead of specifying it each time with --token or log in each time.

export MOZ_TOKEN=$(mozwire --print-token) # save the token in the MOZ_TOKEN environment variable
mozwire .... # mozwire commands can be run without having to log in

asciicast

mozwire 0.4.0
Nils <[email protected]>
MozillaVPN wireguard configuration manager

USAGE:
    mozwire [FLAGS] [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help           Prints help information
        --no-browser     By default, mozwire will open the login page in a browser, this option prevents mozwire a browser page from being opened.
        --print-token    Print the token used to query the Mozilla API, so that it can be reused with --token, without having to sign in each time.
    -V, --version        Prints version information

OPTIONS:
        --token <token>    The token used to communicate with the Mozilla API. If unspecified, a web page will be opened to retrieve the token. the MOZ_TOKEN environment variable can also be used instead. [env:
                           MOZ_TOKEN=]

SUBCOMMANDS:
    device    Add, remove and list devices. To connect to MozillaVPN, a device needs to be on the list.
    help      Prints this message or the help of the given subcommand(s)
    relay     List available relays (VPN Servers) and save WireGuard configurations for these.

To query MozillaVPN, mozwire requires a token, specified with --token. If it is
left unspecified, mozwire will generate a token by opening a login page, the
token generated can be printed using --print-token, so that it can be reused.
To generate a WireGuard configuration use `mozwire relay save`.

Contact

[email protected]

License and Copyright

MozWire is licensed under the GNU GENERAL PUBLIC LICENSE Version 3. I am willing to relicense it.

Copyright © 2020 Nils André

mozwire's People

Contributors

nilsirl avatar siraben avatar agr0chal avatar johncmoon avatar

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.