自动更新管控端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
1.6 KiB

package main
import (
"fmt"
"net/http"
"os"
"xtcfs/config"
"xtcfs/handler"
"github.com/urfave/cli/v2"
)
var (
port string
)
// 初始化配置
func initConfig(c *cli.Context) error {
return config.G.SetConf(port)
}
// 接收端 管理上传
func receiveClient() error {
//接收者角色
// 注释上面的局域网广播
fmt.Println("xtfs run as receive role...")
// 显示状态等
// http.HandleFunc("/", handler.ReceiveStatus)
http.HandleFunc("/", handler.ReceiveHandler)
// http.Handle("/static/", http.StripPrefix("/static/",
// http.FileServer(http.FS(web.StaticFs))))
fmt.Println("Waiting for receive...")
return http.ListenAndServe(config.G.WildcardAddress, nil)
}
// 入口函数
/**
* 保留接收的功能,用来做接收端
**/
func main() {
app := &cli.App{
Name: "xtfs",
Usage: "simple file transfer tool",
UsageText: "xtfs [global options] [filename|foldername]",
Description: "xtfs is a simple command-line tool for fast local file/folder sharing",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "port",
Value: "9099",
Usage: "server port",
Aliases: []string{"p"},
Destination: &port,
},
&cli.BoolFlag{
Name: "version",
Aliases: []string{"v"},
Usage: "print the version",
},
},
Action: func(c *cli.Context) error {
// if c.NArg() > 0 {
// currentPath := filepath.ToSlash(c.Args().Get(0))
// config.G.FilePath = currentPath
// return sendClient()
// }
return receiveClient()
},
Before: initConfig,
}
err := app.Run(os.Args)
if err != nil {
fmt.Println(err.Error())
}
}