All Projects → Revertron → Alfis

Revertron / Alfis

Licence: AGPL-3.0 license
Alternative Free Identity System

Programming Languages

rust
11053 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects
Nix
1067 projects

Projects that are alternatives of or similar to Alfis

open-chain
Open source blockchain project designed for developer needs from the start. OPEN chain is a convenient and flexible technology for developing blockchain solutions and decentralized applications.
Stars: ✭ 59 (-63.58%)
Mutual labels:  blockchain-technology, blockchain-network, blockchain-platform
blockchain-VCoin
Simple Implementation Proof of Work blockchain coin.
Stars: ✭ 16 (-90.12%)
Mutual labels:  blockchain-technology, blockchain-network, blockchain-platform
xip.name
Simple wildcard DNS inspired by xip.io
Stars: ✭ 143 (-11.73%)
Mutual labels:  dns, dns-server
Blahdns
A small hobby ads block dns project with doh, dot, dnscrypt support.
Stars: ✭ 228 (+40.74%)
Mutual labels:  dns, dns-server
HealthLedger
Application for tracking Organs donations in hospitals and minimizing the scope of Organ trafficking using Blockchain (Hyperledger) technology.
Stars: ✭ 29 (-82.1%)
Mutual labels:  blockchain-technology, blockchain-platform
Pdns
PowerDNS Authoritative, PowerDNS Recursor, dnsdist
Stars: ✭ 2,575 (+1489.51%)
Mutual labels:  dns, dns-server
Nativepayload dns
C# code for Transferring Backdoor Payloads by DNS Traffic and Bypassing Anti-viruses
Stars: ✭ 228 (+40.74%)
Mutual labels:  dns, dns-server
Secureoperator
A DNS-protocol proxy for DNS-over-HTTPS providers, such as Google and Cloudflare
Stars: ✭ 241 (+48.77%)
Mutual labels:  dns, dns-server
Pihole Unbound
Guide to setup Unbound recursive DNS resolver with Pi-Hole. With additional configs for speed and security!! 🚀🔒
Stars: ✭ 165 (+1.85%)
Mutual labels:  dns, dns-server
fastdns
Fast DNS package for Go. Tuned for high performance. Zero memory allocations in almost paths. Up to 1M QPS on a single host.
Stars: ✭ 67 (-58.64%)
Mutual labels:  dns, dns-server
newdns
A library for building custom DNS servers in Go.
Stars: ✭ 40 (-75.31%)
Mutual labels:  dns, dns-server
Bind9
Mirror of https://gitlab.isc.org/isc-projects/bind9, please submit issues and PR/MRs in the GitLab.
Stars: ✭ 197 (+21.6%)
Mutual labels:  dns, dns-server
Dcompass
[WIP] High-performance programmable DNS server aiming at robustness, speed, and flexibility
Stars: ✭ 174 (+7.41%)
Mutual labels:  dns, dns-server
AmpliSpy
Check local or remote list of DNS servers for suitability in DNS Amplification DoS.
Stars: ✭ 39 (-75.93%)
Mutual labels:  dns, dns-server
Dnsguide
A guide to writing a DNS Server from scratch in Rust
Stars: ✭ 2,226 (+1274.07%)
Mutual labels:  dns, dns-server
afdns
Ad free DNS server. A docker container with a DNS server configured to block advertisement hosts.
Stars: ✭ 27 (-83.33%)
Mutual labels:  dns, dns-server
Unbound Docker
Unbound DNS Server Docker Image
Stars: ✭ 147 (-9.26%)
Mutual labels:  dns, dns-server
Routedns
DNS stub resolver, proxy and router with support for DoT, DoH, DoQ, and DTLS
Stars: ✭ 153 (-5.56%)
Mutual labels:  dns, dns-server
blockchain-carbon-accounting
This project implements blockchain applications for climate action and accounting, including emissions calculations, carbon trading, and validation of climate claims. It is part of the Linux Foundation's Hyperledger Climate Action and Accounting SIG.
Stars: ✭ 123 (-24.07%)
Mutual labels:  blockchain-technology, blockchain-network
docker-nxfilter
🐳 Run NxFilter in Docker!
Stars: ✭ 28 (-82.72%)
Mutual labels:  dns, dns-server

Alfis

Builds

Alternative Free Identity System

This project represents a minimal blockchain without cryptocurrency, capable of sustaining any number of domain names in a bunch of original alternative zones. Not so clear? Hold on.

