Filtro immagini Discourse

Questo plugin utilizza l’API Google Cloud Vision per limitare il caricamento di immagini esplicite nel forum. Tiene conto di tutte le immagini caricate, ovvero avatar, loghi, ecc.

Utilizza il popup di errore di caricamento per visualizzare un messaggio che spiega quali violazioni hanno portato alla limitazione del caricamento dell’immagine.

I limiti accettabili possono essere impostati tramite le impostazioni del sito.


Configurazione

Passaggi:

  1. Crea un account di servizio su Google Cloud https://cloud.google.com/iam/docs/creating-managing-service-accounts
    Google avvierà il download di un file JSON. Conservane il contenuto in modo sicuro.

  2. Incolla queste righe in fondo alla sezione env nel tuo file app.yml

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  istruzioni di seguito
    
  • Come impostare il parametro GOOGLE_PRIVATE_KEY?

    • Incolla la chiave del file JSON in un editor di codice.
    • Usa trova e sostituisci per sostituire \\n con \\\\n.
    • Copia il risultato e incollalo in app.yml davanti a GOOGLE_PRIVATE_KEY, racchiudendolo tra virgolette singole ' '.
  1. Ora segui le procedure standard per installare il plugin.

Impostazioni del Plugin

if_adult_max_acceptable: Livello massimo accettabile per la categoria adult
if_spoof_max_acceptable: Livello massimo accettabile per la categoria spoof
if_medical_max_acceptable: Livello massimo accettabile per la categoria medical
if_violence_max_acceptable: Livello massimo accettabile per la categoria violence
if_racy_max_acceptable: Livello massimo accettabile per la categoria racy

Puoi leggere maggiori dettagli su questi criteri e sull’API stessa qui: Detect explicit content (SafeSearch)  |  Cloud Vision API  |  Google Cloud Documentation

\u003ca href="https://github.com/paviliondev/discourse-image-filter\" target="_blank"\u003e:page_facing_up: Ottieni il codice\u003c/a\u003e

\u003ca href="Pavilion" target="_blank"\u003e:raising_hand_woman: Richiedi una funzionalità\u003c/a\u003e

\u003ca href="Pavilion" target="_blank"\u003e:bug: Segnala un bug\u003c/a\u003e

Note per lo Sviluppo

Per l’utilizzo in un ambiente di sviluppo su macOS, aggiungi questa riga al tuo file .bash_profile:
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

Perso?

Grazie a @Terrapop per aver sponsorizzato il plugin.

22 Mi Piace

@riking

I made this PR FIX: erroneous condition which would cause an error if ever satisfied by fzngagan · Pull Request #10605 · discourse/discourse · GitHub because I realized that the upload error popup wouldn’t display if there’s was a rails side exception while uploading avatars/logos. It works well while uploading from composer. I thought it would be a nice upstream change to incorporate.

6 Mi Piace

Thanks for the ping, missed the Github notification.

5 Mi Piace

Thanks a lot for the merge. It helps discourse and my plugin both.

4 Mi Piace

Great, thanks for your help @fzngagan making this possible, was a pleasure working with you.

For all communities that have child-safe COPPA requirements or want to stay safe in terms of Adsense, or simply don’t want to have gore or nude images anywhere this plugin is a must-have.

7 Mi Piace

@Razcle
This might be something of interest for you

Thanks Faizaan! I was thinking about making something more focussed on language understanding and customisable. Have you had any experience with that?

R

3 Mi Piace

@jahan_gagan might have something to say on NLP.

2 Mi Piace

I had tried the stackoverflow dataset for tags prediction , after that I tried same code for discourse dataset, but due to less volume of data at discourse that code didn’t work here

2 Mi Piace

Quali scope sono necessari per il mio account di servizio? Sto ricevendo l’errore “Request had insufficient authentication scopes”.

Questo può aiutare? Esegue completamente lato client

modello di tossicità del testo

