forked from mudler/edgevpn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
59 lines (51 loc) · 1.59 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright © 2021 Ettore Di Giacinto <[email protected]>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see <http://www.gnu.org/licenses/>.
package main
//go:generate go run ./api/generate ./api/public/functions.tmpl ./api/public/index.tmpl ./api/public/index.html
import (
"fmt"
"os"
"github.com/urfave/cli"
"github.com/mudler/edgevpn/cmd"
internal "github.com/mudler/edgevpn/internal"
)
func main() {
app := &cli.App{
Name: "edgevpn",
Version: internal.Version,
Author: "Ettore Di Giacinto",
Usage: "edgevpn --config /etc/edgevpn/config.yaml",
Description: "edgevpn uses libp2p to build an immutable trusted blockchain addressable p2p network",
Copyright: cmd.Copyright,
Flags: cmd.MainFlags(),
Commands: []cli.Command{
cmd.Start(),
cmd.API(),
cmd.ServiceAdd(),
cmd.ServiceConnect(),
cmd.FileReceive(),
cmd.Proxy(),
cmd.FileSend(),
cmd.DNS(),
cmd.Peergate(),
},
Action: cmd.Main(),
}
err := app.Run(os.Args)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}