This software provides:

  • Very small and peer-to-peer synchronized database of domain names. The consistency of this database is based on blockchain technology, that prevents retroactive changing of data, and has strict cryptographical consensus.
  • DNS server with cache, like you have in your Internet-router. It resolves the domains from database and forwards all regular DNS-requests to some other resolver - your router, Google DNS, Cloudflare DNS, or AdGuard DNS (if you want to block ads and trackers).
  • Other systems need you to organize and run several DNS-servers to resolve their domains and regular domains, we have both in one. Moreover, ALFIS can forward requests of regular domains to DNS-over-HTTPS server. The security and privacy is right here.
  • Convenient graphical user interface to create domains in this alternative domain system. If you want just to use it like a DNS-server you can run it with -n flag or just build/download the variant without GUI.

Screenshot

Screenshot

Screenshot

How it works?

Every node connects to its siblings and synchronizes the domain database. This DB consists of cryptographically bound blocks, that contain encrypted domain names, contacts, and some info, if you wish. There are 10 domain zones available to get domain in: .anon, .btn, .conf, .index, .merch, .mirror, .mob, .screen, .srv, .ygg. But, .anon and .ygg are bound to have IP-addresses from Yggdrasil Network only.

Building and running

On every OS

You can download and run already built binaries from releases, or you can build project yourself.

You can build Alfis by issuing cargo build --release and cargo run --release commands in a directory of cloned repository.

If you want to build a version without GUI and without DoH: cargo build --release --no-default-features And this for build without GUI, but with DoH: cargo build --release --no-default-features --features="doh"

Windows Logo On Windows

You don't need any additional steps to build Alfis, just stick to the MSVC version of Rust.

If you see an error about missing VCRUNTIME140.dll when running alfis you will need to install VC Redistributable from Microsoft.

If you want to use modern browser engine from Edge instead of old from IE, you need to build with this command: cargo build --release --features "edge" (or use corresponding build from releases).

Windows Logo On Windows (MINGW64)

If you'd rather use Gnu version of Rust you can build Alfis by these steps:

pacman -S git mingw64/mingw-w64-x86_64-rust mingw64/mingw-w64-x86_64-cargo-c
git clone https://github.com/Revertron/Alfis.git
cd Alfis
cargo build

Linux Logo On Linux

If you are building on Linux you must ensure that you have libwebkitgtk library installed. You can do it by issuing this command: sudo apt install libwebkit2gtk-4.0-dev (on Debian/Ubuntu and derivatives).

Arch Linux Logo On Arch Linux

Install from available AUR package created by @pztrn:

yay -S alfis

Gentoo Logo On Gentoo Linux

Available in dm9pZCAq overlay

eselect repository enable dm9pZCAq
emerge --sync dm9pZCAq
emerge net-dns/alfis

NixOS Logo On Nix/NixOS

nix-shell in this repo and then run cargo build --release and cargo install after you have entered the shell.

Installation

Debian/Ubuntu (only blockchain DNS, without GUI)

If you want to just use ALFIS as a DNS daemon and resolve domains in blockchain, as well as clearnet domains. You just need to install alfis service from repo and change your resolver in /etc/resolv.conf. Beware of NetworkManager, it can change your resolvers at will.

  1. Download repository public key and add it to your APT
wget -qO - https://deb.revertron.com/key.txt | sudo apt-key add -
  1. Add repository path to sources list
echo 'deb https://deb.revertron.com/ debian alfis' | sudo tee /etc/apt/sources.list.d/alfis.list
  1. Update packages and install ALFIS
sudo apt update && sudo apt install alfis
  1. Enable and start the service
systemctl enable --now alfis

After that configuration is in file /etc/alfis.conf and data is saved to /var/lib/alfis. If you have some DNS server bound to port 53, it will not properly start. Deal with it on your own.

openSUSE (without GUI)

  1. Add repo:
zypper ar --refresh obs://home:Werwolf2517 home:Werwolf2517
  1. Refresh repos cache
zypper --gpg-auto-import-keys refresh
  1. Install package
zypper install -y Alfis
  1. Run daemon
systemctl enable --now alfis

Docker

If you want to run ALFIS in docker container, you can do this by running:

docker run --rm --name alfis -p 53:53/tcp -p 53:53/udp cofob/alfis

GUI version Windows/Linux/macOS (if you want to create and change domains)

If you want to create and manage your own domains on blockchain, you will need a version with GUI. You can download it from releases section, choose appropriate OS and architecture version. It needs to be without nogui suffix.

Just unzip that archive in some directory and run alfis (or alfis.exe) binary. By default, it searches for config file, named alfis.toml in current working directory, and creates/changes blockchain.db file in the same directory. If you want it to load config from another file you can command it so: alfis -c /etc/alfis.conf.

Roadmap

  1. Stabilize blockchain functions (domain transfer, info & contacts in UI), bug hunting and fixing.
  2. Change DNS server/proxy to own resource saving implementation (using trust-dns-proto for RR parsing).
  3. P2P traffic encryption (ECDH).
  4. Web-GUI to manage you node from browser.

Remarkable contributions

  • @umasterov contributed fantastic logo for this project.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].