Create Surfshark wireguard connection on OpenWrt easily

For those in the dark as to how to configure SurfShark WireGuard Configuration Files
Thanks to all the folks here who keep perfecting this project.

IMPORTANT UPDATE April 17, 2022 - Easter Day
For The Most Simple and Direct Evolution of All
The Collective Hard Work Done Here -
In other words TRULY Easy SurfShark WireGuard

Go Here People For SurfShark WireGurard ~ SSWG

NORDVPN EXAMPLES

Overview of nano's shortcuts

From the dummy file below: Go to the the very bottom of this file and add the following :
The keys and addresses used here are fictional and used only for illustrative purposes.

Set the server's network configuration by editing /etc/config/network to include following parts.

In the default install folder ( /wg/ ) after running script ( sswg.sh ) - you will find SurfShark Wireguard configuration files in the default installation folder /wg/ in the conf directory. In this example I am using us-ash.prod.conf - you can read the file - by running # cat us-ash.prod.conf - while in the conf directory. All configuration files are in /wg/conf directory - my file used here is

/wg/conf/us-ash.prod.conf

1) Set the wireguard server's network configuration by editing 
/etc/config/network 
to include following parts.

[Interface]
PrivateKey=foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=
Address=10.16.1.7/8
MTU=1350

[Peer]
PublicKey=/llFOsnvj7GcXasKrojhZl6nRnnn4D8sRuDUKEdiZzM=
AllowedIPs=172.18.0.40/32
Endpoint=wgs.prod.surfshark.com:51820
PersistentKeepalive=25

[Peer]
PublicKey=cxti1XR6uW483xAioP3d1ZaoGSy+obY6WaE4fW1A6Nk=
AllowedIPs=0.0.0.0/0
Endpoint=us-ash.prod.surfshark.com:51820
PersistentKeepalive=25


2 - Open the file: nano /etc/config/network  - and go to the very bottom of the file
Here is how you configure the SurfShark WireGuard Interface and Two Peers
The Information is found in the example directly above.

config interface 'wg0'
        option proto 'wireguard'
        option private_key 'foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q='
        list addresses '10.16.1.7/8'
        option mtu '1350'
        option dns '1.0.0.1 1.1.1.1'

config wireguard_wg0
        option public_key '/llFOsnvj7GcXasKrojhZl6nRnnn4D8sRuDUKEdiZzM='
        option route_allowed_ips '1'
        list allowed_ips '172.18.0.40/32'
        option persistent_keepalive '25'
        option description 'WG_1'
        option endpoint_host 'wgs.prod.surfshark.com'
        option endpoint_port '51820'

config wireguard_wg0
        option public_key 'cxti1XR6uW483xAioP3d1ZaoGSy+obY6WaE4fW1A6Nk='
        list allowed_ips '0.0.0.0/0'
        option persistent_keepalive '25'
        option description 'WG_2'
        option route_allowed_ips '1'
        option endpoint_host 'us-ash.prod.surfshark.com'
        option endpoint_port '51820'

Save and Exit 

3) Configure the OpenWRT firewall for your Surfshark WIRGUARD Client:

Special Thanks to trendy ( from the OpenWRT Forum ) for helping me with this elegant solution

The most simple, effective and efficient method to set up your firewall
for Surfshark WIREGUARD this is to add the 'wg0' network 
to the wan zone in the /etc/config/firewall configuration file

Edit /etc/config/firewall file and add the 'wg0' network as follows:
wgzero

Open the file: nano /etc/config/firewall 

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        list network 'wg0'  ## This is the line you need to add - and you are done
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

Save and Exit 

Then issue from command line Step 4 below:

4 ) Apply changes

/etc/init.d/network reload
ifdown wg0
ifup wg0
/etc/init.d/firewall restart

Finally

# wg show  ## in order to check connection and data transfer rates