Coder Social home page Coder Social logo

guardllamanet / guardllama Goto Github PK

View Code? Open in Web Editor NEW
229.0 5.0 8.0 24.62 MB

The Ultimate Open-Source VPN, Ad-blocker and DNS resolver :llama::shield:

Home Page: https://guardllama.net

License: Apache License 2.0

Dockerfile 0.01% Makefile 1.36% Go 33.05% Smarty 0.72% Shell 3.01% HCL 0.17% Dart 52.76% Kotlin 0.02% Ruby 0.47% Swift 0.29% Objective-C 0.01% CMake 3.33% C++ 4.21% C 0.25% HTML 0.33%
adblock dns firewall gateway privacy security vpn wireguard adguardhome

guardllama's Introduction

GuardLlama - The Ultimate Open-Source VPN, Ad-blocker and DNS resolver ๐Ÿฆ™๐Ÿ›ก๏ธ

GuardLlama Logo

GuardLlama is a cutting-edge open-source platform that redefines online protection by integrating a VPN, a firewall, an ad-blocker, and a validating, recursive, and caching DNS resolver. This comprehensive solution allows you to create a self-hosted WireGuard VPN with a built-in firewall and ad-blocking capabilities, empowering you to control your online privacy and security fully.

Features ๐ŸŒŸ

  • Effortless installation and setup
  • End-to-end encryption with WireGuard VPN
  • Powerful ad-blocking capabilities
  • Robust firewall to block unwanted traffic and potential threats
  • Built-in validating, recursive, and caching DNS resolver
  • Open-source, Transparent, and community-driven

Demo ๐ŸŽ‰

GuardLlama Demo

Getting Started ๐Ÿš€

Prerequisites

  1. A Linux server to host GuardLlama (follow the provisioning guide).
  2. Basic knowledge of Linux server administration.

Installation

  1. Install GuardLlama on your server by following the installation guide.
  2. Connect to your VPN server using the connection guide.
  3. Configure a personalized VPN tunnel with the configuration guide.

Community & Support ๐Ÿ’ฌ

Need assistance with GuardLlama?

  • Community Forum: Ideal for help with building and discussing GuardLlama.
  • Github Issues: For reporting bugs and requesting features encountered while using GuardLlama.
  • Twitter: Stay up-to-date with the latest GuardLlama news.
  • Discord: Connect with the community, share your applications, and hang out.

Contributing ๐Ÿค

We greatly appreciate contributions from the community! If you're interested in contributing to GuardLlama, please see our contribution guidelines for more information on how to get involved.

License ๐Ÿ“„

GuardLlama is licensed under the Apache 2.0 License.

Acknowledgements ๐Ÿ™Œ

This software wouldn't have been possible without the incredible work of several open-source projects, including:


GuardLlama - Reclaim your safe internet experience today! ๐Ÿฆ™๐Ÿ›ก๏ธ

guardllama's People

Contributors

dependabot[bot] avatar llamaonduty 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

guardllama's Issues

Bug: Radxa Rock 5 ARM64 fails to initialize wg tunnel pod

Please provide a clear and concise description of the issue you are experiencing with GuardLlama.

While trying to install GuardLLama on a Rock 5 (raspberry pi like SBC), WG pod fails to initialize.
The OS installed is a custom build of Ubuntu Focal
uname -v = #rockchip SMP Mon Feb 6 09:18:21 UTC 2023

Please provide the steps to reproduce the issue.

  1. install via: curl -sfL https://get.guardllama.net | sh -
  2. access web ui
  3. add tunnel

Please describe the behavior you expected when performing the steps above.

init-wireguard-module.sh theoretically should work with arm64 ubuntu focal

Please describe the actual behavior you observed when performing the steps above.

Pods fail to initialize

Please provide any additional information or screenshots that might help us understand and resolve the issue.

wg tunnel pod logs:

