options.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package rod_helper
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/pkg/settings"
  4. "github.com/sirupsen/logrus"
  5. )
  6. type BrowserOptions struct {
  7. Log *logrus.Logger // 日志
  8. LoadAdblock bool // 是否加载 adblock
  9. Settings *settings.Settings // 配置
  10. preLoadUrl string // 预加载的url
  11. xrayPoolUrl string // xray pool url
  12. xrayPoolPort string // xray pool port
  13. browserInstanceCount int // 浏览器最大的实例,xrayPoolUrl 有值的时候生效,用于爬虫。因为每启动一个实例就试用一个固定的代理,所以需要多个才行
  14. }
  15. func NewBrowserOptions(log *logrus.Logger, loadAdblock bool, settings *settings.Settings) *BrowserOptions {
  16. return &BrowserOptions{Log: log, LoadAdblock: loadAdblock, Settings: settings, browserInstanceCount: 1}
  17. }
  18. func (r *BrowserOptions) SetPreLoadUrl(url string) {
  19. r.preLoadUrl = url
  20. }
  21. func (r *BrowserOptions) PreLoadUrl() string {
  22. return r.preLoadUrl
  23. }
  24. // SetXrayPoolUrl 127.0.0.1
  25. func (r *BrowserOptions) SetXrayPoolUrl(xrayUrl string) {
  26. r.xrayPoolUrl = xrayUrl
  27. }
  28. // XrayPoolUrl 127.0.0.1
  29. func (r *BrowserOptions) XrayPoolUrl() string {
  30. return r.xrayPoolUrl
  31. }
  32. // SetXrayPoolPort 19035
  33. func (r *BrowserOptions) SetXrayPoolPort(xrayPort string) {
  34. r.xrayPoolPort = xrayPort
  35. }
  36. // XrayPoolPort 19035
  37. func (r *BrowserOptions) XrayPoolPort() string {
  38. return r.xrayPoolPort
  39. }
  40. func (r *BrowserOptions) SetBrowserInstanceCount(count int) {
  41. r.browserInstanceCount = count
  42. }
  43. func (r *BrowserOptions) BrowserInstanceCount() int {
  44. return r.browserInstanceCount
  45. }