main.go 1002 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package main
  2. import (
  3. "flag"
  4. "os"
  5. "github.com/langgenius/dify-plugin-daemon/internal/core/plugin_packager/signer"
  6. "github.com/langgenius/dify-plugin-daemon/internal/utils/log"
  7. )
  8. func main() {
  9. var (
  10. in_path string
  11. out_path string
  12. help bool
  13. )
  14. flag.StringVar(&in_path, "in", "", "input plugin file path")
  15. flag.StringVar(&out_path, "out", "", "output plugin file path")
  16. flag.BoolVar(&help, "help", false, "show help")
  17. flag.Parse()
  18. if help || in_path == "" || out_path == "" {
  19. flag.PrintDefaults()
  20. os.Exit(0)
  21. }
  22. // read plugin
  23. plugin, err := os.ReadFile(in_path)
  24. if err != nil {
  25. log.Panic("failed to read plugin file %v", err)
  26. }
  27. // sign plugin
  28. plugin_file, err := signer.SignPlugin(plugin)
  29. if err != nil {
  30. log.Panic("failed to sign plugin %v", err)
  31. }
  32. // write signature
  33. err = os.WriteFile(out_path, plugin_file, 0644)
  34. if err != nil {
  35. log.Panic("failed to write plugin file %v", err)
  36. }
  37. log.Info("plugin signed successfully, output path: %s", out_path)
  38. }