分类 默认分类 下的文章

// TODO: 标示处有功能代码待编写,使用方法:// TODO:
// FIXME: 标示处代码需要修正,使用方法:// FIXME:
// !!!: 标示处代码需要注意,使用方法:// !!!:
// ???: 标示处代码有疑问,使用方法:// ???:

grep -rnw "TODO" src

// 列出所有适配器
networksetup -listallnetworkservices

// 设置名字为 Ethernet 适配器 socks 为开启状态
networksetup -setsocksfirewallproxystate Ethernet on
// 设置名字为 Ethernet 适配器 socks 为关闭状态
networksetup -setsocksfirewallproxystate Ethernet off

// 修改适配器 socks 配置
networksetup -setsocksfirewallproxy Ethernet <domain> <port number> <authenticated> <username> <password>

authenticated: on off

./server_linux_amd64 -l :7777 -t localhost:7456 --mode fast3
./client_darwin_amd64 -l :7777 -r yueqiumao.com:7777 --mode fast3

安装 statik

go get -d github.com/rakyll/statik

打包

statik -src=assets

package main

// 这个命令是用来打包资源文件的,使用命令 go generate 执行
//go:generate statik -src=assets

import (
    "net/http"

    "github.com/rakyll/statik/fs"
    _ "xxx/statik"
)

func main() {

    // !! 注意 !!
    // http.StripPrefix 是用来剥离 URL 前缀地址的,不然传入 http.FileServer 会导致路径错误。
    // http.Handle("/assets/") 这里必须以 / 结尾,否则无法访问到文件夹下的内容。

    // 从包中访问
    statikfs, _ := fs.New()
    http.Handle("/assets/", http.StripPrefix("/assets", http.FileServer(statikfs)))

    // 从本地访问
    // http.Handle("/assets/", http.StripPrefix("/assets", http.FileServer(http.Dir("assets"))))

    http.ListenAndServe(":8000", nil)
}

参考资料:
https://blog.fatedier.com/2016/08/01/compile-assets-into-binary-file-with-statik-in-golang/