Questo plugin riguarda le IMMAGINI, non il testo.

Per il testo è disponibile un plugin Google Perspective basato sul motore Jigsaw:

2 Mi Piace

Ciao :waving_hand: Questo plugin è ancora utilizzabile? Ho appena visto che l’ultimo commit risale a circa 4 anni fa. Grazie :slightly_smiling_face:

1 Mi Piace

Ho provato a installarlo su un’istanza di test ma sembra esserci un problema con le gemme. La ricostruzione è fallita. Spero sia risolvibile. :crossed_fingers: Forse queste gemme sono solo deprecate…

rake aborted!

Gem::LoadError: can't activate google-protobuf-3.13.0-x86_64-linux, already activated google-protobuf-4.27.3-x86_64-linux (Gem::LoadError)

/var/www/discourse/lib/plugin_gem.rb:25:in `load'

/var/www/discourse/lib/plugin/instance.rb:835:in `gem'

/var/www/discourse/plugins/discourse-image-filter/plugin.rb:12:in `activate!'

/var/www/discourse/lib/plugin/instance.rb:778:in `instance_eval'

/var/www/discourse/lib/plugin/instance.rb:778:in `activate!'

/var/www/discourse/lib/discourse.rb:348:in `block in activate_plugins!'

/var/www/discourse/lib/discourse.rb:345:in `each'

/var/www/discourse/lib/discourse.rb:345:in `activate_plugins!'

/var/www/discourse/config/application.rb:231:in `block in <class:Application>'

/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'

/var/www/discourse/config/application.rb:231:in `<class:Application>'

/var/www/discourse/config/application.rb:75:in `<module:Discourse>'

/var/www/discourse/config/application.rb:74:in `<top (required)>'

/var/www/discourse/Rakefile:7:in `<top (required)>'

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'

/usr/local/bin/bundle:25:in `load'

/usr/local/bin/bundle:25:in `<main>'

(See full trace by running task with --trace)

I, [2024-08-02T16:48:02.872895 #1] INFO -- : gem install os -v 1.1.1 -i /var/www/discourse/plugins/discourse-image-filter/gems/3.3.3 --no-document --ignore-dependencies --no-user-install

Successfully installed os-1.1.1

1 gem installed

gem install google-protobuf -v 3.13.0 -i /var/www/discourse/plugins/discourse-image-filter/gems/3.3.3 --no-document --ignore-dependencies --no-user-install

Successfully installed google-protobuf-3.13.0-x86_64-linux

1 gem installed

I, [2024-08-02T16:48:02.886926 #1] INFO -- : Terminating async processes

I, [2024-08-02T16:48:02.888160 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 36

I, [2024-08-02T16:48:02.888588 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 98

2024-08-02 16:48:02.888 UTC [36] LOG: received fast shutdown request

98:signal-handler (1722617282) Received SIGTERM scheduling shutdown...

2024-08-02 16:48:02.892 UTC [36] LOG: aborting any active transactions

98:M 02 Aug 2024 16:48:02.896 # User requested shutdown...

98:M 02 Aug 2024 16:48:02.897 * Saving the final RDB snapshot before exiting.

2024-08-02 16:48:02.906 UTC [36] LOG: background worker "logical replication launcher" (PID 51) exited with exit code 1

2024-08-02 16:48:02.909 UTC [46] LOG: shutting down

98:M 02 Aug 2024 16:48:02.939 * DB saved on disk

98:M 02 Aug 2024 16:48:02.939 # Redis is now ready to exit, bye bye...

2024-08-02 16:48:02.949 UTC [36] LOG: database system is shut down

FAILED

--------------------

Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 571 exit 1>

Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'

exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}

bootstrap failed with exit code 1

** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

./discourse-doctor may help diagnose the problem.

9213a43b80e800c6f2b1d0adc0663ec82a483b860f0302b8ebabc8a3b2bb0619

Ho etichettato questo come broken.

2 Mi Piace