wgtunnel/README.md

103 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2023-05-24 01:33:20 -04:00
<h1 align="center">
WG Tunnel
</h1>
2023-09-26 12:58:37 -04:00
<div align="center">
2023-05-24 01:33:20 -04:00
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
2023-07-09 19:57:07 -04:00
[![Discord Chat](https://img.shields.io/discord/1108285024631001111.svg)](https://discord.gg/rbRRNh6H7V)
2023-05-24 01:33:20 -04:00
2023-09-26 12:58:37 -04:00
</div>
2023-05-24 01:33:20 -04:00
2023-09-26 12:58:37 -04:00
<div align="center">
2023-05-24 01:33:20 -04:00
[![Google Play](https://img.shields.io/badge/Google_Play-414141?style=for-the-badge&logo=google-play&logoColor=white)](https://play.google.com/store/apps/details?id=com.zaneschepke.wireguardautotunnel)
2023-09-26 12:58:37 -04:00
[![F-Droid](https://img.shields.io/static/v1?style=for-the-badge&message=F-Droid&color=1976D2&logo=F-Droid&logoColor=FFFFFF&label=)](https://f-droid.org/packages/com.zaneschepke.wireguardautotunnel/)
2023-05-24 01:33:20 -04:00
2023-09-26 12:58:37 -04:00
</div>
2023-07-27 17:19:25 -04:00
2023-09-26 12:58:37 -04:00
<div align="left">
2023-05-24 01:33:20 -04:00
This is an alternative Android Application for [WireGuard](https://www.wireguard.com/) with added
features. Built using the [wireguard-android](https://github.com/WireGuard/wireguard-android)
library and [Jetpack Compose](https://developer.android.com/jetpack/compose), this application was
inspired by the official [WireGuard Android](https://github.com/WireGuard/wireguard-android) app.
2023-05-24 01:33:20 -04:00
2023-09-26 12:58:37 -04:00
</div>
2023-05-24 01:33:20 -04:00
2023-09-26 12:58:37 -04:00
<div align="center">
2023-05-24 01:33:20 -04:00
## Screenshots
<p float="center">
2024-01-01 11:53:04 -05:00
<img label="Main" style="padding-right:25px" src="fastlane/metadata/android/en-US/images/phoneScreenshots/main_screen.png" width="200" />
<img label="Config" style="padding-left:25px" src="fastlane/metadata/android/en-US/images/phoneScreenshots/config_screen.png" width="200" />
<img label="Settings" style="padding-left:25px" src="fastlane/metadata/android/en-US/images/phoneScreenshots/settings_screen.png" width="200" />
<img label="Support" style="padding-left:25px" src="fastlane/metadata/android/en-US/images/phoneScreenshots/support_screen.png" width="200" />
2023-05-24 01:33:20 -04:00
</p>
2023-09-26 12:58:37 -04:00
<div align="left">
2023-05-24 01:33:20 -04:00
## Inspiration
The original inspiration for this app came from the inconvenience of having to manually turn VPN off
and on while on different networks. This app was created to offer a free solution to this problem.
2023-05-24 01:33:20 -04:00
## Features
2023-11-23 22:14:29 -05:00
* Add tunnels via .conf file, zip, manual entry, or QR code
2024-01-01 11:53:04 -05:00
* Auto connect to VPN based on Wi-Fi SSID, ethernet, or mobile data
2023-09-04 02:51:05 -04:00
* Split tunneling by application with search
2024-01-01 11:53:04 -05:00
* WireGuard support for kernel and userspace modes
* Always-On VPN support
2023-11-23 22:14:29 -05:00
* Export tunnels to zip
* Quick tile support for VPN toggling
* Static shortcuts support for primary tunnel for automation integration
* Intent automation support for all tunnels
2023-05-24 01:33:20 -04:00
* Automatic service restart after reboot
2024-01-01 11:53:04 -05:00
* Battery preservation measures
2023-05-24 01:33:20 -04:00
2024-01-14 12:06:29 -05:00
## Docs (WIP)
Basic documentation of the feature and behaviors of this app can be found [here](https://zaneschepke.com/wgtunnel-docs/overview.html).
The repository for these docs can be found [here](https://github.com/zaneschepke/wgtunnel-docs).
2023-05-24 01:33:20 -04:00
## Building
2023-05-24 01:33:20 -04:00
```
$ git clone https://github.com/zaneschepke/wgtunnel
$ cd wgtunnel
```
Create a personal access token (classic) in GitHuv to be able to pull the wireguard-android github dependencies from GitHub packages
as documented [here](https://docs.github.com/en/packages/learn-github-packages/introduction-to-github-packages#authenticating-to-github-packages).
Alternatively, you can clone [wireguard-android](https://github.com/zaneschepke/wireguard-android) and run the following command to publish the dependency to your local maven repository (requires you have maven installed). This is the ideal approach
if you intent to make changes to this lib.
```
$ git clone https://github.com/zaneschepke/wireguard-android
$ cd wireguard-android
$ brew install maven
$ ./gradlew publishToMavenLocal
```
The [wireguard-android](https://github.com/zaneschepke/wireguard-android) dependency is a fork of the official [wireguard-android](https://github.com/WireGuard/wireguard-android) library.
Add the following lines to local.properties file:
```
GH_USER=<your github username>
GH_TOKEN=<the personal access token with read package permission you just created>
```
And then build the app:
```
2023-11-23 22:14:29 -05:00
$ ./gradlew assembleDebug
2023-05-24 01:33:20 -04:00
```
2023-07-09 19:57:07 -04:00
</span>