sudo k3s kubectl logs --namespace=home wg-home-6bb967458-2gpv2
[INFO] Running iptables in legacy mode
Uname info: Linux wg-home-6bb967458-2gpv2 5.10.110-37-rockchip-g74457be0716d #rockchip SMP Mon Feb 6 09:18:21 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
Error: Unknown device type.
[INFO] Wireguard module is not active, attempting kernel header install and module compilation. If you believe that your kernel should have wireguard support already, make sure that it is activated via modprobe!
[INFO] Attempting kernel header install.
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [119 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [108 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [110 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [17.2 MB]
Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [224 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1758 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [24.2 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [24.3 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [1190 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [1018 kB]
Get:12 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [547 kB]
Get:13 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [48.9 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [23.6 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [844 kB]
Get:16 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [772 kB]
Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [507 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [20.2 kB]
Fetched 24.8 MB in 6s (4305 kB/s)
Reading package lists...
E: No packages found
[INFO] No kernel headers found in the Ubuntu or Debian repos!! Will try the headers from host (if mapped), may or may not work.
[INFO] Kernel headers don't seem to be available in Ubuntu, Debian and Raspbian repos, or shared from the host; therefore can't compile the module. Falling back to wireguard-go.
time=2023-04-26T04:17:30.354Z level=INFO msg="Starting tunnel server" addr=:8080
time=2023-04-26T04:17:30.358Z level=INFO msg="Execing command" command="/usr/bin/wg-quick up wg0"
[#] ip link add wg0 type wireguard
Error: Unknown device type.
[!] Missing WireGuard kernel module. Falling back to slow userspace implementation.
[#] wireguard-go wg0
/usr/bin/wg-quick: line 32: /usr/bin/wireguard-go: cannot execute binary file: Exec format error
Unable to access interface: Protocol not supported
[#] ip link delete dev wg0
Cannot find device "wg0"
Error: exit status 1
Usage:
  glmmgr wg [flags]

Flags:
  -h, --help                   help for wg
      --http-addr string       the address that tunnel endpoint binds to (default ":8080")
      --tunnel-config string   path to tunnel config

Global Flags:
      --config string   config file
      --debug           debug

time=2023-04-26T04:17:30.465Z level=ERROR msg="error executing command" error="exit status 1"

Please provide the version of GuardLlama you are using.

glm-installer 1.1.0 (2023-04-16)

OS

Ubuntu Server 20.04

Cloud Provider

N/A

VPN Client

N/A

Feature: Customize the web dashboard port

Feature description

I'm using this on a machine with other things already on it (along with nginx), and so it'd be nice if I could change the port to something else.

Bug: Traefik takes up vpn node port range

Please provide a clear and concise description of the issue you are experiencing with GuardLlama.

Traefik takes up the VPN node port range. This adds two extra port to the range to make up for Traefik but it randomly takes two ports in the range that are meant to be for the VPN node ports.

Please provide the steps to reproduce the issue.

N/A

Please describe the behavior you expected when performing the steps above.

Traefik uses reserved node ports: 32080 for 80 & 32443 for 443.

Please describe the actual behavior you observed when performing the steps above.

Traefik randomly takes two ports in the range that are meant to be for the VPN node ports.

Please provide any additional information or screenshots that might help us understand and resolve the issue.

No response

Please provide the version of GuardLlama you are using.

1.2.5

OS

Any

Cloud Provider

Any

VPN Client

Any

Bug: Custom lists failure

Please provide a clear and concise description of the issue you are experiencing with GuardLlama.

When i customize the blocklists in Adguard, everything works but after a certain time, all the blocklists i added are gone and only the 2 initial lists are there. Other settings made in adugard home are saved.

Please provide the steps to reproduce the issue.

  1. Add custom blocklists
  2. wait (some hours)
  3. see the results

Please describe the behavior you expected when performing the steps above.

The lists should be saved accordingly

Please describe the actual behavior you observed when performing the steps above.

Lists were gone

Please provide any additional information or screenshots that might help us understand and resolve the issue.

No response

Please provide the version of GuardLlama you are using.

1.2.5

OS

Ubuntu 20.04

Cloud Provider

Contabo

VPN Client

Wireguard for Windows, iOS and Android

Bug: When attempting show password token it does not show characters

Please provide a clear and concise description of the issue you are experiencing with GuardLlama.

When you enter your token in ui login section and press show button the characters it does not show chracters.

Please provide the steps to reproduce the issue.

1-Enter your vps ip
2-Copy paste your token to web ui token section
3-Press show button
4-Password token not shown.

Please describe the behavior you expected when performing the steps above.

It should show password with characters

Please describe the actual behavior you observed when performing the steps above.

There are when you enter password and not showing password i could not found the term but when you enter your password and it shown black dots.

Please provide any additional information or screenshots that might help us understand and resolve the issue.

No response

Please provide the version of GuardLlama you are using.

1.2.5

OS

Fedora

Cloud Provider

Digital ocean

VPN Client

.

Refresh JWT token on API calls

Feature description

JWT tokens are issued when calling POST /authenticate once, and the expiration date is never renewed. This would make the user session expire in one hour after a user logs in. API calls should refresh the JWT token in the response header and the UI should update the cookie so that user session stays active if the user stays active.

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.