Git Product home page Git Product logo

omniedge's Introduction

OmniEdge

What happens in intranet, stays in intranet.

Website

【English】 【繁体中文】 【简体中文】 【日本语】 【Español】 【Italiano】 【한국어】 【العربي】 【Tiếng Việt】 【แบบไทย】

OmniEdge is an Open source p2p layer 2 VPN infrastructure based on n2n protocol, a traditional VPN alternative. No central server, easy to scale with less maintenance. What happens in intranet, stays in in intranet.

OmniEdge-clients

Key features:

Dashboard administration management 🔥 Mesh VPNs Desktop GUI apps for MacOS(menubar) and Windows(systray)
🔥 Multi virtual networks 🔥 Site-to-Site VPNs Command line cli apps for Linux,FreeBSD, Raspbian and MacOS
Multi users Unlimited data transfer Command line cli apps for armv7,arm64,RISC-V64,x86_64 and amd64
Multi devices Encrypted peer-to-peer connection Mobile apps for iOS and Android
🔥 Self-hosted Supernode Encrypted connection relay Tablet apps for iPad, Android Tablet and Android TV
🔥 Sharing virtual network Hybrid-cloud support NAS App for Synology
Security Keys 🔥 Zero-Config Automatic public supernode allocation
🔥 Remote Device Control Drop Files remotely Automatic IP allocation

You can find more features in the Pricing Page for Enterprise.

Get Started in 5 minutes

  1. Sign up your account: Sign up
  2. Download OmniEdge apps for your platform
  3. Or run the following command if you want to use cli version:
curl https://omniedge.io/install/omniedge-install.sh | bash
  1. Login with your Email and password, select your virtual network, connect!

You are all set!

And if you want to login with security key, or manage your devices, go and check Documenation for more.

Or you can also run OmniEdge in Docker, with your OMNIEDGE_SECURITYKEY and OMNIEDGE_VIRUTALNETWORK_ID, both can be found from Dashboard :

sudo docker run -d \
  -e OMNIEDGE_SECURITYKEY=OMNIEDGE_SECURITYKEY \
  -e OMNIEDGE_VIRUTALNETWORK_ID="OMNIEDGE_VIRUTALNETWORK_ID" \
  --network host \
  --privileged \
  omniedge/omniedge:latest

Compile

Linux

Install golang for your distribution

Follow the instruction to install golang, we use 1.16.6, or running the following command:

wget https://go.dev/dl/go1.16.6.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version

Build for Ubuntu 18.04, 20.04, 22.04/Debian 10, 11

sudo -E apt-get -y update
sudo -E apt-get install -y openssl
sudo -E apt-get install -y build-essential
sudo -E apt-get install -y libssl-dev
sudo -E apt-get install -y zip
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
BUILD_ENV=prod make build

Build for Fedora 36, CentOS 8

sudo yum update
sudo yum -y install gcc-c++ curl wget zip wget git openssl-devel net-tools automake autoconf make
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
chmod +x internal/make
BUILD_ENV=prod make build

Build for Arch(Manjaro)

sudo pacman -Syu --needed unzip git gcc curl wget zip make pkg-config openssl net-tools automake autoconf make
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
chmod +x internal/make
BUILD_ENV=prod make build

Build for Opensuse

sudo zypper update 
sudo zypper install unzip git gcc curl wget zip make pkg-config openssl net-tools automake autoconf make tar
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
chmod +x internal/make
BUILD_ENV=prod make build

The compiled omniedge-cli will be found in /out/

BSD

FreeBSD

su
pkg update && pkg install go gmake git openssl zip autoconf automake libtool
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
BUILD_ENV=prod make build-freebsd

The compiled omniedge-cli will be found in /out/

Cross Compile

Compile for RISCV64

Host OS: Ubuntu 20.04

apt-get update
apt-get install -y openssl autoconf build-essential libssl-dev zip wget g++-riscv64-linux-gnu gcc-riscv64-linux-gnu

wget https://go.dev/dl/go1.18.4.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
export GOOS=linux
export GOARCH=riscv64
export CGO_ENABLED=1
export CC=riscv64-linux-gnu-gcc
git clone https://github.com/omniedgeio/omniedge-cli.git
cd omniedge-cli
go mod download
go generate
BUILD_ENV=prod make build-riscv64

The compiled omniedge-cli will be found in /out/

Android

  1. Download Android Studio: https://developer.android.com/studio
  2. Get the repo and compile
git clone https://github.com/omniedgeio/omniedge-android.git`
./gradlew test --stacktrace
./gradlew assembleDebug --stacktrace

We have also prepared the CI for Github and Gitlab for building automatically.

  1. Github: https://github.com/omniedgeio/omniedge-android/blob/main/.github/workflows/build.yml
  2. GitLab: https://github.com/omniedgeio/omniedge-android/blob/main/.gitlab-ci.yml

iOS

  1. Download and install Xcode
  2. Get the repo and compile
git clone https://github.com/omniedgeio/omniedge-iOS.git
cd omniedge-iOS
open OmniEdgeNew/OmniEdgeNew.xcworkspace

Xcode will open automatically, you have to set your developer account to start the compile. We recommend compiling the package on your devices separately, specially the Tunnel package.

image

macOS

macOS GUI

  1. Download and install Xcode
  2. Get the repo and compile
git clone https://github.com/omniedgeio/omniedge-macOS.git
cd omniedge-macOS
open Omniedge.xcodeproj

Xcode will open automatically, you have to set your developer account to start the compile.

macOS Cli

brew install autoconf automake libtool
git clone https://github.com/omniedgeio/omniedge-cli
cd omniedge-cli
go mod download
go generate
BUILD_ENV=prod make build-darwin

The compiled omniedge-cli will be found in /out/

Windows

  1. Download QT 5.12.12 for windows and Inno Setup for windows
  2. Get the repo and compile
git clone https://github.com/omniedgeio/omniedge-windows.git
cd omniedge-windows
  1. open OmniEdge.pro and QT Creator will open automatically
  2. Set the Kits to Desktop Qt 5.12.12 MSVC2017 32bit, select build with Release, set the Build directory to: .\build-package\build\

  1. Press crtl+B to build, and you will find OmniEdge.exe in the folder.\build-package\build\release\.
  2. copy OmniEdge.exe to .\build-package\package\,open omniedge_withTAP_V02_bat.iss with Inno Setup Compile, press ctril+F9 to compile and you will find the installer package in the folder .\build-package\release

Usage

Use Cases

Tell us your use-case, so we can share to others

Compare

Who are talking about us

Contributors

harri8807 , Tex-Tang, ivyxjc, kidylee, EbenDang ,zteshadow, ChenYouping,ddrandy, Tsingv, mtx2dBlackrose, cheung-chifung,我不是矿神

feel free to tell us about any posts related us via issue or PR.


If you have more questions, feel free to talk to us at Discussions.

omniedge's People

Contributors

yongqianme avatar

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.