1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/gotosocial_ynh.git synced 2024-09-03 19:16:06 +02:00

Merge pull request #127 from YunoHost-Apps/testing

This commit is contained in:
OniriCorpe 2024-03-07 01:40:08 +01:00 committed by GitHub
commit 77df1b84a6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 511 additions and 430 deletions

View file

@ -26,7 +26,7 @@ The documentation for this YunoHost package [can be read here](./doc/DOCS.md) an
Please note that this package uses the ["i'm so tired" software license 1.0](https://github.com/YunoHost-Apps/gotosocial_ynh/blob/master/LICENSE), please read it and accept it before proceeding with installation.
**Shipped version:** 0.13.3~ynh1
**Shipped version:** 0.14.0~ynh1
## Screenshots
@ -36,6 +36,8 @@ Please note that this package uses the ["i'm so tired" software license 1.0](htt
- **Alpha software**: Early development stage. May contain changing or unstable features, bugs, and security vulnerability.
- **Not totally free package**: The YunoHost package of this app is under an overall free licence, but with clauses that restrict its use.
## Documentation and resources
* Official app website: <https://gotosocial.org/>

View file

@ -26,7 +26,7 @@ La documentation de ce paquet YunoHost [est lisible ici](./doc/DOCS_fr.md) et l'
Veuillez noter que ce paquet utilise la ["i'm so tired" software license 1.0](https://github.com/YunoHost-Apps/gotosocial_ynh/blob/master/LICENSE), veuillez la lire et l'accepter avant de procéder à l'installation.
**Version incluse :** 0.13.3~ynh1
**Version incluse :** 0.14.0~ynh1
## Captures décran
@ -36,6 +36,8 @@ Veuillez noter que ce paquet utilise la ["i'm so tired" software license 1.0](ht
- **Alpha software**: Early development stage. May contain changing or unstable features, bugs, and security vulnerability.
- **Not totally free package**: The YunoHost package of this app is under an overall free licence, but with clauses that restrict its use.
## Documentations et ressources
* Site officiel de lapp : <https://gotosocial.org/>

View file

@ -5,20 +5,22 @@
# Most of the relevant settings are available in the config panel, if you're
# missing one, open an issue: https://github.com/YunoHost-Apps/gotosocial_ynh/issues
---
# GoToSocial
# Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org
# Copyright (C) GoToSocial Authors admin@gotosocial.org
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
@ -50,7 +52,7 @@ log-client-ip: true
# The format must be compatible with Go's time.Layout, as
# documented on https://pkg.go.dev/time#pkg-constants.
#
# Examples: [true, false]
# Examples: ["2006-01-02T15:04:05.000Z07:00", ""]
# Default: "02/01/2006 15:04:05.000"
log-timestamp-format: "02/01/2006 15:04:05.000"
@ -317,6 +319,43 @@ instance-languages: []
# Default: "blocklist"
instance-federation-mode: "__INSTANCE_FEDERATION_MODE__"
# Bool. Enable spam filtering heuristics for messages entering your instance
# via the federation API. Regardless of what you set here, basic checks
# for message relevancy will still be performed, but you can try enabling
# this setting if you are being spammed with unwanted messages from other
# instances, and want to more strictly filter out spam messages.
#
# THIS IS CURRENTLY AN EXPERIMENTAL SETTING, AND MAY FILTER OUT LEGITIMATE
# MESSAGES, OR FAIL TO FILTER OUT SPAMMY MESSAGES. It is recommended to
# only enable this setting when the fediverse is in the midst of a spam
# wave, and you need to batten down the hatches to keep your instance usable.
#
# The decision of whether a message counts as spam or not is made based on
# the following heuristics, in order, where receiver = the account on your
# instance that received a message in their inbox, and requester = the
# account on a remote instance that sent the message.
#
# First, basic relevancy checks
#
# 1. Receiver follows requester. Return OK.
# 2. Statusable doesn't mention receiver. Return NotRelevant.
#
# If instance-federation-spam-filter = false, then return OK now.
# Otherwise check:
#
# 3. Receiver is locked and is followed by requester. Return OK.
# 4. Five or more people are mentioned. Return Spam.
# 5. Receiver follow (requests) a mentioned account. Return OK.
# 6. Statusable has a media attachment. Return Spam.
# 7. Statusable contains non-mention, non-hashtag links. Return Spam.
#
# Messages identified as spam will be dropped from your instance, and not
# inserted into the database, or into home timelines or notifications.
#
# Options: [true, false]
# Default: false
instance-federation-spam-filter: false
# Bool. Allow unauthenticated users to make queries to /api/v1/instance/peers?filter=open in order
# to see a list of instances that this instance 'peers' with. Even if set to 'false', then authenticated
# users (members of the instance) will still be able to query the endpoint.
@ -370,6 +409,7 @@ instance-deliver-to-shared-inboxes: __INSTANCE_DELIVER_TO_SHARED_INBOXES__
# Default: false
instance-inject-mastodon-version: __INSTANCE_INJECT_MASTODON_VERSION__
###########################
##### ACCOUNTS CONFIG #####
###########################
@ -420,14 +460,22 @@ accounts-custom-css-length: __ACCOUNTS_CUSTOM_CSS_LENGTH__
# Config pertaining to media uploads (videos, image, image descriptions, emoji).
# Int. Maximum allowed image upload size in bytes.
# Examples: [2097152, 10485760]
# Default: 10485760 -- aka 10MB
# Size. Maximum allowed image upload size in bytes.
#
# Raising this limit may cause other servers to not fetch media
# attached to a post.
#
# Examples: [2097152, 10485760, 10MB, 10MiB]
# Default: 10MiB (10485760 bytes)
media-image-max-size: __MEDIA_IMAGE_MAX_SIZE__
# Int. Maximum allowed video upload size in bytes.
# Examples: [2097152, 10485760]
# Default: 41943040 -- aka 40MB
# Size. Maximum allowed video upload size in bytes.
#
# Raising this limit may cause other servers to not fetch media
# attached to a post.
#
# Examples: [2097152, 10485760, 40MB, 40MiB]
# Default: 40MiB (41943040 bytes)
media-video-max-size: __MEDIA_VIDEO_MAX_SIZE__
# Int. Minimum amount of characters required as an image or video description.
@ -437,23 +485,28 @@ media-description-min-chars: __MEDIA_DESCRIPTION_MIN_CHARS__
# Int. Maximum amount of characters permitted in an image or video description.
# Examples: [500, 1000, 1500]
# Default: 500
# Examples: [1000, 1500, 3000]
# Default: 1500
media-description-max-chars: __MEDIA_DESCRIPTION_MAX_CHARS__
# Int. Max size in bytes of emojis uploaded to this instance via the admin API.
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
#
# The default is the same as the Mastodon size limit for emojis (50kb), which allows
# for good interoperability. Raising this limit may cause issues with federation
# of your emojis to other instances, so beware.
# Examples: [51200, 102400]
# Default: 51200
#
# Examples: [51200, 102400, 50KB, 50KiB]
# Default: 50KiB (51200 bytes)
media-emoji-local-max-size: __MEDIA_EMOJI_LOCAL_MAX_SIZE__
# Int. Max size in bytes of emojis to download from other instances.
# Size. Max size in bytes of emojis to download from other instances.
#
# By default this is 100kb, or twice the size of the default for 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: 102400
#
# Examples: [51200, 102400, 100KB, 100KiB]
# Default: 100KiB (102400 bytes)
media-emoji-remote-max-size: __MEDIA_EMOJI_REMOTE_MAX_SIZE__
# The below media cleanup settings allow admins to customize when and
@ -558,18 +611,15 @@ storage-s3-bucket: "__STORAGE_S3_BUCKET__"
# Config pertaining to the creation of statuses/posts, and permitted limits.
# Int. Maximum amount of characters permitted for a new status.
# Int. Maximum amount of characters permitted for a new status,
# including the content warning (if set).
#
# Note that going way higher than the default might break federation.
#
# Examples: [140, 500, 5000]
# Default: 5000
statuses-max-chars: __STATUSES_MAX_CHARS__
# Int. Maximum amount of characters allowed in the CW/subject header of a status.
# Note that going way higher than the default might break federation.
# Examples: [100, 200]
# Default: 100
statuses-cw-max-chars: __STATUSES_CW_MAX_CHARS__
# Int. Maximum amount of options to permit when creating a new poll.
# Note that going way higher than the default might break federation.
# Examples: [4, 6, 10]
@ -702,6 +752,12 @@ oidc-scopes:
# Default: false
oidc-link-existing: __OIDC_LINK_EXISTING__
# Array of string. If the returned ID token contains a 'groups' claim that matches one of the
# groups in oidc-allowed-groups, then this user will be granted access on the GtS instance. If the array is empty,
# then all groups will be granted permission.
# Default: []
oidc-allowed-groups: []
# Array of string. If the returned ID token contains a 'groups' claim that matches one of the
# groups in oidc-admin-groups, then this user will be granted admin rights on the GtS instance
# Default: []
@ -1042,3 +1098,20 @@ advanced-sender-multiplier: 2
# Example: ["s3.example.org", "some-bucket-name.s3.example.org"]
# Default: []
advanced-csp-extra-uris: []
# String. HTTP request header filtering mode to use for this instance.
#
# "block" -- only requests that are explicitly blocked by header filters
# will be denied (unless they are also explicitly allowed).
#
# "allow" -- only requests that are explicitly allowed by header filters
# will be accepted (unless they are also explicitly blocked).
#
# "" -- request header filtering disabled.
#
# For more details on block and allow modes, check the documentation at:
# https://docs.gotosocial.org/en/latest/admin/request_filtering_modes
#
# Options: ["block", "allow", ""]
# Default: ""
advanced-header-filter-mode: ""

View file

@ -87,19 +87,23 @@ help = "Config pertaining to user media uploads (videos, image, image descriptio
ask.en = "Maximum allowed image upload size in bytes."
ask.fr = "Taille maximale autorisée pour le téléchargement d'images, en octets."
bind = "media-image-max-size:__INSTALL_DIR__/config.yaml"
default = "2097152"
help.en = "Default: 2097152 -- aka 2MB"
help.fr = "Valeur par défaut : 2097152 (soit 2 Mo)"
type = "number"
default = "10MiB"
help.en = "Default: 10MiB (10485760 bytes)"
help.fr = "Valeur par défaut : 10MiB (10485760 octets)"
type = "string"
pattern.regexp = "^[0-9]*(KB|KiB|MB|MiB)?$"
pattern.error = "Should be a number with or without the following unit marker: KB, KiB, MB, MiB."
[main.media.media_video_max_size]
ask.en = "Maximum allowed video upload size in bytes."
ask.fr = "Taille maximale autorisée pour le téléchargement de vidéos, en octets."
bind = "media-video-max-size:__INSTALL_DIR__/config.yaml"
default = "10485760"
help.en = "Default: 10485760 -- aka 10MB"
help.fr = "Valeur par défaut : 10485760 (soit 10 Mo)"
type = "number"
default = "40MiB"
help.en = "Default: 40MiB (41943040 bytes)"
help.fr = "Valeur par défaut : 40MiB (41943040 octets)"
type = "string"
pattern.regexp = "^[0-9]*(KB|KiB|MB|MiB)?$"
pattern.error = "Should be a number with or without the following unit marker: KB, KiB, MB, MiB."
[main.media.media_description_min_chars]
ask.en = "Minimum amount of characters required as an image or video description."
@ -114,9 +118,9 @@ type = "number"
ask.en = "Maximum amount of characters permitted in an image or video description."
ask.fr = "Nombre maximum de caractères requis pour la description d'une image ou d'une vidéo."
bind = "media-description-max-chars:__INSTALL_DIR__/config.yaml"
default = "500"
help.en = "Default: 500"
help.fr = "Valeur par défaut : 500"
default = "1500"
help.en = "Default: 1500"
help.fr = "Valeur par défaut : 1500"
type = "number"
[main.media.media_remote_cache_days]
@ -140,27 +144,31 @@ type = "number"
ask.en = "Max size in bytes of emojis uploaded to this instance via the admin API."
ask.fr = "Taille maximale en octets des emojis téléchargés vers cette instance via l'API d'administration."
bind = "media-emoji-local-max-size:__INSTALL_DIR__/config.yaml"
default = "51200"
help.en = """Default: 51200\
default = "50KiB"
help.en = """Default: 50KiB (51200 bytes)\
The default is the same as the Mastodon size limit for emojis (50kb), which allows for good interoperability.\
Raising this limit may cause issues with federation of your emojis to other instances, so beware."""
help.fr = """Valeur par défaut : 51200\
help.fr = """Valeur par défaut : 50KiB (51200 octets)\
La valeur par défaut est la même que la limite de taille des emojis de Mastodon (50 ko), ce qui permet une bonne interopérabilité.\
Si vous augmentez cette limite, vous risquez d'avoir des problèmes avec la fédération de vos emojis à d'autres instances, alors faites preuve de prudence."""
type = "number"
type = "string"
pattern.regexp = "^[0-9]*(KB|KiB|MB|MiB)?$"
pattern.error = "Should be a number with or without the following unit marker: KB, KiB, MB, MiB."
[main.media.media_emoji_remote_max_size]
ask.en = "Max size in bytes of emojis to download from other instances."
ask.fr = "Taille maximale en octets des emojis téléchargeables à partir d'autres instances."
bind = "media-emoji-remote-max-size:__INSTALL_DIR__/config.yaml"
default = "102400"
help.en = """Default: 102400\
default = "100KiB"
help.en = """Default: 100KiB\
By default this is 100kb, or twice the size of the default for 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."""
help.fr = """Valeur par défaut : 102400\
help.fr = """Valeur par défaut : 100KiB\
Par défaut, cette taille est de 100 Ko, soit le double de la taille par défaut de media-emoji-local-max-size (le paramètre précédent).\
Cette valeur représente un bon équilibre entre une interopérabilité décente avec les instances qui ont des limites de taille d'emoji plus élevées et le fait de ne pas prendre trop d'espace de stockage."""
type = "number"
type = "string"
pattern.regexp = "^[0-9]*(KB|KiB|MB|MiB)?$"
pattern.error = "Should be a number with or without the following unit marker: KB, KiB, MB, MiB."
###################
### STATUSES CONFIG
@ -180,15 +188,6 @@ help.en = "Default: 5000. Note that going way higher than the default might brea
help.fr = "Valeur par défaut : 5000. Notez que si vous dépassez la valeur par défaut, vous risquez de compromettre la fédération."
type = "number"
[main.statuses.statuses_cw_max_chars]
ask.en = "Maximum amount of characters allowed in the CW/subject header of a status."
ask.fr = "Nombre maximum de caractères autorisés dans l'en-tête CW/sujet d'un statut."
bind = "statuses-cw-max-chars:__INSTALL_DIR__/config.yaml"
default = "100"
help.en = "Default: 100. Note that going way higher than the default might break federation."
help.fr = "Valeur par défaut : 100. Notez que si vous dépassez la valeur par défaut, vous risquez de compromettre la fédération."
type = "number"
[main.statuses.statuses_poll_max_options]
ask.en = "Maximum amount of options to permit when creating a new poll."
ask.fr = "Nombre maximum d'options autorisées lors de la création d'un nouveau sondage."

View file

@ -7,7 +7,7 @@ name = "GoToSocial"
description.en = "Fast ActivityPub social network server written in Go"
description.fr = "Serveur de réseau social véloce basé sur ActivityPub écrit en Go"
version = "0.13.3~ynh1"
version = "0.14.0~ynh1"
maintainers = ["OniriCorpe"]
@ -78,16 +78,16 @@ default = true
[resources]
[resources.sources.main]
in_subdir = false
i386.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.13.3/gotosocial_0.13.3_linux_386.tar.gz"
i386.sha256 = "406150e2ed31f9a415810e14cdd1659954076370346a071c11ede2489cd97ec6"
amd64.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.13.3/gotosocial_0.13.3_linux_amd64.tar.gz"
amd64.sha256 = "ad45dd23c540a9c0417e62fcde06ea9fcc1a477c98a2948f0069bb7d8029f279"
armv6.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.13.3/gotosocial_0.13.3_linux_armv6.tar.gz"
armv6.sha256 = "62dd6fc0cff1202b4a1196d00796d6d5e4468bf30fa145f6067e5d991443305b"
armv7.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.13.3/gotosocial_0.13.3_linux_armv7.tar.gz"
armv7.sha256 = "8550d81f412e5a9750ca0eee286c753dcb413e6714041d5fb1990aecaa0713c8"
arm64.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.13.3/gotosocial_0.13.3_linux_arm64.tar.gz"
arm64.sha256 = "32bee12de98daac56867541197b9f170103cda04a92ca55f42b946a7b354f144"
i386.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.14.0/gotosocial_0.14.0_linux_386.tar.gz"
i386.sha256 = "b716a5b4dae751e45516f5de015ac5b476dd1a1ba0ab0ce37268b3af5b89ac63"
amd64.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.14.0/gotosocial_0.14.0_linux_amd64.tar.gz"
amd64.sha256 = "9ecdc804f80f4c64d5b024346d25f21b9039632b2a43fe542f99d330c440da19"
armv6.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.14.0/gotosocial_0.14.0_linux_armv6.tar.gz"
armv6.sha256 = "138e25d983af84f853b0c42dd8f1934c6cb838769e22b2c385115d0f87925285"
armv7.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.14.0/gotosocial_0.14.0_linux_armv7.tar.gz"
armv7.sha256 = "11e95c9a8b6b24b33ed42e114f54e57f463924e9ca0f6a05297fe9baeea61746"
arm64.url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v0.14.0/gotosocial_0.14.0_linux_arm64.tar.gz"
arm64.sha256 = "aaac998a543484d030d4ea46dc104f9ff3efe11252ff0e7d50a48143368ef4cd"
autoupdate.asset.i386 = "gotosocial_.*linux_386.tar.gz$"
autoupdate.asset.amd64 = "gotosocial_.*linux_amd64.tar.gz$"

View file

@ -38,13 +38,13 @@ instance_expose_public_timeline="false"
instance_deliver_to_shared_inboxes="true"
instance_inject_mastodon_version="false"
media_image_max_size="10485760"
media_video_max_size="41943040"
media_image_max_size="10MiB"
media_video_max_size="40MiB"
media_description_min_chars="0"
media_description_max_chars="500"
media_description_max_chars="1500"
media_remote_cache_days="7"
media_emoji_local_max_size="51200"
media_emoji_remote_max_size="102400"
media_emoji_local_max_size="50KiB"
media_emoji_remote_max_size="100KiB"
storage_backend="local"
storage_s3_endpoint=""
@ -54,7 +54,6 @@ storage_s3_secret_key=""
storage_s3_bucket=""
statuses_max_chars="5000"
statuses_cw_max_chars="100"
statuses_poll_max_options="6"
statuses_poll_option_max_chars="50"
statuses_media_max_files="6"
@ -127,7 +126,6 @@ ynh_app_setting_set --app="$app" --key=storage_s3_secret_key --value="$storage_s
ynh_app_setting_set --app="$app" --key=storage_s3_bucket --value="$storage_s3_bucket"
ynh_app_setting_set --app="$app" --key=statuses_max_chars --value="$statuses_max_chars"
ynh_app_setting_set --app="$app" --key=statuses_cw_max_chars --value="$statuses_cw_max_chars"
ynh_app_setting_set --app="$app" --key=statuses_poll_max_options --value="$statuses_poll_max_options"
ynh_app_setting_set --app="$app" --key=statuses_poll_option_max_chars --value="$statuses_poll_option_max_chars"
ynh_app_setting_set --app="$app" --key=statuses_media_max_files --value="$statuses_media_max_files"
@ -171,7 +169,7 @@ ynh_setup_source --dest_dir="$install_dir"
# files in some cases.
# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder _
# this will be treated as a security issue.
chmod 750 "$install_dir"
chmod -R 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"

View file

@ -273,6 +273,13 @@ if [ -z "${oidc_link_existing:-}" ]; then
ynh_app_setting_set --app="$app" --key=oidc_client_secret --value="$oidc_link_existing"
fi
# Upgrade from <0.14.0~ynh1:
if ynh_compare_current_package_version --comparison lt --version 0.14.0~ynh1 || [ -n "${statuses_cw_max_chars:-}" ]
then
# parameter removal
ynh_app_setting_delete --app="$app" --key=statuses_cw_max_chars
fi
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================