-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
v1.1 Support WARP ipv4 , ipv6 and dualstack.
- Loading branch information
Showing
3 changed files
with
49 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,28 +7,39 @@ on: | |
tags: | ||
- 'v*' | ||
|
||
|
||
jobs: | ||
client-by-default: | ||
client-dual-by-default: | ||
runs-on: ubuntu-latest | ||
name: client warp+doh mode by default | ||
steps: | ||
- uses: fscarmen/[email protected] | ||
- uses: fscarmen/[email protected] | ||
|
||
client-ipv4: | ||
runs-on: ubuntu-latest | ||
name: client warp+doh mode with ipv4 | ||
steps: | ||
- name: Set up WARP with client with ipv4 | ||
uses: fscarmen/[email protected] | ||
with: | ||
mode: client | ||
stack: ipv4 | ||
|
||
client: | ||
client-ipv6: | ||
runs-on: ubuntu-latest | ||
name: client warp+doh mode | ||
name: client warp+doh mode with ipv6 | ||
steps: | ||
- name: Set up WARP with client | ||
uses: fscarmen/warp-on-actions@v1.0 | ||
uses: fscarmen/warp-on-actions@v1.1 | ||
with: | ||
mode: client | ||
stack: ipv6 | ||
|
||
wireguard: | ||
client-dual: | ||
runs-on: ubuntu-latest | ||
name: wireguard mode | ||
name: client warp+doh mode with dual | ||
steps: | ||
- name: Set up WARP with wireguard | ||
uses: fscarmen/warp-on-actions@v1.0 | ||
- name: Set up WARP with client | ||
uses: fscarmen/warp-on-actions@v1.1 | ||
with: | ||
mode: wireguard | ||
mode: client | ||
stack: dual |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,19 +2,17 @@ | |
|
||
* * * | ||
|
||
Usage: | ||
* client warp+doh mode | ||
### Usage example: | ||
client warp+doh mode | ||
``` | ||
- name: Set up WARP | ||
uses: fscarmen/warp-on-actions@v1.0 | ||
uses: fscarmen/warp-on-actions@v1.1 | ||
with: | ||
mode: client # Optional, default | ||
stack: dual # Optional. Support [ ipv4, ipv6, dual ]. Default is dual. | ||
``` | ||
|
||
* wireguard | ||
``` | ||
- name: Set up WARP | ||
uses: fscarmen/[email protected] | ||
with: | ||
mode: wireguard | ||
``` | ||
### Input Parameters | ||
|
||
| Parameter | **Mandatory**/**Optional** | Description | | ||
| --------- | -------- | ----------- | | ||
| stack | **Optional** | WARP stack: one of `ipv4`, `ipv6`,`dual`. Default is `dual`. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,54 +4,33 @@ author: 'fscarmen <[email protected]>' | |
description: 'Install Cloudflare Warp on Github actions' | ||
|
||
inputs: | ||
mode: | ||
description: 'Choose WARP mode: wireguard or client.' | ||
stack: | ||
description: 'Choose WARP stacks: IPv4/IPv6 only or dualstacks.' | ||
required: false | ||
default: 'client' | ||
default: 'dual' | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Install WARP | ||
run: | | ||
if [ "${{ inputs.mode }}" == 'client' ]; then | ||
echo "WARP mode: client warp+doh." | ||
sudo apt-get -y update | ||
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | ||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list | ||
sudo apt-get update | ||
sudo apt-get install -y cloudflare-warp | ||
sudo warp-cli --accept-tos register | ||
sudo warp-cli --accept-tos set-mode warp+doh | ||
sudo warp-cli --accept-tos connect | ||
elif [ "${{ inputs.mode }}" == 'wireguard' ]; then | ||
echo "WARP mode: wireguard." | ||
sudo apt-get -y update | ||
sudo apt-get -y install --no-install-recommends net-tools iproute2 openresolv dnsutils iptables wireguard-tools | ||
LAN=$(ip route get 192.168.193.10 | grep -oP 'src \K\S+') | ||
echo "[Interface] | ||
PrivateKey = cKE7LmCF61IhqqABGhvJ44jWXp8fKymcMAEVAzbDF2k= | ||
Address = 172.16.0.2/32 | ||
Address = fd01:5ca1:ab1e:823e:e094:eb1c:ff87:1fab/128 | ||
PostUp = ip -4 rule add from $LAN lookup main | ||
PostDown = ip -4 rule delete from $LAN lookup main | ||
DNS = 8.8.8.8,8.8.4.4 | ||
MTU = 1280 | ||
[Peer] | ||
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= | ||
AllowedIPs = 0.0.0.0/0 | ||
AllowedIPs = ::/0 | ||
Endpoint = 162.159.193.10:2408" | sed "s/^[ ]\+//g" | sudo tee /etc/wireguard/warp.conf | ||
sudo wg-quick up warp | ||
else | ||
echo -e "WARP mode: ${{ inputs.mode }}.\nYou can choose client or wireguard." | ||
exit 1 | ||
echo "WARP mode: client warp+doh." | ||
sudo apt-get -y update | ||
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | ||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list | ||
sudo apt-get update | ||
sudo apt-get install -y cloudflare-warp | ||
sudo warp-cli --accept-tos registration new | ||
sudo warp-cli --accept-tos mode warp+doh | ||
if [ "${{ inputs.stack }}" == 'ipv4' ]; then | ||
sudo warp-cli --accept-tos add-excluded-route ::/0 | ||
elif [ "${{ inputs.stack }}" == 'ipv6' ]; then | ||
sudo warp-cli --accept-tos add-excluded-route 0.0.0.0/0 | ||
fi | ||
sudo warp-cli --accept-tos connect | ||
sleep 1 | ||
sudo curl -s4m8 --retry 3 -A Mozilla https://api.ip.sb/geoip | ||
echo "IPv4: $(sudo curl -s4m8 --retry 3 -A Mozilla https://api.ip.sb/geoip)" | ||
echo "IPv6: $(sudo curl -s6m8 --retry 3 -A Mozilla https://api.ip.sb/geoip)" | ||
shell: bash |