diff --git a/.github/workflows/updater.sh b/.github/workflows/updater.sh index 218e48e..fe7b121 100755 --- a/.github/workflows/updater.sh +++ b/.github/workflows/updater.sh @@ -16,6 +16,9 @@ # FETCHING LATEST RELEASE AND ITS ASSETS #================================================= +# Access the branch 'testing' +git checkout testing + # Fetching information current_version=$(jq -j '.version|split("~")[0]' manifest.json) repo=$(jq -j '.upstream.code|split("https://github.com/")[1]' manifest.json) diff --git a/README.md b/README.md index 21d0168..280334c 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,11 @@ With GoToSocial, you can keep in touch with your friends, post, read, and share Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). -**Shipped version:** 0.9.0~ynh2 +**Shipped version:** 0.10.0~ynh1 ## Screenshots -![Screenshot of GoToSocial](./doc/screenshots/screenshot.jpg) +![Screenshot of GoToSocial](./doc/screenshots/screenshot.png) ## Disclaimers / important information diff --git a/README_fr.md b/README_fr.md index 88487f1..bf541a2 100644 --- a/README_fr.md +++ b/README_fr.md @@ -25,11 +25,11 @@ Avec GoToSocial, vous pouvez rester en contact avec vos amis, publier, lire et p Vous pouvez consulter la documentation à l'adresse : [docs.gotosocial.org](https://docs.gotosocial.org). -**Version incluse :** 0.9.0~ynh2 +**Version incluse :** 0.10.0~ynh1 ## Captures d’écran -![Capture d’écran de GoToSocial](./doc/screenshots/screenshot.jpg) +![Capture d’écran de GoToSocial](./doc/screenshots/screenshot.png) ## Avertissements / informations importantes diff --git a/conf/arm64.src b/conf/arm64.src index f88a68d..9ef742d 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_arm64.tar.gz -SOURCE_SUM=6b3f543ef9e86953b74b859556996ee533a73fa2ec7ea035b9f392589e3c188b +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_arm64.tar.gz +SOURCE_SUM=90238812b8e398f09c4a42a5b4347e932ea632f921f5b81d6896f35fd032ea0f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_arm64.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_arm64.tar.gz diff --git a/conf/armv6.src b/conf/armv6.src index 7c588a6..39cd7e6 100644 --- a/conf/armv6.src +++ b/conf/armv6.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_armv6.tar.gz -SOURCE_SUM=6a7508c40309a621246f351e95c2bef763b37fda5a8e1f3fe2485d7805973eb1 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_armv6.tar.gz +SOURCE_SUM=6fd8e981722792104c035d82eb433b62b91489f9aef2bffe9ee86e4caf528b05 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_armv6.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_armv6.tar.gz diff --git a/conf/armv7.src b/conf/armv7.src index 22e74cd..5bc3ffd 100644 --- a/conf/armv7.src +++ b/conf/armv7.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_armv7.tar.gz -SOURCE_SUM=41f932878ed3da809aa80dbfab51f0d84c6edc8283ee1893b46ee0338eb7ac01 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_armv7.tar.gz +SOURCE_SUM=01eaccbe8613669b78aa3995638c5c8d84ea1e2ae715192903d980c363cf687c SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_armv7.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_armv7.tar.gz diff --git a/conf/config.yaml b/conf/config.yaml index b88c9f1..c2b949a 100644 --- a/conf/config.yaml +++ b/conf/config.yaml @@ -232,8 +232,8 @@ db-sqlite-cache-size: "8MiB" # If set to empty string or zero, the sqlite default will be used. # See: https://www.sqlite.org/pragma.html#pragma_busy_timeout # Examples: ["0s", "1s", "30s", "1m", "5m"] -# Default: "5s" -db-sqlite-busy-timeout: "5m" +# Default: "30m" +db-sqlite-busy-timeout: "30m" cache: # Cache configuration options: @@ -247,7 +247,7 @@ cache: #### VISIBILITY CACHES ###### ############################# # - # Configure Status and account + # Configure Status and account # visibility cache. visibility-max-size: 2000 @@ -266,7 +266,7 @@ cache: account-ttl: "30m" account-sweep-freq: "1m" - block-max-size: 100 + block-max-size: 1000 block-ttl: "30m" block-sweep-freq: "1m" @@ -290,6 +290,18 @@ cache: follow-request-ttl: "30m" follow-request-sweep-freq: "1m" + instance-max-size: 2000 + instance-ttl: "30m" + instance-sweep-freq: "1m" + + list-max-size: 2000 + list-ttl: "30m" + list-sweep-freq: "1m" + + list-entry-max-size: 2000 + list-entry-ttl: "30m" + list-entry-sweep-freq: "1m" + media-max-size: 1000 media-ttl: "30m" media-sweep-freq: "1m" @@ -324,7 +336,7 @@ cache: webfinger-max-size: 250 webfinger-ttl: "24h" - webfinger-sweep-freq: "1m" + webfinger-sweep-freq: "15m" ###################### ##### WEB CONFIG ##### @@ -426,6 +438,13 @@ accounts-reason-required: __ACCOUNTS_REASON_REQUIRED__ # Default: false accounts-allow-custom-css: __ACCOUNTS_ALLOW_CUSTOM_CSS__ +# Int. If accounts-allow-custom-css is true, this is the permitted length in characters for +# CSS uploaded by accounts on this instance. No effect if accounts-allow-custom-css is false. +# +# Examples: [500, 5000, 9999] +# Default: 10000 +accounts-custom-css-length: __ACCOUNTS_CUSTOM_CSS_LENGTH__ + ######################## ##### MEDIA CONFIG ##### ######################## @@ -476,7 +495,7 @@ media-emoji-local-max-size: __MEDIA_EMOJI_LOCAL_MAX_SIZE__ # This strikes a good balance between decent interoperability with instances that have # higher emoji size limits, and not taking up too much space in storage. # Examples: [51200, 102400] -# Default: 51200 +# Default: 102400 media-emoji-remote-max-size: __MEDIA_EMOJI_REMOTE_MAX_SIZE__ ########################## @@ -501,7 +520,7 @@ storage-local-base-path: "__DATADIR__" # String. API endpoint of the S3 compatible service. # Only required when running with the s3 storage backend. # Examples: ["minio:9000", "s3.nl-ams.scw.cloud", "s3.us-west-002.backblazeb2.com"] -# GoToSocial uses "DNS-style" when accessing buckets. +# GoToSocial uses "DNS-style" when accessing buckets. # If you are using Scaleways object storage, please remove the "bucket name" from the endpoint address # Default: "" storage-s3-endpoint: "__STORAGE_S3_ENDPOINT__" @@ -524,12 +543,14 @@ storage-s3-use-ssl: true # Examples: ["AKIAJSIE27KKMHXI3BJQ","miniouser"] # Default: "" storage-s3-access-key: "__STORAGE_S3_ACCESS_KEY__" + # String. Secret key part of the S3 credentials. # Consider setting this value using environment variables to avoid leaking it via the config file # Only required when running with the s3 storage backend. # Examples: ["5bEYu26084qjSFyclM/f2pz4gviSfoOg+mFwBH39","miniopassword"] # Default: "" storage-s3-secret-key: "__STORAGE_S3_SECRET_KEY__" + # String. Name of the storage bucket. # # If you have already encoded your bucket name in the storage-s3-endpoint, this @@ -619,7 +640,7 @@ letsencrypt-email-address: "" ##### MANUAL TLS CONFIG ##### ############################## -# String. Path to a PEM-encoded file on disk that includes the certificate chain +# String. Path to a PEM-encoded file on disk that includes the certificate chain # and the public key # Examples: ["/gotosocial/storage/certs/chain.pem"] # Default: "" @@ -762,7 +783,7 @@ syslog-enabled: false # String. Protocol to use when directing logs to syslog. Leave empty to connect to local syslog. # Options: ["udp", "tcp", ""] -# Default: "tcp" +# Default: "udp" syslog-protocol: "udp" # String. Address:port to send syslog logs to. Leave empty to connect to local syslog. @@ -800,6 +821,57 @@ tracing-endpoint: "" # Default: false tracing-insecure-transport: false +################################ +##### HTTP CLIENT SETTINGS ##### +################################ + +# Settings for OUTGOING http client connections used by GoToSocial to make +# requests to remote resources (status GETs, media GETs, inbox POSTs, etc). + +http-client: + + # Duration. Timeout to use for outgoing HTTP requests. If the timeout + # is exceeded, the connection to the remote server will be dropped. + # A value of 0s indicates no timeout: this is not advised! + # Examples: ["5s", "10s", "0s"] + # Default: "10s" + timeout: "10s" + + ######################################## + #### RESERVED IP RANGE EXCEPTIONS ###### + ######################################## + # + # Explicitly allow or block outgoing dialing within the provided IPv4/v6 CIDR ranges. + # + # By default, as a basic security precaution, GoToSocial blocks outgoing dialing within most "special-purpose" + # IP ranges. However, it may be desirable for admins with more exotic setups (proxies, funky NAT, etc) to + # explicitly override one or more of these otherwise blocked ranges. + # + # Each of the below allow/block config options accepts an array of IPv4 and/or IPv6 CIDR strings. + # For example, to override the hardcoded block of IPv4 and IPv6 dialing to localhost, set: + # + # allow-ips: ["127.0.0.1/32", "::1/128"]. + # + # You can also use YAML multi-line arrays to define these, but be diligent with indentation. + # + # When dialing, GoToSocial will first check if the destination falls within explicitly allowed IP ranges, + # then explicitly blocked IP ranges, then the default (hardcoded) blocked IP ranges, returning OK on the + # first allowed match, not OK on the first blocked match, or just defaulting to OK if nothing is matched. + # + # As with all security settings, it is better to start too restrictive and then ease off depending on + # your use case, than to start too permissive and try to close the stable door after the horse has + # already bolted. With this in mind: + # - Don't touch these settings unless you have a good reason to, and only if you know what you're doing. + # - When adding explicitly allowed exceptions, use the narrowest possible CIDR for your use case. + # + # For reserved / special ranges, see: + # - https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml + # - https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml + # + # Both allow-ips and block-ips default to an empty array. + allow-ips: [] + block-ips: [] + ############################# ##### ADVANCED SETTINGS ##### ############################# @@ -875,7 +947,7 @@ advanced-throttling-multiplier: 8 # Minimum resolution is 1 second. # # Examples: [30s, 10s, 5s, 1m] -# Default: 30s +# Default: "30s" advanced-throttling-retry-after: "30s" # Int. CPU multiplier for the amount of goroutines to spawn in order to send messages via ActivityPub. diff --git a/conf/i386.src b/conf/i386.src index 52ea365..46db766 100644 --- a/conf/i386.src +++ b/conf/i386.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_386.tar.gz -SOURCE_SUM=73cf171ae72a06dd3da669ffedd03da545a143c4965dd9585ad3586a25c734c2 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_386.tar.gz +SOURCE_SUM=4883f6f2c80535b059b4147c6f9491e13bbec9b624acf95b1893a168a50f2312 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_386.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_386.tar.gz diff --git a/conf/x86-64.src b/conf/x86-64.src index 8146ec3..250afee 100644 --- a/conf/x86-64.src +++ b/conf/x86-64.src @@ -1,7 +1,7 @@ -SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.9.0/gotosocial_0.9.0_linux_amd64.tar.gz -SOURCE_SUM=9b802061eb694508f1876486738b3a4062474eb4df9d864c5e293283c1756337 +SOURCE_URL=https://github.com/superseriousbusiness/gotosocial/releases/download/v0.10.0/gotosocial_0.10.0_linux_amd64.tar.gz +SOURCE_SUM=1618cafe9316d60159b59287e98b4d79d3bb17c4d89ced31f3d325ab59cf5a39 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_EXTRACT=true SOURCE_IN_SUBDIR=false -SOURCE_FILENAME=gotosocial_0.9.0_linux_amd64.tar.gz +SOURCE_FILENAME=gotosocial_0.10.0_linux_amd64.tar.gz diff --git a/config_panel.toml b/config_panel.toml index 3b6b032..2f56854 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -65,6 +65,15 @@ Pour les instances avec des inscriptions publiques, il est **HAUTEMENT RECOMMAND Quelle que soit la valeur de ce paramètre, tout CSS téléchargé ne sera pas fédéré à d'autres instances, il ne sera affiché que sur les profils et les statuts de *cette* instance.""" type = "select" +[main.accounts.accounts_custom_css_length] +ask.en = "Custom CSS length?" +ask.fr = "Longueur du CSS personnalisé ?" +bind = "accounts-custom-css-length:__FINALPATH__/config.yaml" +default = "10000" +help.en = "If accounts-allow-custom-css is 'true', this is the permitted length in characters for CSS uploaded by accounts on this instance. No effect if accounts-allow-custom-css is 'false'. Default: 10000" +help.fr = "Si accounts-allow-custom-css est 'true', il s'agit de la longueur autorisée en caractères pour les feuilles de style CSS qui sont fournies par les comptes sur cette instance. Aucun effet si accounts-allow-custom-css est 'false'. Valeur par défaut : 10000" +type = "number" + ################# #### MEDIA CONFIG ################# diff --git a/doc/screenshots/screenshot.jpg b/doc/screenshots/screenshot.jpg deleted file mode 100644 index 1706dbd..0000000 Binary files a/doc/screenshots/screenshot.jpg and /dev/null differ diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000..750c214 Binary files /dev/null and b/doc/screenshots/screenshot.png differ diff --git a/manifest.json b/manifest.json index 148712a..d5c2c3a 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "ActivityPub social network server", "fr": "Serveur de réseau social basé sur ActivityPub" }, - "version": "0.9.0~ynh2", + "version": "0.10.0~ynh1", "url": "https://github.com/superseriousbusiness/gotosocial", "upstream": { "license": "AGPL-3.0-only", @@ -31,14 +31,6 @@ ], "arguments": { "install": [ - { - "name": "alpha_software", - "type": "alert", - "ask": { - "en": "⚠️ Please note that GoToSocial is in early development stage. It may contain changing or unstable features, bugs, and security vulnerability.", - "fr": "⚠️ Veuillez noter que GoToSocial est au début de son développment. Il pourrait contenir des fonctionnalités changeantes ou instables, des bugs, et des failles de sécurité." - } - }, { "name": "domain", "type": "domain" diff --git a/scripts/install b/scripts/install index fc5fae9..4f096a4 100755 --- a/scripts/install +++ b/scripts/install @@ -43,6 +43,7 @@ accounts_registration_open=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_REGISTRATION_OP accounts_approval_required=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_APPROVAL_REQUIRED") accounts_reason_required=$(convert_bool "$YNH_APP_ARG_ACCOUNTS_REASON_REQUIRED") accounts_allow_custom_css="false" +accounts_custom_css_length="10000" instance_expose_peers="false" instance_expose_suspended="false" @@ -114,6 +115,7 @@ ynh_app_setting_set --app="$app" --key=accounts_registration_open --value="$acco ynh_app_setting_set --app="$app" --key=accounts_approval_required --value="$accounts_approval_required" ynh_app_setting_set --app="$app" --key=accounts_reason_required --value="$accounts_reason_required" ynh_app_setting_set --app="$app" --key=accounts_allow_custom_css --value="$accounts_allow_custom_css" +ynh_app_setting_set --app="$app" --key=accounts_custom_css_length --value="$accounts_custom_css_length" ynh_app_setting_set --app="$app" --key=instance_expose_peers --value="$instance_expose_peers" ynh_app_setting_set --app="$app" --key=instance_expose_suspended --value="$instance_expose_suspended" diff --git a/scripts/upgrade b/scripts/upgrade index 041e688..dceeffe 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -42,6 +42,7 @@ accounts_registration_open=$(ynh_app_setting_get --app="$app" --key=accounts_reg accounts_approval_required=$(ynh_app_setting_get --app="$app" --key=accounts_approval_required) accounts_reason_required=$(ynh_app_setting_get --app="$app" --key=accounts_reason_required) accounts_allow_custom_css=$(ynh_app_setting_get --app="$app" --key=accounts_allow_custom_css) +accounts_custom_css_length=$(ynh_app_setting_get --app="$app" --key=accounts_custom_css_length) media_image_max_size=$(ynh_app_setting_get --app="$app" --key=media_image_max_size) media_video_max_size=$(ynh_app_setting_get --app="$app" --key=media_video_max_size) @@ -295,6 +296,15 @@ then fi fi +# Upgrade from <0.10.0~ynh1: +if ynh_compare_current_package_version --comparison lt --version 0.10.0~ynh1 || [ -z "$accounts_custom_css_length" ] +then + # declaration of new parameter + accounts_custom_css_length="10000" + # registration of parameter + ynh_app_setting_set --app="$app" --key=accounts_custom_css_length --value="$accounts_custom_css_length" +fi + #================================================= # CREATE DEDICATED USER #=================================================