encodedataurl.go 730 B

1234567891011121314151617181920212223242526272829303132
  1. package engineering
  2. import (
  3. "flag"
  4. "io"
  5. "os"
  6. "github.com/vincent-petithory/dataurl"
  7. "github.com/v2fly/v2ray-core/v5/main/commands/base"
  8. )
  9. var cmdEncodeDataURLContentType *string
  10. var cmdEncodeDataURL = &base.Command{
  11. UsageLine: "{{.Exec}} engineering encodeDataURL",
  12. Flag: func() flag.FlagSet {
  13. fs := flag.NewFlagSet("", flag.ExitOnError)
  14. cmdEncodeDataURLContentType = fs.String("type", "application/vnd.v2ray.subscription-singular", "")
  15. return *fs
  16. }(),
  17. Run: func(cmd *base.Command, args []string) {
  18. cmd.Flag.Parse(args)
  19. content, err := io.ReadAll(os.Stdin)
  20. if err != nil {
  21. base.Fatalf("%s", err)
  22. }
  23. dataURL := dataurl.New(content, *cmdEncodeDataURLContentType)
  24. dataURL.WriteTo(os.Stdout)
  25. },
  26. }