diff --git a/www/remark42/Makefile b/www/remark42/Makefile index 51ce47d80b22..3a501ed6a516 100644 --- a/www/remark42/Makefile +++ b/www/remark42/Makefile @@ -1,135 +1,134 @@ PORTNAME= remark42 DISTVERSIONPREFIX= v -DISTVERSION= 1.14.0 -PORTREVISION= 12 +DISTVERSION= 1.15.0 CATEGORIES= www MASTER_SITES= LOCAL/delphij:npmcache DISTFILES= ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache MAINTAINER= delphij@FreeBSD.org COMMENT= Privacy-focused lightweight commenting engine WWW= https://remark42.com/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS+= npm-node20>0:www/npm-node20 +BUILD_DEPENDS+= npm-node22>0:www/npm-node22 -USES= cpe go:modules tar:xz +USES= cpe go:1.25,modules tar:xz GO_BUILDFLAGS= -ldflags "-s -w -X main.revision=${DISTVERSION}" GO_TARGET= app:${PREFIX}/libexec/${PORTNAME} GO_PKGNAME= github.com/${GH_ACCOUNT}/${PORTNAME}/backend LD_FLAG_X_PREFIX= -X ${GO_PKGNAME}/version MAKE_ENV+= npm_config_offline=true USE_RC_SUBR= ${PORTNAME} USE_GITHUB= yes GH_ACCOUNT= umputun PLIST_FILES= libexec/${PORTNAME} GH_TUPLE= \ Depado:bfchroma:v2.0.0:depado_bfchroma_v2/vendor/github.com/Depado/bfchroma/v2 \ - PuerkitoBio:goquery:v1.9.2:puerkitobio_goquery/vendor/github.com/PuerkitoBio/goquery \ - ajg:form:v1.5.1:ajg_form/vendor/github.com/ajg/form \ - alecthomas:chroma:v2.13.0:alecthomas_chroma_v2/vendor/github.com/alecthomas/chroma/v2 \ - andybalholm:cascadia:v1.3.2:andybalholm_cascadia/vendor/github.com/andybalholm/cascadia \ + PuerkitoBio:goquery:v1.11.0:puerkitobio_goquery/vendor/github.com/PuerkitoBio/goquery \ + alecthomas:chroma:v2.21.1:alecthomas_chroma_v2/vendor/github.com/alecthomas/chroma/v2 \ + andybalholm:cascadia:v1.3.3:andybalholm_cascadia/vendor/github.com/andybalholm/cascadia \ aymerick:douceur:v0.2.0:aymerick_douceur/vendor/github.com/aymerick/douceur \ - cespare:xxhash:v2.2.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \ + cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \ davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \ dghubble:oauth1:v0.7.3:dghubble_oauth1/vendor/github.com/dghubble/oauth1 \ dgryski:go-rendezvous:9f7001d12a5f:dgryski_go_rendezvous/vendor/github.com/dgryski/go-rendezvous \ - didip:tollbooth:v7.0.2:didip_tollbooth_v7/vendor/github.com/didip/tollbooth/v7 \ - didip:tollbooth_chi:d662a7f6928f:didip_tollbooth_chi/vendor/github.com/didip/tollbooth_chi \ - dlclark:regexp2:v1.11.0:dlclark_regexp2/vendor/github.com/dlclark/regexp2 \ - etcd-io:bbolt:v1.3.10:etcd_io_bbolt/vendor/go.etcd.io/bbolt \ - go-chi:chi:v5.1.0:go_chi_chi_v5/vendor/github.com/go-chi/chi/v5 \ - go-chi:cors:v1.2.1:go_chi_cors/vendor/github.com/go-chi/cors \ - go-chi:render:v1.0.3:go_chi_render/vendor/github.com/go-chi/render \ - go-oauth2:oauth2:v4.5.2:go_oauth2_oauth2_v4/vendor/github.com/go-oauth2/oauth2/v4 \ - go-pkgz:auth:v1.24.2:go_pkgz_auth/vendor/github.com/go-pkgz/auth \ - go-pkgz:email:v0.5.0:go_pkgz_email/vendor/github.com/go-pkgz/email \ - go-pkgz:expirable-cache:v3.0.0:go_pkgz_expirable_cache_v3/vendor/github.com/go-pkgz/expirable-cache \ - go-pkgz:jrpc:v0.3.0:go_pkgz_jrpc/vendor/github.com/go-pkgz/jrpc \ + didip:tollbooth:v8.0.1:didip_tollbooth_v8/vendor/github.com/didip/tollbooth/v8 \ + dlclark:regexp2:v1.11.5:dlclark_regexp2/vendor/github.com/dlclark/regexp2 \ + etcd-io:bbolt:v1.4.3:etcd_io_bbolt/vendor/go.etcd.io/bbolt \ + go-chi:chi:v5.2.3:go_chi_chi_v5/vendor/github.com/go-chi/chi/v5 \ + go-chi:cors:v1.2.2:go_chi_cors/vendor/github.com/go-chi/cors \ + go-oauth2:oauth2:v4.5.4:go_oauth2_oauth2_v4/vendor/github.com/go-oauth2/oauth2/v4 \ + go-pkgz:auth:v2.1.1:go_pkgz_auth_v2/vendor/github.com/go-pkgz/auth \ + go-pkgz:email:v0.6.0:go_pkgz_email/vendor/github.com/go-pkgz/email \ + go-pkgz:expirable-cache:v3.1.0:go_pkgz_expirable_cache_v3/vendor/github.com/go-pkgz/expirable-cache \ + go-pkgz:jrpc:v0.4.0:go_pkgz_jrpc/vendor/github.com/go-pkgz/jrpc \ go-pkgz:lcw:v2.0.0:go_pkgz_lcw_v2/vendor/github.com/go-pkgz/lcw \ - go-pkgz:lgr:v0.11.1:go_pkgz_lgr/vendor/github.com/go-pkgz/lgr \ - go-pkgz:notify:v1.1.1:go_pkgz_notify/vendor/github.com/go-pkgz/notify \ - go-pkgz:repeater:v1.1.3:go_pkgz_repeater/vendor/github.com/go-pkgz/repeater \ - go-pkgz:rest:v1.19.0:go_pkgz_rest/vendor/github.com/go-pkgz/rest \ + go-pkgz:lgr:v0.12.1:go_pkgz_lgr/vendor/github.com/go-pkgz/lgr \ + go-pkgz:notify:v1.3.0:go_pkgz_notify/vendor/github.com/go-pkgz/notify \ + go-pkgz:repeater:v1.2.0:go_pkgz_repeater/vendor/github.com/go-pkgz/repeater \ + go-pkgz:repeater:v2.2.0:go_pkgz_repeater_v2/vendor/github.com/go-pkgz/repeater/v2 \ + go-pkgz:rest:v1.20.6:go_pkgz_rest/vendor/github.com/go-pkgz/rest \ + go-pkgz:routegroup:v1.6.0:go_pkgz_routegroup/vendor/github.com/go-pkgz/routegroup \ go-pkgz:syncs:v1.3.2:go_pkgz_syncs/vendor/github.com/go-pkgz/syncs \ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \ - golang-jwt:jwt:v3.2.2:golang_jwt_jwt/vendor/github.com/golang-jwt/jwt \ - golang:crypto:v0.25.0:golang_crypto/vendor/golang.org/x/crypto \ - golang:image:v0.18.0:golang_image/vendor/golang.org/x/image \ - golang:net:v0.27.0:golang_net/vendor/golang.org/x/net \ - golang:oauth2:v0.21.0:golang_oauth2/vendor/golang.org/x/oauth2 \ - golang:snappy:v0.0.4:golang_snappy/vendor/github.com/golang/snappy \ - golang:sync:v0.7.0:golang_sync/vendor/golang.org/x/sync \ - golang:sys:v0.22.0:golang_sys/vendor/golang.org/x/sys \ - golang:text:v0.16.0:golang_text/vendor/golang.org/x/text \ + golang-jwt:jwt:v5.3.0:golang_jwt_jwt_v5/vendor/github.com/golang-jwt/jwt/v5 \ + golang:crypto:v0.46.0:golang_crypto/vendor/golang.org/x/crypto \ + golang:image:v0.34.0:golang_image/vendor/golang.org/x/image \ + golang:net:v0.48.0:golang_net/vendor/golang.org/x/net \ + golang:oauth2:v0.34.0:golang_oauth2/vendor/golang.org/x/oauth2 \ + golang:snappy:v1.0.0:golang_snappy/vendor/github.com/golang/snappy \ + golang:sync:v0.19.0:golang_sync/vendor/golang.org/x/sync \ + golang:sys:v0.39.0:golang_sys/vendor/golang.org/x/sys \ + golang:text:v0.32.0:golang_text/vendor/golang.org/x/text \ google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \ - googleapis:google-cloud-go:v0.5.0:googleapis_google_cloud_go/vendor/cloud.google.com/go/compute/metadata \ + googleapis:google-cloud-go:v0.9.0:googleapis_google_cloud_go/vendor/cloud.google.com/go/compute/metadata \ gorilla:css:v1.0.1:gorilla_css/vendor/github.com/gorilla/css \ gorilla:feeds:v1.2.0:gorilla_feeds/vendor/github.com/gorilla/feeds \ gorilla:websocket:v1.5.3:gorilla_websocket/vendor/github.com/gorilla/websocket \ hashicorp:errwrap:v1.1.0:hashicorp_errwrap/vendor/github.com/hashicorp/errwrap \ hashicorp:go-multierror:v1.1.1:hashicorp_go_multierror/vendor/github.com/hashicorp/go-multierror \ hashicorp:golang-lru:v2.0.7:hashicorp_golang_lru_v2/vendor/github.com/hashicorp/golang-lru/v2 \ jessevdk:go-flags:v1.6.1:jessevdk_go_flags/vendor/github.com/jessevdk/go-flags \ - klauspost:compress:v1.17.9:klauspost_compress/vendor/github.com/klauspost/compress \ + klauspost:compress:v1.18.2:klauspost_compress/vendor/github.com/klauspost/compress \ kyokomi:emoji:v2.2.13:kyokomi_emoji_v2/vendor/github.com/kyokomi/emoji/v2 \ microcosm-cc:bluemonday:v1.0.27:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \ - mongodb:mongo-go-driver:v1.16.0:mongodb_mongo_go_driver/vendor/go.mongodb.org/mongo-driver \ + mongodb:mongo-go-driver:v1.17.6:mongodb_mongo_go_driver/vendor/go.mongodb.org/mongo-driver \ montanaflynn:stats:v0.7.1:montanaflynn_stats/vendor/github.com/montanaflynn/stats \ pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \ - redis:go-redis:v9.4.0:redis_go_redis_v9/vendor/github.com/redis/go-redis/v9 \ + redis:go-redis:v9.17.2:redis_go_redis_v9/vendor/github.com/redis/go-redis/v9 \ rrivera:identicon:d5ba35832c0d:rrivera_identicon/vendor/github.com/rrivera/identicon \ - rs:xid:v1.5.0:rs_xid/vendor/github.com/rs/xid \ + rs:xid:v1.6.0:rs_xid/vendor/github.com/rs/xid \ russross:blackfriday:v2.1.0:russross_blackfriday_v2/vendor/github.com/russross/blackfriday/v2 \ skip2:go-qrcode:da1b6568686e:skip2_go_qrcode/vendor/github.com/skip2/go-qrcode \ - slack-go:slack:v0.12.5:slack_go_slack/vendor/github.com/slack-go/slack \ - stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \ + slack-go:slack:v0.17.3:slack_go_slack/vendor/github.com/slack-go/slack \ + stretchr:testify:v1.11.1:stretchr_testify/vendor/github.com/stretchr/testify \ uber-go:goleak:v1.3.0:uber_go_goleak/vendor/go.uber.org/goleak \ xdg-go:pbkdf2:v1.0.0:xdg_go_pbkdf2/vendor/github.com/xdg-go/pbkdf2 \ - xdg-go:scram:v1.1.2:xdg_go_scram/vendor/github.com/xdg-go/scram \ + xdg-go:scram:v1.2.0:xdg_go_scram/vendor/github.com/xdg-go/scram \ xdg-go:stringprep:v1.0.4:xdg_go_stringprep/vendor/github.com/xdg-go/stringprep \ youmark:pkcs8:a2c0da244d78:youmark_pkcs8/vendor/github.com/youmark/pkcs8 REMARK_PIDDIR= /var/run/${PORTNAME}/ REMARK_USER?= www REMARK_DATADIR?=/var/db/${PORTNAME} REMARK_URL?= http://127.0.0.1:8080 USE_RC_SUBR= remark SUB_LIST+= REMARK_PIDDIR=${REMARK_PIDDIR} \ REMARK_USER=${REMARK_USER} \ REMARK_DATADIR=${REMARK_DATADIR} # (for maintainer) helper target to generate node_modules tarball make-npm-cache: extract @cd ${WRKDIR} && ${RM} -r .npm @cd ${WRKSRC}/frontend/apps/${PORTNAME} \ && ${SETENV} HOME=${WRKDIR} npm install --force @cd ${WRKDIR} \ - && ${TAR} -cJf ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} .npm \ - ${PORTNAME}-${DISTVERSION}/frontend/apps/remark42/package-lock.json \ + && ${TAR} -cf - --mtime='1970-01-01 00:00Z' --owner=0 --group=0 --numeric-owner ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} .npm \ + ${PORTNAME}-${DISTVERSION}/frontend/apps/remark42/package-lock.json | \ + ${XZ_CMD} -v9e > ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} \ && ${ECHO} "Please upload the file ${WRKDIR}/${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}" pre-build: cd ${WRKSRC}/frontend/apps/${PORTNAME} && ${SETENV} HOME=${WRKDIR} npm install --force --legacy-peer-deps cd ${WRKSRC}/frontend/apps/${PORTNAME} && ${SETENV} HOME=${WRKDIR} npm run build ${RM} -r ${WRKSRC}/backend/app/cmd/web/ ${MV} ${WRKSRC}/frontend/apps/remark42/public ${WRKSRC}/backend/app/cmd/web ${FIND} ${WRKSRC}/backend/app/cmd/web -type f \( -name '*.html' -or -name '*.js' -or -name '*.mjs' \) \ -print -exec ${REINPLACE_CMD} -e "s|{% REMARK_URL %}|${REMARK_URL}|g" {} + do-build: cd ${WRKSRC}/backend && ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} build ${GO_BUILDFLAGS} \ -o ${GO_WRKDIR_BIN}/${PORTNAME} ./app .include diff --git a/www/remark42/distinfo b/www/remark42/distinfo index f225c0e8ae4d..bb950cf86893 100644 --- a/www/remark42/distinfo +++ b/www/remark42/distinfo @@ -1,135 +1,133 @@ -TIMESTAMP = 1730278238 -SHA256 (remark42-npm-cache-1.14.0.tar.xz) = 095ddb71b2c222bb4dcc0118fcb28e499a1c988dae6d8dd8b7c7d243da8a806b -SIZE (remark42-npm-cache-1.14.0.tar.xz) = 126622856 -SHA256 (umputun-remark42-v1.14.0_GH0.tar.gz) = 4bee8267bdc1999055b7ac5e97e71c8c1b1b7a5a7f7529a7c75d560625cbad6b -SIZE (umputun-remark42-v1.14.0_GH0.tar.gz) = 6209776 +TIMESTAMP = 1767480304 +SHA256 (remark42-npm-cache-1.15.0.tar.xz) = 2c80a9961ec4e78758117798051e20a42e5bbaf0ec61beecec4d2e119c174e0e +SIZE (remark42-npm-cache-1.15.0.tar.xz) = 129090496 +SHA256 (umputun-remark42-v1.15.0_GH0.tar.gz) = fa14a5f98907fecb84b5754e8cf6f3a34a7415d4b171f043cf5c033e205fec50 +SIZE (umputun-remark42-v1.15.0_GH0.tar.gz) = 6626366 SHA256 (Depado-bfchroma-v2.0.0_GH0.tar.gz) = d999d4cf56554c15fe8d1651e4b5e87dbd5b399a0d4c7af7bc7b682e93da4f18 SIZE (Depado-bfchroma-v2.0.0_GH0.tar.gz) = 7451 -SHA256 (PuerkitoBio-goquery-v1.9.2_GH0.tar.gz) = cac2d8e3e35ef9f8d2c747c6d06bf989e80806f28f03abc1e4c3bff16bca94bf -SIZE (PuerkitoBio-goquery-v1.9.2_GH0.tar.gz) = 107482 -SHA256 (ajg-form-v1.5.1_GH0.tar.gz) = 085e8e98cf63d39241c6ba815b9a71d38808c3fadb6b522feb7fab6d123c44c7 -SIZE (ajg-form-v1.5.1_GH0.tar.gz) = 14946 -SHA256 (alecthomas-chroma-v2.13.0_GH0.tar.gz) = f3538d9db5df0d0325f3eaab7e3d465a6ec9ad6067051863ac52241f070824a0 -SIZE (alecthomas-chroma-v2.13.0_GH0.tar.gz) = 1032348 -SHA256 (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = f30ebb75a9f43a30478c870dd6e372ac7ef64549f621eceb3b13fd91bfde80cb -SIZE (andybalholm-cascadia-v1.3.2_GH0.tar.gz) = 35370 +SHA256 (PuerkitoBio-goquery-v1.11.0_GH0.tar.gz) = cf2219c56621e30c251b30340b6c401d20f7cb6fbf15db61dc74614b79463008 +SIZE (PuerkitoBio-goquery-v1.11.0_GH0.tar.gz) = 108983 +SHA256 (alecthomas-chroma-v2.21.1_GH0.tar.gz) = 8f7ae430fe212bc33bc2c786e278777ce54a6300d92fe33de93f5d1efba148f6 +SIZE (alecthomas-chroma-v2.21.1_GH0.tar.gz) = 1291281 +SHA256 (andybalholm-cascadia-v1.3.3_GH0.tar.gz) = a72cb392a9b6f161d200992fd7f080702ebd408f389cdf58e64be6b12ef46374 +SIZE (andybalholm-cascadia-v1.3.3_GH0.tar.gz) = 36630 SHA256 (aymerick-douceur-v0.2.0_GH0.tar.gz) = ceed015cddc99b600ccbbd6aa0ebe39063554049f70153887d3df7c21fefedbb SIZE (aymerick-douceur-v0.2.0_GH0.tar.gz) = 20914 -SHA256 (cespare-xxhash-v2.2.0_GH0.tar.gz) = b8c684b9e5e136510913727e6a845b28f8176e55db827b11f17769fba970fe13 -SIZE (cespare-xxhash-v2.2.0_GH0.tar.gz) = 12334 +SHA256 (cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5 +SIZE (cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696 SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152 SHA256 (dghubble-oauth1-v0.7.3_GH0.tar.gz) = 98480ffc97cf5ca3a80875263ceee0afdacf279b7148e91aec96a52a751efd99 SIZE (dghubble-oauth1-v0.7.3_GH0.tar.gz) = 22410 SHA256 (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 29584550745fd4b8fce2e2f3def7b9d9ffe2b86cf9b6596b53a660c9bbfe27b6 SIZE (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 1699 -SHA256 (didip-tollbooth-v7.0.2_GH0.tar.gz) = 626b630bd30fd6837136eba59054a067f391ef4a41a40462cbd305cabde34c79 -SIZE (didip-tollbooth-v7.0.2_GH0.tar.gz) = 26112 -SHA256 (didip-tollbooth_chi-d662a7f6928f_GH0.tar.gz) = a64242f72a7c7274ce3ba6416fe3028c9c9c13edbfd633a0c2748f8641cbf60a -SIZE (didip-tollbooth_chi-d662a7f6928f_GH0.tar.gz) = 1830 -SHA256 (dlclark-regexp2-v1.11.0_GH0.tar.gz) = c380209bd67b67859014f9bfd155aec4bfc4beb65f4a6aec37683b80186b18f7 -SIZE (dlclark-regexp2-v1.11.0_GH0.tar.gz) = 212532 -SHA256 (etcd-io-bbolt-v1.3.10_GH0.tar.gz) = 4991a0f2cfb4fd4530c450e3b913cf38fc8566d115c514ecbcef5946a7391400 -SIZE (etcd-io-bbolt-v1.3.10_GH0.tar.gz) = 125701 -SHA256 (go-chi-chi-v5.1.0_GH0.tar.gz) = dd18db378ff111bf8054c762b14890472fd6425bddff5265c2c180605faf382a -SIZE (go-chi-chi-v5.1.0_GH0.tar.gz) = 85550 -SHA256 (go-chi-cors-v1.2.1_GH0.tar.gz) = d3fa42948b4b365db19c9a6639090c6869b968fa8c5ecb9635dce1a9bf4cf8d8 -SIZE (go-chi-cors-v1.2.1_GH0.tar.gz) = 8827 -SHA256 (go-chi-render-v1.0.3_GH0.tar.gz) = 4458232c0a5b600bd64d2b48bc90a8469fcd520e070bd390bbe5e43431999495 -SIZE (go-chi-render-v1.0.3_GH0.tar.gz) = 6165 -SHA256 (go-oauth2-oauth2-v4.5.2_GH0.tar.gz) = 199234a61701d288d379a37d12af32a9bfb9470a8f5f6c714b258405177f06de -SIZE (go-oauth2-oauth2-v4.5.2_GH0.tar.gz) = 579318 -SHA256 (go-pkgz-auth-v1.24.2_GH0.tar.gz) = 06eb67cae46062005d48c91ff870898bbbd541c5028f4dd619ee413198104831 -SIZE (go-pkgz-auth-v1.24.2_GH0.tar.gz) = 273251 -SHA256 (go-pkgz-email-v0.5.0_GH0.tar.gz) = 916e50fa63c87226b6387e849f13bf63e67946ab6c704085798d9fbdcf565b73 -SIZE (go-pkgz-email-v0.5.0_GH0.tar.gz) = 100993 -SHA256 (go-pkgz-expirable-cache-v3.0.0_GH0.tar.gz) = 3d2b660047454e540b469b9469ae48b419374ef9731f68a290bd8147ad919d15 -SIZE (go-pkgz-expirable-cache-v3.0.0_GH0.tar.gz) = 9996 -SHA256 (go-pkgz-jrpc-v0.3.0_GH0.tar.gz) = 158ec6a2c711cee4608f5c55ecc0692c3e38b0c6c4f2af01aea008a64822d988 -SIZE (go-pkgz-jrpc-v0.3.0_GH0.tar.gz) = 15188 +SHA256 (didip-tollbooth-v8.0.1_GH0.tar.gz) = f7ed3df68963234b8df894a12a7488b8a817f2c2055905a580c36425c37ca10a +SIZE (didip-tollbooth-v8.0.1_GH0.tar.gz) = 27443 +SHA256 (dlclark-regexp2-v1.11.5_GH0.tar.gz) = a43238d4a5e6a21fb5a4a8af2565a1843a175686be9c359f3e14ef9995a80ebe +SIZE (dlclark-regexp2-v1.11.5_GH0.tar.gz) = 213678 +SHA256 (etcd-io-bbolt-v1.4.3_GH0.tar.gz) = 369a3daf16ad59d0b25e6a60f94d2ffb027d13e7e63af00626879276dda2f8be +SIZE (etcd-io-bbolt-v1.4.3_GH0.tar.gz) = 170765 +SHA256 (go-chi-chi-v5.2.3_GH0.tar.gz) = 7099aa43243f3ed21dd5cde7a63c2a6b094035336b238bf31501fbc041a95cab +SIZE (go-chi-chi-v5.2.3_GH0.tar.gz) = 87936 +SHA256 (go-chi-cors-v1.2.2_GH0.tar.gz) = ff07d782d7d56f31e53eb1a9c9cc50c3df92f3028d841b2d46a98c2a6a2ab861 +SIZE (go-chi-cors-v1.2.2_GH0.tar.gz) = 8908 +SHA256 (go-oauth2-oauth2-v4.5.4_GH0.tar.gz) = 36585e4e407d3e3d7ab9947802b5894cb52527e786e350beeda5e5dbef9966ca +SIZE (go-oauth2-oauth2-v4.5.4_GH0.tar.gz) = 580365 +SHA256 (go-pkgz-auth-v2.1.1_GH0.tar.gz) = 9a4efe3fefab4afd98c8275de33ef84639bb7412ec577126cdad1fea16e7fd91 +SIZE (go-pkgz-auth-v2.1.1_GH0.tar.gz) = 270598 +SHA256 (go-pkgz-email-v0.6.0_GH0.tar.gz) = ad94d1a2e44bd371408155542267d783af49d245be81d1c67751108ef63dd495 +SIZE (go-pkgz-email-v0.6.0_GH0.tar.gz) = 101250 +SHA256 (go-pkgz-expirable-cache-v3.1.0_GH0.tar.gz) = 0ca5073124d2494132965cdefdca73add8f7115b0b23492760dd4c6411538c9f +SIZE (go-pkgz-expirable-cache-v3.1.0_GH0.tar.gz) = 16417 +SHA256 (go-pkgz-jrpc-v0.4.0_GH0.tar.gz) = 12cf7647ec2d9637bfcc2191d9a3e6139eae49cd434eaebf42a7d07490d4ee5a +SIZE (go-pkgz-jrpc-v0.4.0_GH0.tar.gz) = 14812 SHA256 (go-pkgz-lcw-v2.0.0_GH0.tar.gz) = aa974c65f1dfdd69040238d0f6e4438d63b20083cc899c444f0083aee25f42e3 SIZE (go-pkgz-lcw-v2.0.0_GH0.tar.gz) = 41497 -SHA256 (go-pkgz-lgr-v0.11.1_GH0.tar.gz) = 20af8601ac0bb4d75d45a67897e92f340e2a401548a2ff677004a8027871ce06 -SIZE (go-pkgz-lgr-v0.11.1_GH0.tar.gz) = 15100 -SHA256 (go-pkgz-notify-v1.1.1_GH0.tar.gz) = 606a4522151d4972585fe290cdf2b6bdce5d4f337c29968e573ebc18ea7ceedc -SIZE (go-pkgz-notify-v1.1.1_GH0.tar.gz) = 18546 -SHA256 (go-pkgz-repeater-v1.1.3_GH0.tar.gz) = d3c6bdece4cd305e33efc64369aaab9ebf0452dffb7bd841b9e5a8e861607f43 -SIZE (go-pkgz-repeater-v1.1.3_GH0.tar.gz) = 6059 -SHA256 (go-pkgz-rest-v1.19.0_GH0.tar.gz) = 867491d3b07c03455c4534ed43c48d2e4c70ecd449e73d1094349b7e3d637bf2 -SIZE (go-pkgz-rest-v1.19.0_GH0.tar.gz) = 31725 +SHA256 (go-pkgz-lgr-v0.12.1_GH0.tar.gz) = 380744c93b53ae8d4c640e48bf3d3e89cba1cecae86b7c7961ade970f452a0cd +SIZE (go-pkgz-lgr-v0.12.1_GH0.tar.gz) = 24332 +SHA256 (go-pkgz-notify-v1.3.0_GH0.tar.gz) = 9bb2daebbc20d4f9fa486ad551565acb95784eee31ba350b0b398c1d22e79525 +SIZE (go-pkgz-notify-v1.3.0_GH0.tar.gz) = 19077 +SHA256 (go-pkgz-repeater-v1.2.0_GH0.tar.gz) = 3df4ab3b1a682949ada5616a8bbe600587ac73ccacf94532a2a5c02562ed8009 +SIZE (go-pkgz-repeater-v1.2.0_GH0.tar.gz) = 7010 +SHA256 (go-pkgz-repeater-v2.2.0_GH0.tar.gz) = fb108701aed594998de6ebdd45cf4c97384319ce8fd7aebc12184e285e772dbd +SIZE (go-pkgz-repeater-v2.2.0_GH0.tar.gz) = 10077 +SHA256 (go-pkgz-rest-v1.20.6_GH0.tar.gz) = 8103aae8dfe9110ba6f9884797c274a91a0bef5cb94a62427253922edbef14c8 +SIZE (go-pkgz-rest-v1.20.6_GH0.tar.gz) = 36676 +SHA256 (go-pkgz-routegroup-v1.6.0_GH0.tar.gz) = d6116ec617169d830598bfa7eeeaa5854c2fea9166dd5940fb41a186f741905e +SIZE (go-pkgz-routegroup-v1.6.0_GH0.tar.gz) = 29359 SHA256 (go-pkgz-syncs-v1.3.2_GH0.tar.gz) = 78c90265f7617a9eda774c39deb5f17cd87dfdf161402b3e4dc6e5dac48c0c68 SIZE (go-pkgz-syncs-v1.3.2_GH0.tar.gz) = 9087 SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5 SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173 -SHA256 (golang-jwt-jwt-v3.2.2_GH0.tar.gz) = 4cd18a4bb5d949244f137fed0884f93695ff268cb9efaba71ddcf4c50b17efe0 -SIZE (golang-jwt-jwt-v3.2.2_GH0.tar.gz) = 39887 -SHA256 (golang-crypto-v0.25.0_GH0.tar.gz) = 44619ce0bc1901464e14925487f5152b850b50e214cc12021dbe177f22444749 -SIZE (golang-crypto-v0.25.0_GH0.tar.gz) = 1796762 -SHA256 (golang-image-v0.18.0_GH0.tar.gz) = dd23e3256a92667d201fd031a44294e4d54812e0f6fc69365da3bb4fcf3c730d -SIZE (golang-image-v0.18.0_GH0.tar.gz) = 5103909 -SHA256 (golang-net-v0.27.0_GH0.tar.gz) = 7366b073182cd029815e724a6584cdf01864f46f108e1b1f6beb04597ebacaea -SIZE (golang-net-v0.27.0_GH0.tar.gz) = 1454586 -SHA256 (golang-oauth2-v0.21.0_GH0.tar.gz) = cff4b764ed7b362dfbfb69a96064498b6e9533e3eb1d5904aebc6ef085b7e602 -SIZE (golang-oauth2-v0.21.0_GH0.tar.gz) = 98393 -SHA256 (golang-snappy-v0.0.4_GH0.tar.gz) = 77df678795596f9dfecb5744deb984633d780460a7e9a59e0c7ecfe2052b644f -SIZE (golang-snappy-v0.0.4_GH0.tar.gz) = 66129 -SHA256 (golang-sync-v0.7.0_GH0.tar.gz) = 39bf56d2dc04d16baabbf5eb5d847a2ad68762b5efde7ca3a8fdb24bdcdd9461 -SIZE (golang-sync-v0.7.0_GH0.tar.gz) = 18181 -SHA256 (golang-sys-v0.22.0_GH0.tar.gz) = b5a84a20ff327803ed47aefd837a3264d511b3f644017cb8e050ff1f5bd22471 -SIZE (golang-sys-v0.22.0_GH0.tar.gz) = 1498230 -SHA256 (golang-text-v0.16.0_GH0.tar.gz) = 6df270cb3d696f882857c8ce02233e7f08d5ff900986e1ac669b47e088b18779 -SIZE (golang-text-v0.16.0_GH0.tar.gz) = 8972326 +SHA256 (golang-jwt-jwt-v5.3.0_GH0.tar.gz) = 946655610d8b790757e4d31c8be44860fd45e842370d494140c25296520a9e1c +SIZE (golang-jwt-jwt-v5.3.0_GH0.tar.gz) = 61993 +SHA256 (golang-crypto-v0.46.0_GH0.tar.gz) = 9dfbc96ebeb56e1bf71cd742c2a49494df9e68c4acf141bb6312e32b6c9e9ad1 +SIZE (golang-crypto-v0.46.0_GH0.tar.gz) = 2148802 +SHA256 (golang-image-v0.34.0_GH0.tar.gz) = 0fbd1db0308d71fb2fb642bf6dcee8ecde32a6f41df55c395fb2cf1613ee4609 +SIZE (golang-image-v0.34.0_GH0.tar.gz) = 5111265 +SHA256 (golang-net-v0.48.0_GH0.tar.gz) = 999b4eeae1b018ce0e2353cd656b47297c57fedcb9a419904ff856de0438898f +SIZE (golang-net-v0.48.0_GH0.tar.gz) = 1528679 +SHA256 (golang-oauth2-v0.34.0_GH0.tar.gz) = 7b5aa72ed4631661a3a8fafbc779724296b57d946bd2c0d5e513e48c8e83329f +SIZE (golang-oauth2-v0.34.0_GH0.tar.gz) = 100945 +SHA256 (golang-snappy-v1.0.0_GH0.tar.gz) = 433e6bf6a8380f57dd92020542d865802124e4a9139dc0b1fab5ff51704310bf +SIZE (golang-snappy-v1.0.0_GH0.tar.gz) = 66168 +SHA256 (golang-sync-v0.19.0_GH0.tar.gz) = bb77b590cf5b3703d30cbd19a4ac7ed5f0fb4af67fbc87340ba06023e81db533 +SIZE (golang-sync-v0.19.0_GH0.tar.gz) = 18196 +SHA256 (golang-sys-v0.39.0_GH0.tar.gz) = 2af1491dde3e8296440bf95f99f2e866b317d3842c8334aa49e1c55f397a3ae7 +SIZE (golang-sys-v0.39.0_GH0.tar.gz) = 1535479 +SHA256 (golang-text-v0.32.0_GH0.tar.gz) = 593f4edcbb602157527fbe725ee5ca668cade3d33cd0d12d9f0b13ac1db50f7b +SIZE (golang-text-v0.32.0_GH0.tar.gz) = 8970019 SHA256 (google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d SIZE (google-uuid-v1.6.0_GH0.tar.gz) = 20896 -SHA256 (googleapis-google-cloud-go-v0.5.0_GH0.tar.gz) = 47f397f62b434ea798a72a4a8e8a6d41130e55a791832e6229a76f70194fed16 -SIZE (googleapis-google-cloud-go-v0.5.0_GH0.tar.gz) = 814132 +SHA256 (googleapis-google-cloud-go-v0.9.0_GH0.tar.gz) = 4303332ae35efe09cf9f7fdd81e28014cef996e485f96c7497fcefc3cc48f1ac +SIZE (googleapis-google-cloud-go-v0.9.0_GH0.tar.gz) = 1054667 SHA256 (gorilla-css-v1.0.1_GH0.tar.gz) = c56d3dd69a9922440c3a79246ff3b3fe8114128eac94605e3efcd9c465c57e4a SIZE (gorilla-css-v1.0.1_GH0.tar.gz) = 7769 SHA256 (gorilla-feeds-v1.2.0_GH0.tar.gz) = 75174af287f6e749e6e447dfd0b1b4528a0c7945a030b397595d416455943f25 SIZE (gorilla-feeds-v1.2.0_GH0.tar.gz) = 16783 SHA256 (gorilla-websocket-v1.5.3_GH0.tar.gz) = 707f217e9a46c516c289b71c45a4e51b11b5e0fcec54c1fbfecde47b8a001799 SIZE (gorilla-websocket-v1.5.3_GH0.tar.gz) = 54884 SHA256 (hashicorp-errwrap-v1.1.0_GH0.tar.gz) = 0d73891a7a179e50a142ac8832db97b17c792d29ae205b0e6aeedde4c43d51a4 SIZE (hashicorp-errwrap-v1.1.0_GH0.tar.gz) = 8581 SHA256 (hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 8d1bb3377310e8ffe4c7b5672c5de1eaed153402aebd15d6e5b9673c356a065f SIZE (hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 13803 SHA256 (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 312697d0bf6e6bb44e66a94b2a8a07955edf89af10b09e69b5a9101d30ad5149 SIZE (hashicorp-golang-lru-v2.0.7_GH0.tar.gz) = 23860 SHA256 (jessevdk-go-flags-v1.6.1_GH0.tar.gz) = 01bae681937db1bcab792da59a859392cb55b678c7a3756a18e29a0ff7a462aa SIZE (jessevdk-go-flags-v1.6.1_GH0.tar.gz) = 60612 -SHA256 (klauspost-compress-v1.17.9_GH0.tar.gz) = 8130a8314f6f296bf43a0f07021fe51a994c2069390afd45e57496525312506c -SIZE (klauspost-compress-v1.17.9_GH0.tar.gz) = 38751164 +SHA256 (klauspost-compress-v1.18.2_GH0.tar.gz) = 08d94e493acd70a19ec7010b044a3aba8186aae53f3106d64c91d7ad75a671f6 +SIZE (klauspost-compress-v1.18.2_GH0.tar.gz) = 39076656 SHA256 (kyokomi-emoji-v2.2.13_GH0.tar.gz) = abc1e097e6831fc7957710611c59ee34ee26378ab3a0cbbc9172435ba71279f0 SIZE (kyokomi-emoji-v2.2.13_GH0.tar.gz) = 104791 SHA256 (microcosm-cc-bluemonday-v1.0.27_GH0.tar.gz) = 02f57c2cc795a7ec9d74354d182fcff5cc69734c7a46f82b33b656f8bdb19703 SIZE (microcosm-cc-bluemonday-v1.0.27_GH0.tar.gz) = 169828 -SHA256 (mongodb-mongo-go-driver-v1.16.0_GH0.tar.gz) = c8b1ace875aa9f9ba30abdf836d1c7fca9239683496075787422fb33c7b685b5 -SIZE (mongodb-mongo-go-driver-v1.16.0_GH0.tar.gz) = 5505413 +SHA256 (mongodb-mongo-go-driver-v1.17.6_GH0.tar.gz) = 4f5dcde43b10a59e047b518039bea5beeeda79183ecd113e622e9443319ed566 +SIZE (mongodb-mongo-go-driver-v1.17.6_GH0.tar.gz) = 5567337 SHA256 (montanaflynn-stats-v0.7.1_GH0.tar.gz) = 97e9258173992d3caee6f7d7ac175d559dfc086388ad6c65fde439b808e1b725 SIZE (montanaflynn-stats-v0.7.1_GH0.tar.gz) = 52136 SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398 -SHA256 (redis-go-redis-v9.4.0_GH0.tar.gz) = d2bd26be4dcb2368b6d4fbab2759b61385b0b36f8b8ccf80ad211f0594785973 -SIZE (redis-go-redis-v9.4.0_GH0.tar.gz) = 294300 +SHA256 (redis-go-redis-v9.17.2_GH0.tar.gz) = 299928f824d0644ebb7a76e368479f5b2cc94c5c81344ac783c6c76c28ae217f +SIZE (redis-go-redis-v9.17.2_GH0.tar.gz) = 4996805 SHA256 (rrivera-identicon-d5ba35832c0d_GH0.tar.gz) = 25968d56488ac24dfe008becbd4b950c98c3215277cd9da7009ae5521d6e6f94 SIZE (rrivera-identicon-d5ba35832c0d_GH0.tar.gz) = 24885 -SHA256 (rs-xid-v1.5.0_GH0.tar.gz) = 105fc29a13c39f558a5ccf70bd27eded738628328bad682e24e04c3a798d3196 -SIZE (rs-xid-v1.5.0_GH0.tar.gz) = 11534 +SHA256 (rs-xid-v1.6.0_GH0.tar.gz) = dd4293a4934a37e6f4a1a31e3aa7d5c7dc2be23853697587774ca922b76a3822 +SIZE (rs-xid-v1.6.0_GH0.tar.gz) = 12041 SHA256 (russross-blackfriday-v2.1.0_GH0.tar.gz) = a13af0fc5305713f5154693feaf654d024689efea76390091a5e8c757335b4f4 SIZE (russross-blackfriday-v2.1.0_GH0.tar.gz) = 92896 SHA256 (skip2-go-qrcode-da1b6568686e_GH0.tar.gz) = af179c37da861a43242fb4383186724b34866d7b5bd3e54ca44031a2b9f92046 SIZE (skip2-go-qrcode-da1b6568686e_GH0.tar.gz) = 36693 -SHA256 (slack-go-slack-v0.12.5_GH0.tar.gz) = ea24dbb70860269c3a0dd467486fe48d7fe5535687378830ff76a2bfe9a13400 -SIZE (slack-go-slack-v0.12.5_GH0.tar.gz) = 386148 -SHA256 (stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb -SIZE (stretchr-testify-v1.9.0_GH0.tar.gz) = 108663 +SHA256 (slack-go-slack-v0.17.3_GH0.tar.gz) = c10ec15bbf68356ceac20d1761e03211a26aae7fd536f2a3573618c94bee9c93 +SIZE (slack-go-slack-v0.17.3_GH0.tar.gz) = 416151 +SHA256 (stretchr-testify-v1.11.1_GH0.tar.gz) = 4b51fbc0f19e42841013748e6d527314e1d0e7255122766b5fca1d35b4630c69 +SIZE (stretchr-testify-v1.11.1_GH0.tar.gz) = 116832 SHA256 (uber-go-goleak-v1.3.0_GH0.tar.gz) = 4813e7694736f4d7fd1aad195d942f40ffca448c29bff3282ba6e92eaba4e0cd SIZE (uber-go-goleak-v1.3.0_GH0.tar.gz) = 20057 SHA256 (xdg-go-pbkdf2-v1.0.0_GH0.tar.gz) = 2eec55146447215eb58190e04c546c93cad7f369ac9b5aacd9dc11330d756757 SIZE (xdg-go-pbkdf2-v1.0.0_GH0.tar.gz) = 7758 -SHA256 (xdg-go-scram-v1.1.2_GH0.tar.gz) = 66e8e73966d87b7266957dbe421313b335c455907a36b0115ea81bdf7d1c9d19 -SIZE (xdg-go-scram-v1.1.2_GH0.tar.gz) = 19334 +SHA256 (xdg-go-scram-v1.2.0_GH0.tar.gz) = 82fb3c673cd698ae14b301c86cd58541c0a678d8fd4f8da0e580ee933811199b +SIZE (xdg-go-scram-v1.2.0_GH0.tar.gz) = 32411 SHA256 (xdg-go-stringprep-v1.0.4_GH0.tar.gz) = dc2abbf4f868d71e035d96986bc5c25921046d0e34c7675b6c1d555589611cf0 SIZE (xdg-go-stringprep-v1.0.4_GH0.tar.gz) = 31008 SHA256 (youmark-pkcs8-a2c0da244d78_GH0.tar.gz) = 088a77ed48ea4b35eed3377e4032381080a8f67d5deac1c7301008e5d9211418 SIZE (youmark-pkcs8-a2c0da244d78_GH0.tar.gz) = 14222 diff --git a/www/remark42/files/remark.in b/www/remark42/files/remark.in index c74227e83a90..caf4ccfdb555 100644 --- a/www/remark42/files/remark.in +++ b/www/remark42/files/remark.in @@ -1,290 +1,305 @@ #!/bin/sh # PROVIDE: remark # REQUIRE: LOGIN # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable remark # remark_enable="YES" # # Required settings: # remark_enable (bool): Set to YES to enable remark # Default: NO # remark_url (str): URL to Remark42 server, required # # Options: # remark_secret (str): 256-bit shared key used to sign JWT. # Default: random string # remark_site (str): site name(s), multi # Default: remark # remark_store_type (str): type of storage, bolt or rpc # Default: bolt # remark_store_bolt_path (str): parent directory for the bolt files # Default: %%REMARK_DATADIR%% # remark_backup_path (str): backups location # Default: %%REMARK_DATADIR%%/backup # remark_avatar_fs_path (str): avatars location for fs store # Default: %%REMARK_DATADIR%%/avatars # remark_avatar_bolt_file (str): # avatars bolt file location # Default: %%REMARK_DATADIR%%/avatars.db # remark_avatar_uri (str): avatars store URI # Default: %%REMARK_DATADIR%%/avatars # remark_image_fs_path (str): permanent location of images # Default: %%REMARK_DATADIR%%/pictures # remark_image_fs_staging (str): # staging location of images # Default: %%REMARK_DATADIR%%/pictures.staging # remark_image_bolt_file (str): images bolt file location # Default: %%REMARK_DATADIR%%/pictures.db # # Additional configuration variables available at https://remark42.com/docs/configuration/parameters/ # are exposed with similar naming convention. . /etc/rc.subr name=remark rcvar=remark_enable load_rc_config ${name} : ${remark_enable:="NO"} : ${remark_secret:="$(head -c32 /dev/urandom| uuencode -r -m -)"} : ${remark_url:=""} : ${remark_site:="remark"} : ${remark_store_type:="bolt"} : ${remark_store_bolt_path:="%%REMARK_DATADIR%%"} : ${remark_store_bolt_timeout:="30s"} : ${remark_store_rpc_api:=""} : ${remark_store_rpc_timeout:=""} : ${remark_store_rpc_auth_user:=""} : ${remark_store_rpc_auth_passwd:=""} : ${remark_admin_type:="shared"} : ${remark_admin_rpc_api:=""} : ${remark_admin_rpc_timeout:="5s"} +: ${remark_admin_rpc_auth_user:=""} +: ${remark_admin_rpc_auth_passwd:=""} +: ${remark_admin_rpc_secret_per_site:=""} : ${remark_admin_shared_id:=""} : ${remark_admin_shared_email:=""} : ${remark_backup_path:="%%REMARK_DATADIR%%/backup"} : ${remark_backup_max:="10"} : ${remark_cache_type:="mem"} +: ${remark_cache_redis_addr:=""} +: ${remark_cache_max_items:=""} +: ${remark_cache_max_value:=""} +: ${remark_cache_max_size:=""} : ${remark_avatar_type:="fs"} : ${remark_avatar_fs_path:="%%REMARK_DATADIR%%/avatars"} : ${remark_avatar_bolt_file:="%%REMARK_DATADIR%%/avatars.db"} : ${remark_avatar_uri:=""} : ${remark_avatar_resize_limit:="0"} : ${remark_image_type:="fs"} : ${remark_image_fs_path:="%%REMARK_DATADIR%%/pictures"} : ${remark_image_fs_staging:="%%REMARK_DATADIR%%/pictures.staging"} : ${remark_image_fs_partitions:="100"} : ${remark_image_bolt_file:="%%REMARK_DATADIR%%/pictures.db"} : ${remark_image_rpc_api:=""} : ${remark_image_rpc_timeout:="5s"} : ${remark_image_rpc_auth_user:=""} : ${remark_image_rpc_auth_passwd:=""} : ${remark_image_max_size:="5000000"} : ${remark_image_resize_width:="2400"} : ${remark_image_resize_height:="900"} : ${remark_auth_same_site:="default"} +: ${remark_auth_apple_cid:=""} +: ${remark_auth_apple_tid:=""} +: ${remark_auth_apple_kid:=""} +: ${remark_auth_apple_private_key_filepath:=""} : ${remark_auth_google_cid:=""} : ${remark_auth_google_csec:=""} : ${remark_auth_facebook_cid:=""} : ${remark_auth_facebook_csec:=""} : ${remark_auth_microsoft_cid:=""} : ${remark_auth_microsoft_csec:=""} : ${remark_auth_github_cid:=""} : ${remark_auth_github_csec:=""} : ${remark_auth_twitter_cid:=""} : ${remark_auth_twitter_csec:=""} : ${remark_auth_patreon_cid:=""} : ${remark_auth_patreon_csec:=""} +: ${remark_auth_discord_cid:=""} +: ${remark_auth_discord_csec:=""} : ${remark_auth_yandex_cid:=""} : ${remark_auth_yandex_csec:=""} : ${remark_auth_telegram:=""} : ${remark_user:="%%REMARK_USER%%"} : ${remark_auth_anon:="false"} : ${remark_auth_enable:="false"} : ${remark_auth_email_from:=""} : ${remark_auth_email_subject:="remark42 confirmation"} : ${remark_auth_email_content_type:="text/html"} : ${remark_notify_users:=""} : ${remark_notify_admins:=""} : ${remark_notify_queue:=""} : ${remark_notify_telegram_chan:=""} : ${remark_notify_slack_token:=""} : ${remark_notify_slack_chan:=""} : ${remark_notify_webhook_url:=""} : ${remark_notify_webhook_template:=""} : ${remark_notify_webhook_headers:=""} : ${remark_notify_webhook_timeout:=""} : ${remark_notify_email_from:=""} : ${remark_notify_email_verification_subj:=""} : ${remark_telegram_token:=""} : ${remark_telegram_timeout:=""} : ${remark_smtp_host:=""} : ${remark_smtp_insecure_skip_verify:=""} : ${remark_smtp_port:=""} : ${remark_smtp_username:=""} : ${remark_smtp_password:=""} : ${remark_smtp_login_auth:=""} : ${remark_smtp_tls:=""} : ${remark_smtp_starttls:=""} : ${remark_smtp_timeout:=""} : ${remark_ssl_type:=""} : ${remark_ssl_port:=""} : ${remark_ssl_cert:=""} : ${remark_ssl_key:=""} : ${remark_ssl_acme_location:=""} : ${remark_ssl_acme_email:=""} : ${remark_max_comment_size:=""} : ${remark_min_comment_size:=""} : ${remark_max_votes:=""} : ${remark_votes_ip:=""} : ${remark_anon_vote:=""} : ${remark_votes_ip_time:=""} : ${remark_low_score:=""} : ${remark_critical_score:=""} : ${remark_positive_score:=""} : ${remark_restricted_words:=""} : ${remark_restricted_names:=""} : ${remark_edit_time:=""} : ${remark_admin_edit:=""} : ${remark_readonly_age:=""} : ${remark_image_proxy_http2https:=""} : ${remark_image_proxy_cache_external:=""} : ${remark_emoji:=""} : ${remark_simple_view:=""} : ${remark_proxy_cors:=""} : ${remark_allowed_hosts:=""} : ${remark_remark_address:=""} : ${remark_remark_port:=""} : ${remark_remark_web_root:=""} : ${remark_update_limit:=""} : ${remark_subscribers_only:=""} : ${remark_disable_fancy_html_formatting:=""} : ${remark_disable_signature:=""} : ${remark_admin_passwd:=""} : ${remark_debug:=""} export_variable() { _var="remark_$(echo $1 | tr A-Z a-z)" eval _val="\$${_var}" [ -z "${_val}" ] || export "${1}"="${_val}" } export_variables() { for _v in $@; do export_variable "${_v}" done } remark_precmd() { install -d -o ${remark_user} %%REMARK_PIDDIR%% install -d -o ${remark_user} ${remark_store_bolt_path} if [ -z "${remark_url}" ]; then err 1 "remark_url must be set" fi export REMARK_URL="${remark_url}" export REMARK_SITE="${remark_site}" export_variables SECRET SITE STORE_TYPE case "${STORE_TYPE}" in bolt) export_variables STORE_BOLT_PATH STORE_BOLT_TIMEOUT ;; rpc) export_variables STORE_RPC_API STORE_RPC_TIMEOUT STORE_RPC_AUTH_USER STORE_RPC_AUTH_PASSWD ;; *) err 1 "remark_store_type has to be either 'bolt' or 'rpc'" ;; esac export_variable ADMIN_TYPE case "${ADMIN_TYPE}" in shared) ;; rpc) export_variables ADMIN_RPC_API ADMIN_RPC_TIMEOUT ADMIN_RPC_AUTH_USER ADMIN_RPC_AUTH_PASSWD ;; *) err 1 "remark_admin_type has to be either 'shared' or 'rpc'" ;; esac - export_variables ADMIN_SHARED_ID ADMIN_SHARED_EMAIL BACKUP_PATH + export_variables ADMIN_SHARED_ID ADMIN_SHARED_EMAIL ADMIN_RPC_SECRET_PER_SITE BACKUP_PATH export MAX_BACKUP_FILES="${remark_backup_max}" - export_variables CACHE_TYPE AVATAR_TYPE + export_variables CACHE_TYPE CACHE_REDIS_ADDR CACHE_MAX_ITEMS CACHE_MAX_VALUE CACHE_MAX_SIZE AVATAR_TYPE case "${AVATAR_TYPE}" in fs) export_variable AVATAR_FS_PATH ;; bolt) export_variable AVATAR_BOLT_FILE ;; uri) export_variable AVATAR_URI ;; *) err 1 "remark_avatar_path has to be 'fs', 'bolt' or 'uri'" ;; esac export AVATAR_RESIZE="${remark_avatar_resize_limit}" export_variable IMAGE_TYPE case "${remark_image_type}" in fs) export_variables IMAGE_FS_PATH IMAGE_FS_STAGING IMAGE_FS_PARTITIONS ;; bolt) export_variable IMAGE_BOLT_FILE ;; rpc) export_variables IMAGE_RPC_API IMAGE_RPC_TIMEOUT IMAGE_RPC_AUTH_USER IMAGE_RPC_AUTH_PASSWD ;; *) err 1 "remark_image_type has to be 'fs', 'bolt' or 'rpc'" ;; esac export_variables IMAGE_MAX_SIZE IMAGE_RESIZE_WIDTH IMAGE_RESIZE_HEIGHT AUTH_SAME_SITE AUTH_TELEGRAM - for _provider in google facebook microsoft github twitter patreon yandex; do + # Export Apple auth separately due to different parameters + export_variables AUTH_APPLE_CID AUTH_APPLE_TID AUTH_APPLE_KID AUTH_APPLE_PRIVATE_KEY_FILEPATH + for _provider in google facebook microsoft github twitter patreon discord yandex; do _provider_upper="$(echo ${_provider} | tr a-z A-Z)" export_variables "AUTH_${_provider_upper}_CID" "AUTH_${_provider_upper}_CSEC" done export_variables AUTH_ANON AUTH_EMAIL_ENABLE AUTH_EMAIL_FROM AUTH_EMAIL_SUBJ AUTH_EMAIL_CONTENT_TYPE export_variables NOTIFY_USERS NOTIFY_ADMINS NOTIFY_QUEUE NOTIFY_TELEGRAM_CHAN NOTIFY_SLACK_TOKEN NOTIFY_SLACK_CHAN export_variables NOTIFY_WEBHOOK_URL NOTIFY_WEBHOOK_TEMPLATE NOTIFY_WEBHOOK_HEADERS NOTIFY_WEBHOOK_TIMEOUT export_variables NOTIFY_EMAIL_FROM NOTIFY_EMAIL_VERIFICATION_SUBJ TELEGRAM_TOKEN TELEGRAM_TIMEOUT export_variables SMTP_HOST SMTP_INSECURE_SKIP_VERIFY SMTP_PORT SMTP_USERNAME SMTP_PASSWORD SMTP_LOGIN_AUTH SMTP_TLS export_variables SMTP_STARTTLS SMTP_TIMEOUT SSL_TYPE SSL_PORT SSL_CERT SSL_KEY SSL_ACME_LOCATION export_variables SSL_ACME_EMAIL MAX_COMMENT_SIZE MIN_COMMENT_SIZE MAX_VOTES VOTES_IP ANON_VOTE VOTES_IP_TIME export_variables LOW_SCORE CRITICAL_SCORE POSITIVE_SCORE RESTRICTED_WORDS RESTRICTED_NAMES export_variables EDIT_TIME ADMIN_EDIT READONLY_AGE IMAGE_PROXY_HTTP2HTTPS IMAGE_PROXY_CACHE_EXTERNAL export_variables EMOJI SIMPLE_VIEW PROXY_CORS ALLOWED_HOSTS REMARK_ADDRESS REMARK_PORT REMARK_WEB_ROOT export_variables UPDATE_LIMIT SUBSCRIBERS_ONLY DISABLE_FANCY_HTML_FORMATTING DISABLE_SIGNATURE ADMIN_PASSWD DEBUG } pidfile="%%REMARK_PIDDIR%%${name}.pid" procname="%%PREFIX%%/libexec/remark42" command=/usr/sbin/daemon command_args="-c -p ${pidfile} -T ${name} ${procname} server ${remark_options}" start_precmd="remark_precmd" extra_commands="backup restore cleanup" cleanup_cmd="cleanup" cleanup_precmd="remark_precmd" backup_cmd="backup" backup_precmd="remark_precmd" restore_cmd="restore" restore_precmd="remark_precmd" cleanup() { su -m ${remark_user} -c "${procname} cleanup $@" } backup() { su -m ${remark_user} -c "${procname} backup $@" } restore() { su -m ${remark_user} -c "${procname} restore $@" } run_rc_command $@