diff --git a/config/default.yaml b/config/default.yaml index c6e0fe0..e7aad44 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -3,4 +3,6 @@ scope: default: console mail: amok.space: - dial-tls: mail.amok.space:993 \ No newline at end of file + dial-tls: mail.amok.space:993 + kplus.net.ua: + dial-tls: s21.thehost.com.ua:993 \ No newline at end of file diff --git a/config/scope/prescene.yaml b/config/scope/prescene.yaml index 4e650ee..e700351 100644 --- a/config/scope/prescene.yaml +++ b/config/scope/prescene.yaml @@ -73,6 +73,6 @@ groups: - HiTE - RPO - MEOWZiK - - STONERD + # - STONERD - TR - W4GN3R diff --git a/config/scope/stb.yaml b/config/scope/stb.yaml index a231978..8691d24 100644 --- a/config/scope/stb.yaml +++ b/config/scope/stb.yaml @@ -1,9 +1,9 @@ role: console stb: - endpoint: stb@amok.space - #mailboxes: ["INBOX"] + endpoint: stb@kplus.net.ua + mailboxes: ["INBOX"] #mailboxes: ["INBOX", "Junk Mail", "Done"] - mailboxes: ["Junk Mail"] + #mailboxes: ["Junk Mail"] #mailboxes: ["Done"] search-criteria: ["Your Share The Brutality digest", "noreply@sharethebrutality.info"] move-processed-to-mailbox: diff --git a/go.mod b/go.mod index 39807e1..3efea5b 100644 --- a/go.mod +++ b/go.mod @@ -1,22 +1,22 @@ module git.amok.space/yevhen/resource-scraper -go 1.24 +go 1.25 require ( + github.com/dromara/carbon/v2 v2.6.4 github.com/emersion/go-imap/v2 v2.0.0-beta.5 github.com/go-chi/chi/v5 v5.2.1 github.com/go-chi/cors v1.2.1 github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c - github.com/go-sql-driver/mysql v1.9.0 - github.com/golang-module/carbon/v2 v2.4.1 + github.com/go-sql-driver/mysql v1.9.2 github.com/iancoleman/strcase v0.3.0 github.com/jmoiron/sqlx v1.4.0 github.com/logrusorgru/aurora/v4 v4.0.0 github.com/mewkiz/flac v1.0.12 github.com/spf13/pflag v1.0.6 - github.com/spf13/viper v1.19.0 - golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa - golang.org/x/net v0.35.0 + github.com/spf13/viper v1.20.1 + golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 + golang.org/x/net v0.39.0 ) require ( @@ -24,24 +24,25 @@ require ( github.com/andybalholm/cascadia v1.3.3 // indirect github.com/emersion/go-message v0.18.2 // indirect github.com/emersion/go-sasl v0.0.0-20241020182733-b788ff22d5a6 // indirect - github.com/fsnotify/fsnotify v1.8.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/icza/bitio v1.1.0 // indirect - github.com/magiconair/properties v1.8.9 // indirect - github.com/mewkiz/pkg v0.0.0-20241223220703-7f3c7df797ff // indirect + github.com/magiconair/properties v1.8.10 // indirect + github.com/mewkiz/pkg v0.0.0-20250417130911-3f050ff8c56d // indirect github.com/mewpkg/term v0.0.0-20241026122259-37a80af23985 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/pelletier/go-toml/v2 v2.2.3 // indirect - github.com/sagikazarmark/locafero v0.7.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/sagikazarmark/locafero v0.9.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect - github.com/spf13/afero v1.12.0 // indirect + github.com/spf13/afero v1.14.0 // indirect github.com/spf13/cast v1.7.1 // indirect github.com/subosito/gotenv v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/sys v0.32.0 // indirect + golang.org/x/text v0.24.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 11aff66..1b37fa0 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,10 @@ github.com/d4l3k/messagediff v1.2.2-0.20190829033028-7e0a312ae40b/go.mod h1:Oozb github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dromara/carbon/v2 v2.6.2 h1:ETogW/+yLDJfiSYyG74uuN3yN6NvLTC7E0Vi5WKyJuo= +github.com/dromara/carbon/v2 v2.6.2/go.mod h1:Baj3A1uBBctJmpZWJd6/+WWnmIuY2pobR6IOpB6xigc= +github.com/dromara/carbon/v2 v2.6.4 h1:cpIansyiEIEed3OlEIqo1IXj86qu0x6pf/E2keL2wYo= +github.com/dromara/carbon/v2 v2.6.4/go.mod h1:Baj3A1uBBctJmpZWJd6/+WWnmIuY2pobR6IOpB6xigc= github.com/emersion/go-imap/v2 v2.0.0-beta.5 h1:H3858DNmBuXyMK1++YrQIRdpKE1MwBc+ywBtg3n+0wA= github.com/emersion/go-imap/v2 v2.0.0-beta.5/go.mod h1:BZTFHsS1hmgBkFlHqbxGLXk2hnRqTItUgwjSSCsYNAk= github.com/emersion/go-message v0.18.2 h1:rl55SQdjd9oJcIoQNhubD2Acs1E6IzlZISRTK7x/Lpg= @@ -16,6 +20,8 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/go-chi/chi/v5 v5.2.1 h1:KOIHODQj58PmL80G2Eak4WdvUzjSJSm0vG72crDCqb8= github.com/go-chi/chi/v5 v5.2.1/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4= @@ -25,6 +31,10 @@ github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c/go.mod h1:oVDCh3qjJM github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-sql-driver/mysql v1.9.0 h1:Y0zIbQXhQKmQgTp44Y1dp3wTXcn804QoTptLZT1vtvo= github.com/go-sql-driver/mysql v1.9.0/go.mod h1:pDetrLJeA3oMujJuvXc8RJoasr589B6A9fwzD3QMrqw= +github.com/go-sql-driver/mysql v1.9.2 h1:4cNKDYQ1I84SXslGddlsrMhc8k4LeDVj6Ad6WRjiHuU= +github.com/go-sql-driver/mysql v1.9.2/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14= github.com/golang-module/carbon/v2 v2.4.1 h1:cYUD8T+rHeX+qIybGYpnJ8I90F10dvyEF67VNOO+zZM= @@ -52,6 +62,8 @@ github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUp github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ= github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM= github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= +github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/mewkiz/flac v1.0.12 h1:5Y1BRlUebfiVXPmz7hDD7h3ceV2XNrGNMejNVjDpgPY= @@ -59,12 +71,16 @@ github.com/mewkiz/flac v1.0.12/go.mod h1:1UeXlFRJp4ft2mfZnPLRpQTd7cSjb/s17o7JQzz github.com/mewkiz/pkg v0.0.0-20230226050401-4010bf0fec14/go.mod h1:QYCFBiH5q6XTHEbWhR0uhR3M9qNPoD2CSQzr0g75kE4= github.com/mewkiz/pkg v0.0.0-20241223220703-7f3c7df797ff h1:ts1OPi6zzzHE4nosvaXfkvhVNHeBghtxwwJL/PBsVHk= github.com/mewkiz/pkg v0.0.0-20241223220703-7f3c7df797ff/go.mod h1:dpOqQ/SkbEbPklAuIQqDGHc6K6kygt0L1XYa/IMlQeI= +github.com/mewkiz/pkg v0.0.0-20250417130911-3f050ff8c56d h1:IL2tii4jXLdhCeQN69HNzYYW1kl0meSG0wt5+sLwszU= +github.com/mewkiz/pkg v0.0.0-20250417130911-3f050ff8c56d/go.mod h1:SIpumAnUWSy0q9RzKD3pyH3g1t5vdawUAPcW5tQrUtI= github.com/mewpkg/term v0.0.0-20241026122259-37a80af23985 h1:h8O1byDZ1uk6RUXMhj1QJU3VXFKXHDZxr4TXRPGeBa8= github.com/mewpkg/term v0.0.0-20241026122259-37a80af23985/go.mod h1:uiPmbdUbdt1NkGApKl7htQjZ8S7XaGUAVulJUJ9v6q4= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -72,18 +88,24 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k= +github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= +github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= +github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -99,6 +121,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa h1:t2QcU6V556bFjYgu4L6C+6VrCPyJZ+eyRsABUPs1mz4= golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk= +golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM= +golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8= golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -117,6 +141,10 @@ golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -137,6 +165,10 @@ golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -157,6 +189,10 @@ golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/internal/mail/mail.go b/internal/mail/mail.go index 6c880ba..06af62a 100644 --- a/internal/mail/mail.go +++ b/internal/mail/mail.go @@ -57,6 +57,7 @@ func (s *EmailService) Connect() { s.client = conn s.pass = mail[s.User] + s.success("connected to " + mail["dial-tls"]) //defer s.Logout() @@ -132,7 +133,20 @@ func (s *EmailService) LogOut() { } func (s *EmailService) CreateMailbox(mailboxName string) { - s.client.Create(mailboxName, nil) + if err := s.client.Create(mailboxName, nil); err != nil { + log.Println("Помилка створення папки:", mailboxName, err) + } else { + log.Println("Створено папку:", mailboxName) + } +} + +func (s *EmailService) DeleteMailbox(mailboxName string) { + // Вибираємо папку + if err := s.client.Delete(mailboxName); err != nil { + log.Println("Помилка видалення папки:", mailboxName, err) + } else { + log.Println("Папка видалена:", mailboxName) + } } func (s *EmailService) MailboxesList() { diff --git a/pkg/repository/prescene.go b/pkg/repository/prescene.go index b38c544..71b74ae 100644 --- a/pkg/repository/prescene.go +++ b/pkg/repository/prescene.go @@ -10,8 +10,8 @@ import ( "strings" "time" + "github.com/dromara/carbon/v2" "github.com/go-shiori/dom" - "github.com/golang-module/carbon/v2" "github.com/jmoiron/sqlx" "github.com/spf13/viper" @@ -114,7 +114,7 @@ func parseUrl(endpoint string, db *sqlx.DB) ([]model.ExternalSources, error) { localtime := dom.QuerySelector(title, "small > span.localtime") if localtime != nil { lc := dom.GetAttribute(localtime, "data-lttime") - es.Created = carbon.Parse(lc) + es.Created = carbon.Parse(lc, "Europe/Kyiv") } } diff --git a/pkg/repository/rutracker.go b/pkg/repository/rutracker.go index 99152cd..ff50e73 100644 --- a/pkg/repository/rutracker.go +++ b/pkg/repository/rutracker.go @@ -9,7 +9,7 @@ import ( "net/url" "strconv" - "github.com/golang-module/carbon/v2" + "github.com/dromara/carbon/v2" "github.com/jmoiron/sqlx" "github.com/spf13/viper" @@ -48,8 +48,7 @@ func (s *Rutracker) GetTopic(topics []string) ([]model.ExternalSources, error) { es.Title = e.Title es.TypeSubsectionId, _ = strconv.Atoi(t) es.Releaser = e.Author.Name - es.Created = carbon.Parse(e.Updated) - + es.Created = carbon.Parse(e.Updated, "Europe/Kyiv") esModel := table.ExternalSources{Columns: columns} entry := esModel.InsertOnDuplicate(es, s.db) entries = append(entries, entry) diff --git a/pkg/repository/stb.go b/pkg/repository/stb.go index 03c3289..5fc8813 100644 --- a/pkg/repository/stb.go +++ b/pkg/repository/stb.go @@ -7,19 +7,19 @@ import ( "strconv" "strings" + "github.com/dromara/carbon/v2" "github.com/emersion/go-imap/v2" "github.com/go-shiori/dom" - "github.com/golang-module/carbon/v2" "github.com/jmoiron/sqlx" "github.com/spf13/viper" "golang.org/x/net/html" - "git.amok.space/yevhen/resource-scraper/helper/parser" - "git.amok.space/yevhen/resource-scraper/helper/sugar" - "git.amok.space/yevhen/resource-scraper/internal/mail" - _table "git.amok.space/yevhen/resource-scraper/pkg/repository/table" - "git.amok.space/yevhen/resource-scraper/types/constant" - "git.amok.space/yevhen/resource-scraper/types/model" + "git.kplus.net.ua/yevhen/resource-scraper/helper/parser" + "git.kplus.net.ua/yevhen/resource-scraper/helper/sugar" + "git.kplus.net.ua/yevhen/resource-scraper/internal/mail" + _table "git.kplus.net.ua/yevhen/resource-scraper/pkg/repository/table" + "git.kplus.net.ua/yevhen/resource-scraper/types/constant" + "git.kplus.net.ua/yevhen/resource-scraper/types/model" ) type ShareTheBrutality struct { @@ -47,7 +47,10 @@ func (s *ShareTheBrutality) GetMail(email string) ([]model.ExternalSources, *mai //now := carbon.Now() s.EmailService.ListMessages(viper.GetStringSlice(mailboxes), searchCriteria) //box.CreateMailbox("INBOX/Processed") + //s.EmailService.CreateMailbox("Processed") + //s.EmailService.CreateMailbox("Succeed") //s.EmailService.CreateMailbox("Processed/Succeed") + //s.EmailService.DeleteMailbox("Processed") //s.EmailService.CreateMailbox("Processed/Failed") //s.EmailService.CreateMailbox("Processed/Suspicious") //s.EmailService.MailboxesList() @@ -131,7 +134,8 @@ func (s *ShareTheBrutality) Processing(sender map[string]string) []model.Externa } es.Releaser = sourceDataMatch[1] - es.Created = carbon.Parse(msg.Envelope.Date.String()) + es.Created = carbon.Parse(msg.Envelope.Date.String(), "Europe/Kyiv") + es.Type = dbType genre := strings.ToLower(sourceDataMatch[2]) diff --git a/types/model/external_sources.go b/types/model/external_sources.go index d4ef45e..6c5351c 100644 --- a/types/model/external_sources.go +++ b/types/model/external_sources.go @@ -1,7 +1,7 @@ package model import ( - "github.com/golang-module/carbon/v2" + "github.com/dromara/carbon/v2" ) type Type string @@ -21,22 +21,22 @@ type Type string )*/ type ExternalSources struct { - Id int64 `json:"id" db:"id"` - Type string `json:"type" db:"type"` - TypeId int `json:"type_id" db:"type_id"` - Title string `json:"title" db:"title"` - TypeSubsectionId int `json:"type_subsection_id" db:"type_subsection_id"` - Releaser string `json:"releaser" db:"releaser"` - ExSource string `json:"ex_source" db:"eXsource"` - Created carbon.Carbon `json:"created_at" db:"created"` - Modified carbon.Carbon `json:"modified_at" db:"modified"` - Contents string `json:"contents" db:"contents"` - A string `json:"a" db:"a"` - H string `json:"h" db:"h"` - Fingerprint string `json:"fingerprint" db:"fingerprint"` - FsFingerprint string `json:"fs_fingerprint" db:"fs_fingerprint"` - Vid int `json:"vid" db:"vid"` - G string `json:"g" db:"g"` - ExternalSourcesCol string `json:"external_sources_column" db:"external_sourcescol"` + Id int64 `json:"id" db:"id"` + Type string `json:"type" db:"type"` + TypeId int `json:"type_id" db:"type_id"` + Title string `json:"title" db:"title"` + TypeSubsectionId int `json:"type_subsection_id" db:"type_subsection_id"` + Releaser string `json:"releaser" db:"releaser"` + ExSource string `json:"ex_source" db:"eXsource"` + Created *carbon.Carbon `json:"created_at" db:"created"` + Modified carbon.Carbon `json:"modified_at" db:"modified"` + Contents string `json:"contents" db:"contents"` + A string `json:"a" db:"a"` + H string `json:"h" db:"h"` + Fingerprint string `json:"fingerprint" db:"fingerprint"` + FsFingerprint string `json:"fs_fingerprint" db:"fs_fingerprint"` + Vid int `json:"vid" db:"vid"` + G string `json:"g" db:"g"` + ExternalSourcesCol string `json:"external_sources_column" db:"external_sourcescol"` Error error } diff --git a/types/resource/metal-archive.go b/types/resource/metal-archive.go index 8b2a5be..f4e9767 100644 --- a/types/resource/metal-archive.go +++ b/types/resource/metal-archive.go @@ -1,6 +1,6 @@ package resource -import "github.com/golang-module/carbon/v2" +import "github.com/dromara/carbon/v2" /*https://www.metal-archives.com/search/ajax-advanced/searching/albums/?bandName=&releaseTitle=&releaseYearFrom=2024&releaseMonthFrom=09&releaseYearTo=&releaseMonthTo=&country=&location=&releaseLabelName=&releaseCatalogNumber=&releaseIdentifiers=&releaseRecordingInfo=&releaseDescription=&releaseNotes=&genre=&sEcho=6&iColumns=4&sColumns=&iDisplayStart=1000&iDisplayLength=200&mDataProp_0=0&mDataProp_1=1&mDataProp_2=2&mDataProp_3=3&_=1726217541027*/