Giter Site home page Giter Site logo

omniedgeio / omniedge Goto Github PK

View Code? Open in Web Editor NEW
850.0 17.0 49.0 3.59 MB

Bringing intranet on the internet with Zero-Config Mesh VPNs.

Home Page: https://omniedge.io

License: GNU General Public License v3.0

industrial-iot remote-access remote-control mesh-networks n2n

omniedge's People

Contributors

yong-omniedge avatar yongqianme 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omniedge's Issues

win使用docker容器运行出现问题

win11使用docker运行omniedge,有些报错但是也可以连接成功,可以ping通,但是3389端口好像有问题,无法远程,切每次重启,分配的ip好像也会改变,不是固定的
image

omniedge-v0.2.4-arm64v8.zip asset not found when install

curl https://omniedge.io/install/omniedge-install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3458 100 3458 0 0 4136 0 --:--:-- --:--:-- --:--:-- 4131
[INFO] Downloading binary zip https://github.com/omniedgeio/omniedge/releases/download/v0.2.4/omniedge-v0.2.4-arm64v8.zip

wget https://github.com/omniedgeio/omniedge/releases/download/v0.2.4/omniedge-v0.2.4-arm64v8.zip
--2022-10-25 14:56:50-- https://github.com/omniedgeio/omniedge/releases/download/v0.2.4/omniedge-v0.2.4-arm64v8.zip
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2022-10-25 14:56:51 ERROR 404: Not Found.

Windows client stays in logging in status...

Tried this on Windows 7 and Windows 11 hosts and virtual machines.
In addition, I launched the subject in a Docker container on 2 different VPS. These 2 clients have been added. But ping doesn't go between them...
123

Cli: hardware id generate error on Docker ubuntu container

omniedge version

0.2.3

Error message

root@628637c93e55:/# omniedge join
INFO[0000] You are in mode: prod
ERROR[2022-01-17T11:39:47] Fail to generate hardware id, err is invalid UUID (got 0 bytes)
root@628637c93e55:/# uname -a
Linux 628637c93e55 4.19.76-linuxkit https://github.com/omniedgeio/omniedge-cli/pull/1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

IP address changes on container restart

Every time I restart omniedge container, the IP address changes.

docker-compose file:

version: "2.1"
services:
  omniedge:
    image: omniedge/omniedge:latest
    container_name: omniedge
    hostname: fixedname
    privileged: true
    network_mode: host
    restart: unless-stopped
    environment:
      - OMNIEDGE_SECURITYKEY=xxxx
      - OMNIEDGE_VIRUTALNETWORK_ID=xxxx
    volumes:
      - /dev/net/tun:/dev/net/tun
    cap_add:
      - net_admin

docker version:

Client: Docker Engine - Community
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:28:22 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:26:14 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.13
  GitCommit:        78f51771157abb6c9ed224c22013cdf09962315d
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

I expect the IP address of the container to remain the same after a restart.

Manually install ca-bundle kmod-tun for openwrt

Install ca-bundle to fix x509 error opkg install ca-bundle:

ERROR[2023-02-20T12:00:29] Fail to call backend API [https://api.omniedge.io/api/v2/auth/login/security-key]. err is Post "https://api.omniedge.io/api/v2/auth/login/security-key": x509: certificate signed by unknown authority
ERROR[2023-02-20T12:00:29] This client has some unpredictable problems, please contact the omniedge team.

Install mod-tun to fix no TUN/TAP device opkg install kmod-tun:

[tuntap_linux.c:124] ERRORtuntap open() error: No such file or directory[2]. Is the tun kernel module loaded?
ERROR[2023-02-20T12:03:34] fail to open TUN/TAP device

Routable IP range for "intranet"?

Your website often describes OmniEdge as an intranet but you use a public routable network 100.100.0.0/24

For example, https://github.com/omniedgeio/docs/blob/506f7fabb3e6d952a56c421af85964dfe2d5544e/Docs/cases/hybrid-cloud.md says

we strongly recommend you use the Private IPv4 Addresses: 10.0.0.0 – 10.255.255.255, 172.16.0.0 – 172.31.255.255 and 192.168.0.0 – 192.168.255.255. Here we use 100.100.100.0/24.

Why not use a Private IPv4 range like you recommend above. Is it because it needs to be routable for the supernode? If so, you may want to consider switching to 100.64.0.0/10, which is designed for that purpose in RFC6598. Update: I just realized 100.100.0.0/24 is within 100.64.0.0/10

Remote access to sub route devices through OpenWrt Router

There are a lot of WIFI devices which are not able to run omniedge or other VPN protocols, hence the remote access have a challenge sometimes. Here we offer a cheap solution for you to use OmniEdge OpenWrt and OmniEdge cli for macOS with small firewall command.

Requirements

  • OmniEdge client for all platform
  • OmniEdge openwrt ipk

Setup on Windows

  1. Install OmniEdge For Windows

Doc: https://omniedge.io/download/windows

  1. Run cmd as administrator, and set the route

route add 192.168.1.0 mask 255.255.255.0 100.100.100.46

Setup on MacOS

  1. Install OmniEdge for macOS

Doc: https://omniedge.io/download/macos

  1. Set the route

sudo route -n add -net 192.168.1.0 100.100.100.46

Here:

  • 192.168.1.0: LAN IP range of the OpenWrt Router
  • 100.100.100.46: OMNIEDGE IP of OpenWRT Router

Setup on OpenWrt

  • LAN IP Range: 192.168.1.0/24
  1. Download omnedge ipks related to your routers arch, and copy it to your router
  2. Install it by running opkg install omniedge*.ipk
  3. Generate Security-key, and get the Virtual Network ID from Dashboard
  4. Add your Security key and virtual network id to /etc/init.d/omniedge:
security_key=OMNIEDGE_SECURITY_KEY
virtual_network_id=OMNIEDGE_VIRUTALNETWORK_ID
  1. running Omniedge by:
/etc/init.d/omniedge enable
/etc/init.d/omniedge start
  1. set firewall
iptables -t nat -A POSTROUTING -s 100.100.100.0/24 -j MASQUERADE
iptables -A forwarding_rule -s 100.100.100.0/24 -j ACCEPT
LAN_DEV=`ubus call network.interface.lan status | jsonfilter -e '@["device"]'`
iptables -I FORWARD 1 -i $LAN_DEV -d 100.100.100.0/24 -j ACCEPT

Here:

  • 100.100.100.0/24: your virtual network IP range

image

OmniDNS

A simple idea of the DNS feature:

  1. Run a dns server together with the customized super node image, port 53 for DNS while 443 for super node
  2. The server can sync related users' device name and internal ip between the dns server and dashboard
  3. The dashboard will assign the DNS server(IP of the super node) with to all the users' clients

Let me know you comments please.

Run as service

Hi,
is it possible to run Omniedge as a service on Windows machines without start it manually from desktop?
Is NSSM enough to do it?
Thanks

can't install at armv7 ubuntu 18

when use install.sh to install omniedge at a armv7 ubuntu18
the system infomation is
uname -a Linux orangepi_355 5.4.27-sunxi #2.0.8 SMP Tue Jun 9 18:36:35 CST 2020 armv7l armv7l armv7l GNU/Linux

it shows a tip
`

curl https://omniedge.io/install/omniedge-install.sh | bash

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3454 100 3454 0 0 7412 0 --:--:-- --:--:-- --:--:-- 7412
[INFO] Downloading binary zip https://github.com/omniedgeio/omniedge/releases/download/v0.2.4/omniedge-v0.2.4-armv7.zip
`

it stop here .
when I try to visit this url . The page is not found .
may be compile a armv7 version for omniedge next?

CLI ERROR: it can not run under Mac OS Mojave 10.14.6

The Error Info is like this:

USR520:omniedgedir foo$ ./omniedge login -u email
dyld: Symbol not found: ___darwin_check_fd_set_overflow
Referenced from: /Users/foo/Desktop/temp/omniedgedir/./omniedge (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
in /Users/foo/Desktop/temp/omniedgedir/./omniedge
Abort trap: 6

docker-compose启动后在dashboard可以看到ip,但无法ping通

两台机器,其中一台国外vps,通过docker-compose启动后,看日志显示都已经成功登录,有自己的ip. 网卡名称为{hostname},但无法互相ping通,请教是什么原因?

ps: iptables规则已设,iptables -A INPUT-s 100.100.0.0/24 -j ACCEPT (FORWARD也已设),sysctl.conf的forward也已enable, 两台机器其它"网络应用"都正常.

同时请教个问题,docker-compose每次启动都获取新IP,如何解决?

Exit Node capability

Does OmniEdge have Exit Node capability? (route all network traffic destined for the public Internet through a specific node)

https://omniedge.io/docs/article/architecture mentions Forward TCP and UDP traffic over the virtual network, either directly or indirectly. Provide local DNS resolution for proxied requests. so I'm hoping this is possible.

Error when connecting to websocketQWebSocketPrivate of Windows Client

Windows Version:

  • Windows 11

OmniEdge Windows Client Version:

  • 0.2.3

log:

2023-02-19 22:37:35  TapManager:  "C:/Program Files (x86)/OmniEdge\\tap-windows\\add_tap_device.bat"  exists. 
2023-02-19 22:37:44  API: Getting Auth Session... 
2023-02-19 22:37:44  Could not get the INetworkConnection instance for the adapter GUID. 
2023-02-19 22:37:45  API: Connecting to websocket 
2023-02-19 22:37:45  API: DONE Get Auth Session  true 
2023-02-19 22:37:46  "API: Error when connecting to websocketQWebSocketPrivate::processHandshake: Unhandled http status code: 404 (Not Found)." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <!DOCTYPE html>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <html lang=\"en\">." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <head>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <meta charset=\"utf-8\">." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <title>Error</title>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: </head>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <body>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: <pre>Cannot GET /login/session/LkxeVUObEHAuT9K8uWHDeMTCxFmX0E</pre>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: </body>." 
2023-02-19 22:37:46  "API: Error when connecting to websocketInvalid statusline in response: </html>." 
2023-02-19 22:38:16  "API: Error when connecting to websocketInvalid statusline in response: </html>." 
2023-02-19 22:38:16  API: Disconencted from websocket 

describe:

  • Available a week ago,Just a few days ago it was inexplicably unavailable.

Cli cross compile error for MIPS

Try to cross compile omniedge cli for mips from docker, and got the errors as following :

root@f506c105fb7d:/project/omniedge-cli# export GOARCH=mips
root@f506c105fb7d:/project/omniedge-cli# export GOMIPS=softfloat
root@f506c105fb7d:/project/omniedge-cli# vim internal/edge.go
root@f506c105fb7d:/project/omniedge-cli# BUILD_ENV=prod make build
go generate ./...
Cloning into 'n2n'...
remote: Enumerating objects: 6889, done.
remote: Counting objects: 100% (78/78), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 6889 (delta 48), reused 63 (delta 42), pack-reused 6811
Receiving objects: 100% (6889/6889), 3.38 MiB | 1.14 MiB/s, done.
Resolving deltas: 100% (4695/4695), done.
Checking connectivity... done.
Branch 2.6-stable-omni set up to track remote branch 2.6-stable-omni from origin.
Switched to a new branch '2.6-stable-omni'
Wait please...

Now run ./configure
checking for x86_64-linux-gnu-gcc... mips-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mips-linux-gnu-gcc accepts -g... yes
checking for mips-linux-gnu-gcc option to accept ISO C89... none needed
checking for AES_cbc_encrypt in -lcrypto... no
checking for pcap_open_live in -lpcap... no
checking for pcap_set_immediate_mode in -lpcap... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tools/Makefile
config.status: creating config.h
make[1]: Entering directory '/project/omniedge-cli/internal/n2n'
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c n2n.c -o n2n.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c wire.c -o wire.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c minilzo.c -o minilzo.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c twofish.c -o twofish.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c edge_utils.c -o edge_utils.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c transform_null.c -o transform_null.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c transform_tf.c -o transform_tf.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c tuntap_freebsd.c -o tuntap_freebsd.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c tuntap_netbsd.c -o tuntap_netbsd.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c tuntap_linux.c -o tuntap_linux.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic -c tuntap_osx.c -o tuntap_osx.o
ar rcs libn2n.a n2n.o wire.o minilzo.o twofish.o edge_utils.o transform_null.o transform_tf.o tuntap_freebsd.o tuntap_netbsd.o tuntap_linux.o tuntap_osx.o
mips-linux-gnu-gcc  -g3  -Wall   -fpic edge.c libn2n.a  -o edge
mips-linux-gnu-gcc  -g3  -Wall   -fpic sn.c libn2n.a  -o supernode
mips-linux-gnu-gcc  -g3  -Wall   -fpic example_edge_embed.c libn2n.a  -o example_edge_embed
gzip -c edge.8 > edge.8.gz
gzip -c supernode.1 > supernode.1.gz
gzip -c n2n.7 > n2n.7.gz
make -C tools
make[2]: Entering directory '/project/omniedge-cli/internal/n2n/tools'
mips-linux-gnu-gcc -I.. -g3  -Wall benchmark.c ../libn2n.a  -o n2n-benchmark
make[2]: Leaving directory '/project/omniedge-cli/internal/n2n/tools'
make[1]: Leaving directory '/project/omniedge-cli/internal/n2n'
rm -rf ./out
GOOS=linux go build -ldflags "-X main.Env=prod" -o out/omniedge cmd/edgecli/main.go
# runtime/cgo
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_cgo_main.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x001.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x002.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x003.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x004.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x005.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x006.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x007.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x008.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x009.o uses -msoft-float
/usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/bin/ld: Warning: $WORK/b083/_cgo_.o uses -mhard-float (set by /usr/lib/gcc/mips-linux-gnu/4.3.5/../../../../mips-linux-gnu/lib/../lib/crt1.o), $WORK/b083/_x010.o uses -msoft-float
# runtime/cgo
/tmp/cc4zx9dF.s: Assembler messages:
/tmp/cc4zx9dF.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/cc1C6rgI.s: Assembler messages:
/tmp/cc1C6rgI.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccEDb7SH.s: Assembler messages:
/tmp/ccEDb7SH.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccsQ5AHG.s: Assembler messages:
/tmp/ccsQ5AHG.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccretcFK.s: Assembler messages:
/tmp/ccretcFK.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccXNUiiM.s: Assembler messages:
/tmp/ccXNUiiM.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccltUY6R.s: Assembler messages:
/tmp/ccltUY6R.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/cc50Vf3U.s: Assembler messages:
/tmp/cc50Vf3U.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/cc9lg2oW.s: Assembler messages:
/tmp/cc9lg2oW.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccdB0wRY.s: Assembler messages:
/tmp/ccdB0wRY.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# runtime/cgo
/tmp/ccqtONyV.s: Assembler messages:
/tmp/ccqtONyV.s: Warning: .gnu_attribute 4,3 requires `softfloat'
# net
cgo: mips-linux-gnu-gcc did not produce error at completed:1
on input:

#line 1 "cgo-builtin-prolog"
#include <stddef.h> /* for ptrdiff_t and size_t below */

/* Define intgo when compiling with GCC.  */
typedef ptrdiff_t intgo;

#define GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; intgo n; } _GoString_;
typedef struct { char *p; intgo n; intgo c; } _GoBytes_;
_GoString_ GoString(char *p);
_GoString_ GoStringN(char *p, int l);
_GoBytes_ GoBytes(void *p, int n);
char *CString(_GoString_);
void *CBytes(_GoBytes_);
void *_CMalloc(size_t);

__attribute__ ((unused))
static size_t _GoStringLen(_GoString_ s) { return (size_t)s.n; }

__attribute__ ((unused))
static const char *_GoStringPtr(_GoString_ s) { return s.p; }
#line 9 "/usr/local/go/src/net/cgo_resnew.go"

#include <sys/types.h>
#include <sys/socket.h>

#include <netdb.h>

#line 1 "cgo-generated-wrapper"
#line 1 "not-declared"
void __cgo_f_1_1(void) { __typeof__(char) *__cgo_undefined__1; }
#line 1 "not-type"
void __cgo_f_1_2(void) { char *__cgo_undefined__2; }
#line 1 "not-int-const"
void __cgo_f_1_3(void) { enum { __cgo_undefined__3 = (char)*1 }; }
#line 1 "not-num-const"
void __cgo_f_1_4(void) { static const double __cgo_undefined__4 = (char); }
#line 1 "not-str-lit"
void __cgo_f_1_5(void) { static const char __cgo_undefined__5[] = (char); }
#line 2 "not-declared"
void __cgo_f_2_1(void) { __typeof__(getnameinfo) *__cgo_undefined__1; }
#line 2 "not-type"
void __cgo_f_2_2(void) { getnameinfo *__cgo_undefined__2; }
#line 2 "not-int-const"
void __cgo_f_2_3(void) { enum { __cgo_undefined__3 = (getnameinfo)*1 }; }
#line 2 "not-num-const"
void __cgo_f_2_4(void) { static const double __cgo_undefined__4 = (getnameinfo); }
#line 2 "not-str-lit"
void __cgo_f_2_5(void) { static const char __cgo_undefined__5[] = (getnameinfo); }
#line 3 "not-declared"
void __cgo_f_3_1(void) { __typeof__(socklen_t) *__cgo_undefined__1; }
#line 3 "not-type"
void __cgo_f_3_2(void) { socklen_t *__cgo_undefined__2; }
#line 3 "not-int-const"
void __cgo_f_3_3(void) { enum { __cgo_undefined__3 = (socklen_t)*1 }; }
#line 3 "not-num-const"
void __cgo_f_3_4(void) { static const double __cgo_undefined__4 = (socklen_t); }
#line 3 "not-str-lit"
void __cgo_f_3_5(void) { static const char __cgo_undefined__5[] = (socklen_t); }
#line 1 "completed"
int __cgo__1 = __cgo__2;

full error output:
cc1: error: unrecognized command line option "-fno-lto"

# os/user
cgo: mips-linux-gnu-gcc did not produce error at completed:1
on input:

#line 1 "cgo-builtin-prolog"
#include <stddef.h> /* for ptrdiff_t and size_t below */

/* Define intgo when compiling with GCC.  */
typedef ptrdiff_t intgo;

#define GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; intgo n; } _GoString_;
typedef struct { char *p; intgo n; intgo c; } _GoBytes_;
_GoString_ GoString(char *p);
_GoString_ GoStringN(char *p, int l);
_GoBytes_ GoBytes(void *p, int n);
char *CString(_GoString_);
void *CBytes(_GoBytes_);
void *_CMalloc(size_t);

__attribute__ ((unused))
static size_t _GoStringLen(_GoString_ s) { return (size_t)s.n; }

__attribute__ ((unused))
static const char *_GoStringPtr(_GoString_ s) { return s.p; }
#line 15 "/usr/local/go/src/os/user/cgo_listgroups_unix.go"

#include <unistd.h>
#include <sys/types.h>

#line 1 "cgo-generated-wrapper"
#line 1 "not-declared"
void __cgo_f_1_1(void) { __typeof__(char) *__cgo_undefined__1; }
#line 1 "not-type"
void __cgo_f_1_2(void) { char *__cgo_undefined__2; }
#line 1 "not-int-const"
void __cgo_f_1_3(void) { enum { __cgo_undefined__3 = (char)*1 }; }
#line 1 "not-num-const"
void __cgo_f_1_4(void) { static const double __cgo_undefined__4 = (char); }
#line 1 "not-str-lit"
void __cgo_f_1_5(void) { static const char __cgo_undefined__5[] = (char); }
#line 2 "not-declared"
void __cgo_f_2_1(void) { __typeof__(gid_t) *__cgo_undefined__1; }
#line 2 "not-type"
void __cgo_f_2_2(void) { gid_t *__cgo_undefined__2; }
#line 2 "not-int-const"
void __cgo_f_2_3(void) { enum { __cgo_undefined__3 = (gid_t)*1 }; }
#line 2 "not-num-const"
void __cgo_f_2_4(void) { static const double __cgo_undefined__4 = (gid_t); }
#line 2 "not-str-lit"
void __cgo_f_2_5(void) { static const char __cgo_undefined__5[] = (gid_t); }
#line 3 "not-declared"
void __cgo_f_3_1(void) { __typeof__(int) *__cgo_undefined__1; }
#line 3 "not-type"
void __cgo_f_3_2(void) { int *__cgo_undefined__2; }
#line 3 "not-int-const"
void __cgo_f_3_3(void) { enum { __cgo_undefined__3 = (int)*1 }; }
#line 3 "not-num-const"
void __cgo_f_3_4(void) { static const double __cgo_undefined__4 = (int); }
#line 3 "not-str-lit"
void __cgo_f_3_5(void) { static const char __cgo_undefined__5[] = (int); }
#line 1 "completed"
int __cgo__1 = __cgo__2;

full error output:
cc1: error: unrecognized command line option "-fno-lto"

# github.com/omniedgeio/omniedge-cli/internal
cgo: mips-linux-gnu-gcc did not produce error at completed:1
on input:

#line 1 "cgo-builtin-prolog"
#include <stddef.h> /* for ptrdiff_t and size_t below */

/* Define intgo when compiling with GCC.  */
typedef ptrdiff_t intgo;

#define GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; intgo n; } _GoString_;
typedef struct { char *p; intgo n; intgo c; } _GoBytes_;
_GoString_ GoString(char *p);
_GoString_ GoStringN(char *p, int l);
_GoBytes_ GoBytes(void *p, int n);
char *CString(_GoString_);
void *CBytes(_GoBytes_);
void *_CMalloc(size_t);

__attribute__ ((unused))
static size_t _GoStringLen(_GoString_ s) { return (size_t)s.n; }

__attribute__ ((unused))
static const char *_GoStringPtr(_GoString_ s) { return s.p; }
#line 5 "/project/omniedge-cli/internal/edge.go"



#include "edge.h"

#line 1 "cgo-generated-wrapper"
#line 1 "not-declared"
void __cgo_f_1_1(void) { __typeof__(CString) *__cgo_undefined__1; }
#line 1 "not-type"
void __cgo_f_1_2(void) { CString *__cgo_undefined__2; }
#line 1 "not-int-const"
void __cgo_f_1_3(void) { enum { __cgo_undefined__3 = (CString)*1 }; }
#line 1 "not-num-const"
void __cgo_f_1_4(void) { static const double __cgo_undefined__4 = (CString); }
#line 1 "not-str-lit"
void __cgo_f_1_5(void) { static const char __cgo_undefined__5[] = (CString); }
#line 2 "not-declared"
void __cgo_f_2_1(void) { __typeof__(edge_configure) *__cgo_undefined__1; }
#line 2 "not-type"
void __cgo_f_2_2(void) { edge_configure *__cgo_undefined__2; }
#line 2 "not-int-const"
void __cgo_f_2_3(void) { enum { __cgo_undefined__3 = (edge_configure)*1 }; }
#line 2 "not-num-const"
void __cgo_f_2_4(void) { static const double __cgo_undefined__4 = (edge_configure); }
#line 2 "not-str-lit"
void __cgo_f_2_5(void) { static const char __cgo_undefined__5[] = (edge_configure); }
#line 3 "not-declared"
void __cgo_f_3_1(void) { __typeof__(edge_start) *__cgo_undefined__1; }
#line 3 "not-type"
void __cgo_f_3_2(void) { edge_start *__cgo_undefined__2; }
#line 3 "not-int-const"
void __cgo_f_3_3(void) { enum { __cgo_undefined__3 = (edge_start)*1 }; }
#line 3 "not-num-const"
void __cgo_f_3_4(void) { static const double __cgo_undefined__4 = (edge_start); }
#line 3 "not-str-lit"
void __cgo_f_3_5(void) { static const char __cgo_undefined__5[] = (edge_start); }
#line 4 "not-declared"
void __cgo_f_4_1(void) { __typeof__(int) *__cgo_undefined__1; }
#line 4 "not-type"
void __cgo_f_4_2(void) { int *__cgo_undefined__2; }
#line 4 "not-int-const"
void __cgo_f_4_3(void) { enum { __cgo_undefined__3 = (int)*1 }; }
#line 4 "not-num-const"
void __cgo_f_4_4(void) { static const double __cgo_undefined__4 = (int); }
#line 4 "not-str-lit"
void __cgo_f_4_5(void) { static const char __cgo_undefined__5[] = (int); }
#line 5 "not-declared"
void __cgo_f_5_1(void) { __typeof__(n2n_edge_conf_t) *__cgo_undefined__1; }
#line 5 "not-type"
void __cgo_f_5_2(void) { n2n_edge_conf_t *__cgo_undefined__2; }
#line 5 "not-int-const"
void __cgo_f_5_3(void) { enum { __cgo_undefined__3 = (n2n_edge_conf_t)*1 }; }
#line 5 "not-num-const"
void __cgo_f_5_4(void) { static const double __cgo_undefined__4 = (n2n_edge_conf_t); }
#line 5 "not-str-lit"
void __cgo_f_5_5(void) { static const char __cgo_undefined__5[] = (n2n_edge_conf_t); }
#line 6 "not-declared"
void __cgo_f_6_1(void) { __typeof__(tuntap_dev) *__cgo_undefined__1; }
#line 6 "not-type"
void __cgo_f_6_2(void) { tuntap_dev *__cgo_undefined__2; }
#line 6 "not-int-const"
void __cgo_f_6_3(void) { enum { __cgo_undefined__3 = (tuntap_dev)*1 }; }
#line 6 "not-num-const"
void __cgo_f_6_4(void) { static const double __cgo_undefined__4 = (tuntap_dev); }
#line 6 "not-str-lit"
void __cgo_f_6_5(void) { static const char __cgo_undefined__5[] = (tuntap_dev); }
#line 7 "not-declared"
void __cgo_f_7_1(void) { __typeof__(tuntap_open) *__cgo_undefined__1; }
#line 7 "not-type"
void __cgo_f_7_2(void) { tuntap_open *__cgo_undefined__2; }
#line 7 "not-int-const"
void __cgo_f_7_3(void) { enum { __cgo_undefined__3 = (tuntap_open)*1 }; }
#line 7 "not-num-const"
void __cgo_f_7_4(void) { static const double __cgo_undefined__4 = (tuntap_open); }
#line 7 "not-str-lit"
void __cgo_f_7_5(void) { static const char __cgo_undefined__5[] = (tuntap_open); }
#line 1 "completed"
int __cgo__1 = __cgo__2;

full error output:
cc1: error: unrecognized command line option "-fno-lto"

Makefile:4: recipe for target 'build' failed

OmniMarket

The goal of the marketplace is powering other LAN softwares, from local LAN to global intranet.

We have introduced some cases with VNC, Android Control, Lan Messenger and LAN Drop, etc.

All the the great tools can working under the connection of omniedge.

Security: 2FA

Multi-factor authentication to have better security.

三台计算机,一台windows10 简称A, 一台windows 11 简称B,和A同属于一个局域网的机器C,在同一个Omniedge的虚拟网络中,A和B不能互相远程,但是C机器可以通过192的ip远程连接A机器。AB已经开启了允许远程连接,也在策略组开启了允许远程访问,请问该怎么解决?

  三台计算机,一台windows10 简称A, 一台windows 11 简称B,和A同属于一个局域网的机器C,在同一个Omniedge的虚拟网络中,A和B不能互相远程,但是C机器可以通过192的ip远程连接A机器。AB已经开启了允许远程连接,也在策略组开启了允许远程访问,请问该怎么解决?

image
同一个虚拟网络的设备
image
机器A
image
机器B
image
B链接A的错误提示

Originally posted by @whiteS18 in #54

Sub Router documentation

Your homepage mentions

Sub Router
Sub router allows you connect your devices which is not with Omniedge installed.

But I couldn't find any documentation on that feature. Can you share a link?

Websocket handshake issue of Windows Client

Windows Version:

  • Windows_Server-2022-English-Full-Base-2022.11.10
  • Windows 7

OmniEdge Windows Client Version:

  • 0.2.3

Windows location:

  • US West(Oregon)
2022-11-23 01:35:18  TapManager:  "C:/Program Files (x86)/OmniEdge\\tap-windows\\add_tap_device.bat"  exists. 
2022-11-23 01:35:33  API: Getting Auth Session... 
2022-11-23 01:35:37  API: Connecting to websocket 
2022-11-23 01:35:37  API: DONE Get Auth Session  true 
2022-11-23 01:37:37  "API: Error when connecting to websocketQWebSocketPrivate::processHandshake: Unhandled http status code: 504 (Gateway Time-out)." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: <html>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: <head><title>504 Gateway Time-out</title></head>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: <body>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: <center><h1>504 Gateway Time-out</h1></center>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: <hr><center>nginx/1.20.0</center>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: </body>." 
2022-11-23 01:37:37  "API: Error when connecting to websocketInvalid statusline in response: </html>." 
2022-11-23 01:38:42  "API: Error when connecting to websocketInvalid statusline in response: </html>." 
2022-11-23 01:38:42  API: Disconencted from websocket 

PS: The web socket is working well with macOS client, the server is OK.

Reference issue: #58
#57

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.