GithubHelp home page GithubHelp logo

yunohost-apps / galene_ynh Goto Github PK

View Code? Open in Web Editor NEW
10.0 5.0 3.0 7.89 MB

Galène package for YunoHost

Home Page: https://galene.org/

License: GNU General Public License v3.0

Shell 100.00%
yunohost galene videoconferencing yunohost-apps

galene_ynh's Introduction

Galène for YunoHost

Integration level Working status Maintenance status

Install Galène with YunoHost

Read this README in other languages.

This package allows you to install Galène quickly and simply on a YunoHost server.
If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Galène is a videoconference server (an “SFU”) that is easy to deploy and that requires moderate server resources. It was originally designed for lectures and conferences (where a single speaker streams audio and video to hundreds or thousands of users), but later evolved to be useful for student practicals (where users are divided into many small groups), and meetings (where a dozen users interact with each other).

Client features:

  • multiparty audio and video
  • text chat
  • reasonably good support for mobile (Android and iPhone/iPad)
  • screen and window sharing, including sharing multiple windows simultaneously (not on mobile)
  • streaming video and audio from disk
  • activity detection
  • LDAP support
  • invite user
  • Command-line client for Galene file transfer

Shipped version: 0.9.1~ynh1

Demo: https://galene.org:8443/

Screenshots

Screenshot of Galène

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that:

sudo yunohost app install https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug
or
sudo yunohost app upgrade galene -u https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug

More info regarding app packaging: https://yunohost.org/packaging_apps

galene_ynh's People

Contributors

alexaubin avatar ericgaspar avatar salamandar avatar yalh76 avatar yunohost-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

galene_ynh's Issues

petit crash dans une conf

Rpi4b@ynh 4.2.0, galene 0.3.2~ynh3

Salut Éric, juste pour info, j'ai eut un petit crash avec galene. Je ne sais pas si cela est du a galene ou a l'intégration avec ynh ou mon navigateur.
J'ai redémarré le service galene et ça remarche.

Voici le log : https://paste.yunohost.org/luwezesali

Bonne journée
Steven

Do I need a Yunohost account for each Galène user?

Hello,
I am not posting a bug but a question, because in my installation I have to use a known user of Yunohost to connect directly to a "group"!
Is this a mistake on my part?
Thank you in advance for your reply.
Ricardo

Please contribute some text to https://galene.org

Describe the bug

There's no mention of this package on https://galene.org

Context

I'm the upstream author of Galène. I'd like to add some text to the https://galene.org web page that describes this package and links to it. However, I don't use Yunohost myself, so I'm not sure what to write. I'd like a two or three sentence description of
Yunohost and a link that is likely to be useful both to users who don't use Yunohost yet and those who already do.

Steps to reproduce

  • Point your favourite browser at https://galene.org
  • read the page
  • notice there is no mention of Yunohost.

Logs

While performing the actions above, write down the lack of mentions of Yunohost on a piece of paper.

No stream sharing ?

(Install works well, thanks a lot for that package ! 🚀)

I tried to use it (from several browsers, internet connection, and PC + phone), by sharing sounds+camera and/or screen, those streams are shown in the local browser, but not shared to others participants.

Here is the output of galene service status:

Deleting unknown down connection
http: TLS handshake error from 127.0.0.1:59772: EOF

I can't reproduce that message, so I don't know if it's linked.

Also there is no bandwidth indication at the bottom of each stream frame, which might indicate that nothing is sent ? 🤔

. Question concerning access to statistics:

. Question concerning access to statistics:
I tried all the username and password saved on Yunohost and during installation and it doesn't work.
In the documentation of Galène, I saw that it was enough to define a couple "user: password" in the file "/opt/yunohost/galene/data/passwd" then to restart the service galene, but that does not not working !

Originally posted by @rican13 in #42 (comment)

I'm wondering if galene_ynh users are having this problem and if there are any who successfully login to access the statistics page at domain.ltd/stats

I also cannot access it...

Traduction Française ?

Hello, exited to try this must have software on my yunohost.
To make galène more friendly user for no English user, is there a way to translate the (simple) interface in French ?
It seems necessary to install on a dedicated domain, true ? As I don't see folder name proposition on install procedure.

Groupe name with spaces are not supported

I tried to install the app, and to choose a custom group name that included spaces.
It fails:

DEBUG + mv -f /opt/yunohost/galene/groups/groupname.json /opt/yunohost/galene/groups/Groupe par défaut.json
WARNING mv: target 'défaut.json' is not a directory

I don't know if it's an issue with the app or the install script. In the first case, we should warn or (better, but I don't know if it's doable) prevent them from using a group name with spaces.

Upgrade failed

Describe the bug

Upgrade from 0.6.1-ynh1 to 0.6.1-ynh3 failed

Context

  • Hardware: VPS bought online
  • YunoHost version: 11.0.9.15
  • I have access to my server: Through SSH | through the webadmin | direct access via keyboard / screen | ...
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no

Steps to reproduce

  1. Upgrade Galene via webadmin
  2. Result: Upgrade failed

Expected behavior

Upgrade succeeds

Logs

Maybe this is the important part

Upgrading dependencies...
Upgrading NGINX web server configuration...
Building app...
Updating a configuration file...
touch: cannot touch '/opt/yunohost/galene/live_ldap/data/galene-ldap.json': No such file or directory
[Error] Upgrade failed.
The app was restored to the way it was before the failed upgrade.
Could not upgrade galene: An error occurred inside the app upgrade script

https://paste.yunohost.org/raw/jeruyomeze

Yunohost Galene Update Overwrites Files


Everytime there is an update to Galene in Yunohost, these two files get overwritten:

/home/yunohost.app/galene/groups/public.json
/var/www/galene/live/data/config.json

I backed up the files before the update. Also the permissions get changed from 0644 to 0600.

A clear and concise description of what the bug is.

Context

  • Hardware: Old laptop or computer
  • YunoHost version: 11.1.19 (stable).
  • I have access to my server: *Through SSH | through the webadmin
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: No

Steps to reproduce

```

Updated Galene from Webadmin
```

Expected behavior

Galene updated with front page groups links to lead to group logins.

Logs

May 15 10:59:01 systemd[1]: Stopping Galène: videoconferencing server...
May 15 10:59:01 systemd[1]: galene.service: Succeeded.
May 15 10:59:01 systemd[1]: Stopped Galène: videoconferencing server.
May 15 10:59:01 systemd[1]: galene.service: Consumed 35min 16.311s CPU time.
May 15 10:59:39 systemd[1]: Started Galène: videoconferencing server.
May 15 10:59:39 galene[990628]: 2023/05/15 10:59:39 /var/www/galene/live/data/config.json: invalid character '}' looking for beginning of value
May 15 10:59:39 galene[990628]: 2023/05/15 10:59:39 Starting built-in TURN server on 23.84.35.224:1195
May 15 10:59:39 galene[990628]: 2023/05/15 10:59:39 Group file /home/yunohost.app/galene/groups/public.json: invalid character '}' looking for beginning of value
May 15 10:59:39 galene[990628]: 2023/05/15 10:59:39 Unexpected extension for group file /home/yunohost.app/galene/groups/public.json.old
May 15 10:59:39 galene[990628]: 2023/05/15 10:59:39 Relay test successful in 20.806745ms, RTT = 388.063µs

Cron in error when running Coturn_config_rotate.sh ($app missing)

RPI4B @ ynh 4.2.0 with galene 0.3.2~ynh3

Describe the bug

Hi Eric, I was playing around cron jobs and mail and stepped on this error:

Cronic detected failure or error output for the command:
bash -c /opt/yunohost/galene/Coturn_config_rotate.sh;

RESULT CODE: 0

ERROR OUTPUT:
grep: /etc//coturn.conf: No such file or directory
sed: can't read /etc//coturn.conf: No such file or directory
grep: /etc//coturn.conf: No such file or directory

STANDARD OUTPUT:

TRACE-ERROR OUTPUT:

  • ynh_validate_ip --family=4 --ip_address=109.8.95.73
  • local legacy_args=fi
  • args_array=([f]=family= [i]=ip_address=)
  • local -A args_array
  • local family
  • local ip_address
  • ynh_handle_getopts_args --family=4 --ip_address=109.8.95.73
  • set +o xtrace
  • '[' 4 == 4 ']'
  • python /dev/stdin
  • external_IP_line=external-ip=109.8.95.73/IPV6
  • '[' -n '' ']'
  • external_IP_line=external-ip=109.8.95.73
    ++ egrep '^external-ip=.*$' /etc//coturn.conf
    grep: /etc//coturn.conf: No such file or directory
  • old_config_line=
  • ynh_replace_string '^external-ip=.*$' external-ip=109.8.95.73 /etc//coturn.conf
  • local legacy_args=mrf
  • args_array=([m]=match_string= [r]=replace_string= [f]=target_file=)
  • local -A args_array
  • local match_string
  • local replace_string
  • local target_file
  • ynh_handle_getopts_args '^external-ip=.*$' external-ip=109.8.95.73 /etc//coturn.conf
  • set +o xtrace
  • echo '! Helper used in legacy mode !'
  • set +x
  • local delimit=@
  • match_string='^external-ip=.*$'
  • replace_string=external-ip=109.8.95.73
  • sed --in-place 's@^external-ip=.$@external-ip=109.8.95.73@g' /etc//coturn.conf
    sed: can't read /etc//coturn.conf: No such file or directory
    ++ egrep '^external-ip=.
    $' /etc//coturn.conf
    grep: /etc//coturn.conf: No such file or directory
  • new_config_line=
  • setfacl -R -m user:turnserver:rX /etc/galene
  • '[' '' '!=' '' ']'
  • exit 0

Describe the root cause

I look at the file /opt/yunohost/galene/Coturn_config_rotate.sh
and the path is expecting a variable $app, which on my config is not declared, resulting in : /etc//coturn.conf instead of /etc/galene/coturn.conf

I don't know if it is the way to do in the packadge but I added app="galene" and it fixed it for me.

Cheers,
Steven

Install fails with default group name value

If group name is not specified, install use default value groupname, and in that case it fails with this error message : WARNING mv: '/opt/yunohost/galene/groups/groupname.json' and '/opt/yunohost/galene/groups/groupname.json' are the same file

LDAP integration

The upcoming version 0.5 of Galene will have support for external authorisation servers. A working but slightly incomplete version of that code is in the branch "auth" of the Galene repository. It is described here: https://lists.galene.org/galene/[email protected]

It would certainly be desirable if that support could be used to better integrate Galene with Yunohost. Other people who have expressed interest in working on an LDAP authorisation server for Galene are @erdnaxe and @georgesk. Please see also the discussion at jech/galene#106.

Error : renegotiation failed

How to post a meaningful bug report

  1. Read this whole template first.
  2. Determine if you are on the right place:
    • If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!
    • Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.
    • When in doubt, post here and we will figure it out together.
  3. Delete the italic comments as you write over them below, and remove this guide.

Describe the bug

A clear and concise description of what the bug is.

Context

  • Hardware: VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...
  • YunoHost version: x.x.x
  • I have access to my server: Through SSH | through the webadmin | direct access via keyboard / screen | ...
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no / yes
    • If yes, please explain:
  • Using, or trying to install package version/branch:
  • If upgrading, current package version: can be found in the admin, or with yunohost app info $app_id

Steps to reproduce

  • If you performed a command from the CLI, the command itself is enough. For example:
    sudo yunohost app install the_app
  • If you used the webadmin, please perform the equivalent command from the CLI first.
  • If the error occurs in your browser, explain what you did:
    1. Go to '...'
    2. Click on '...'
    3. Scroll down to '...'
    4. See error

Expected behavior

A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.

Logs

When an operation fails, YunoHost provides a simple way to share the logs.

  • In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.
  • In command line, the command to share the logs is displayed at the end of the operation and looks like yunohost log display [log name] --share. If you missed it, you can find the log ID of a previous operation using yunohost log list.

After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)

If applicable and useful, add screenshots to help explain your problem.

Error on domain change

Describe the bug

Error after changing the domain used by galene

Context

Rpi4b
Ynh 4.2.0
Ssh
No

Steps to reproduce

  1. Web admin > applications > galene
  2. Change the generic domaine to my own
  3. Save
  4. Message saying the domain is successfully changed
  5. User interface > galene
  6. Error message (page not found !)

Expected behavior

Having galene working on the new domain or having an error message and a rollback

Logs

Sorry I reinstalled galene since.
Original post on the forum here and Here .

Passwords with quotes breaks the JSON

Describe the bug

When installing the application, if the password contains quotes, it breaks the configuration json file (/home/yunohost.app/galene/groups/GROUP.json)

  • Install Galene using a password containing quotes (like 1"2"3"4"5)
  • After the installation, you should not be able to join the group filled during the installation
  • Also you should get a broken JSON in /home/yunohost.app/galene/groups/GROUP.json due to the quotes not being escaped

Logs

mars 13 21:31:51 domain.tld systemd[1]: Started Galène: videoconferencing server.
mars 13 21:31:51 domain.tld galene[23076]: 2022/03/13 21:31:51 Starting built-in TURN server on XX.XX.XX.XX:1195
mars 13 21:31:51 domain.tld galene[23076]: 2022/03/13 21:31:51 data/config.json: invalid character '<character here>' after object key:value pair
mars 13 21:31:51 domain.tld galene[23076]: 2022/03/13 21:31:51 Group file /home/yunohost.app/galene/groups/skeptikon.json: invalid character '<character here>' after object key:value pair
mars 13 21:31:51 domain.tld galene[23076]: 2022/03/13 21:31:51 Relay test successful in 30.98294ms, RTT = 264.613µs
mars 13 21:37:22 domain.tld galene[23076]: 2022/03/13 21:37:22 group.Add: invalid character '<character here>' after object key:value pair

Thanks for your work! 🙏

Does port 8443 need to be opened?

My yunohost warns me that "Port 8443 is not reachable from outside". Is there any reason behind using both nginx as a reverse proxy and also opening the internal port directly to the internet?

If not: please consider removing that firewall directive. It also circumvents any authentication and security measures by nginx if the service is reachable via another port.

ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port

Only two groups can be used in Yunohost Galene

Describe the bug

When I create groups in Yunohost Galene, only two groups actually work. I created five groups with .json files, placed them in the appropriate folder, but only two show on the web site and only two actually work. The other groups, when put them in the url, give an internal server error.

Context

  • Hardware: Old laptop or computer; Lenovo Think Server (TS140)
  • YunoHost version: 4.2.8.3
  • I have access to my server: Through SSH and through the webadmin
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no

Steps to reproduce

  • Created .json file for group. SCP group to the groups directory.

Expected behavior

All groups should appear on the web site. I should be able to log in to any person from any group once the group is selected.
In all of the .json files the line for public is: "public": true,

Logs

No logs

galene-two-groups
If applicable and useful, add screenshots to help explain your problem.

Groups not accessible from home page

I have an issue with the default group JSON config file. We use a hashed password:

https://github.com/YunoHost-Apps/galene_ynh/blob/fix-json/conf/groupname.json

here is the error output:

Group file /home/yunohost.app/galene/groups/public.json: invalid character 't' after object key:value pair

and the JSON file:

{
   "users":{
      "eric":{
         "permissions":"op",
         "password":"{"type":"pbkdf2","hash":"sha-256","key":"02b1d0dd5764a2b2cd3be64eaa32313700f49e3bef57b35718a46d43f3fbc41b","salt":"38d60fd09728b26d","iterations":4096}"
      },
      "description":"public group",
      "public":true,
      "allow-recording":true,
      "auto-subgroups":true
   }
}

@jech ping

Port 1194 is not reachable from outside in IPv6.

Describe the bug

Even with correct configuration of port, diagnosis page claim that port 1194 is not reachable from outside in IPV6

Context

Hardware: VPS
YunoHost version: 4.3.6.3
I have access to my server: ssh & webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no
Using, or trying to install package version/branch: 0.5.3

Steps to reproduce

  • install app
  • configure port in VPS
  • run diagnosis page

Expected behavior

The port is configured open for IPV6 so it shall not be an error

Error in the coturn script

Hi, I receive this error since the last update. I though this was due to my ynh 4.2.0 but I updated to the last stable ynh 4.2.4 and I still receive this error. I am not sure what the problem is, look like an invalid parameter on a function call?
(rpi4b ynh 4.2.4 galene 0.3.4~ynh1)

Cronic detected failure or error output for the command:
bash -c /opt/yunohost/galene/Coturn_config_rotate.sh;

RESULT CODE: 1

ERROR OUTPUT:

<style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' ']' <style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' <style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' Invalid argument: --

STANDARD OUTPUT:

TRACE-ERROR OUTPUT:

  • ynh_validate_ip --family=4 --ip_address=109.8.95.73
  • local legacy_args=fi
  • args_array=([f]=family= [i]=ip_address=)
  • local -A args_array
  • local family
  • local ip_address
  • ynh_handle_getopts_args --family=4 --ip_address=109.8.95.73
  • set +o xtrace
  • '[' 4 == 4 ']'
  • python /dev/stdin
  • external_IP_line=external-ip=109.8.95.73/IPV6
  • '[' -n '
<style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' ']' + ynh_validate_ip6 '--ip_address= <style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' + local legacy_args=i + args_array=([i]=ip_address=) + local -A args_array + local ip_address + ynh_handle_getopts_args '--ip_address= <style type="text/css"> html, body, #partner, iframe { height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
    body {
        overflow: hidden;
    }
</style>
<meta content="NOW" name="expires">
<meta content="index, follow, all" name="GOOGLEBOT">
<meta content="index, follow, all" name="robots">
<!-- Following Meta-Tag fixes scaling-issues on mobile devices -->
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0;
        user-scalable=0;" name="viewport">
<script type="text/javascript"> function getParam() { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == '\''domain'\'') { return pair[1]; } } return window.location.host; } ;
document.write(
        '\''<script type="text/javascript" language="JavaScript"'\''
                + '\''src="//sedoparking.com/frmpark/'\''
                + getParam() + '\''/'\''
                + '\''sedopark'\''
                + '\''/park.js">'\''
                + '\''<\/script>'\''
);
</script> ' + set +o xtrace + ynh_validate_ip --family=6 '--ip_address=' '' '' '' '' html, body, '#partner,' iframe '{' height: '100%;' width: '100%;' margin: '0;' padding: '0;' border: '0;' outline: '0;' font-size: '100%;' vertical-align: 'baseline;' background: 'transparent;' '}' body '{' overflow: 'hidden;' '}' '</style>' '' '' '' '' '' '' '' '' '' function 'getParam()' '{' var query = 'window.location.search.substring(1);' var vars = 'query.split("&");' for '(var' i = '0;' i '<' 'vars.length;' 'i++)' '{' var pair = 'vars[i].split("=");' if '(pair[0]' == ''\''domain'\'')' '{' return 'pair[1];' '}' '}' return 'window.location.host;' '}' ';' 'document.write(' ''\'''\''' + ''\''<\/script>'\''' ');' '</script>' '' '' + local legacy_args=fi + args_array=([f]=family= [i]=ip_address=) + local -A args_array + local family + local ip_address + ynh_handle_getopts_args --family=6 '--ip_address=' '' '' '' '' html, body, '#partner,' iframe '{' height: '100%;' width: '100%;' margin: '0;' padding: '0;' border: '0;' outline: '0;' font-size: '100%;' vertical-align: 'baseline;' background: 'transparent;' '}' body '{' overflow: 'hidden;' '}' '</style>' '' '' '' '' '' '' '' '' '' function 'getParam()' '{' var query = 'window.location.search.substring(1);' var vars = 'query.split("&");' for '(var' i = '0;' i '<' 'vars.length;' 'i++)' '{' var pair = 'vars[i].split("=");' if '(pair[0]' == ''\''domain'\'')' '{' return 'pair[1];' '}' '}' return 'window.location.host;' '}' ';' 'document.write(' ''\'''\''' + ''\''<\/script>'\''' ');' '</script>' '' '' + set +o xtrace + ret_code=1 + echo 'Invalid argument: --' Invalid argument: -- + exit 1

Upgrade from 3.5 t 4 error

When trying upgrade, I have this message
`Integrating service in YunoHost...

usage: yunohost service add name

[-h] [-d DESCRIPTION] [-l LOG [LOG ...]]

[-t {file,systemd} [{file,systemd} ...]]

[--test_status TEST_STATUS]

[--test_conf TEST_CONF]

[--needs_exposed_ports PORT [PORT ...]] [-n]

[-s STATUS]

yunohost service add: error: argument --needs_exposed_ports: invalid int value: ''

[Error] Upgrade failed.

The user turnserver was not found

13872 I: Creating /var/lib/turn/turndb from /usr/share/doc/coturn/schema.sql

The app was restored to the way it was before the failed upgrade.`

Galene coturn server is not configured correctly: /relay-test fails

Hey there. A big thx for your great work on Yunohost and Galene at first!

Describe the bug

Several users (mostly using non-chromium browsers and a mobile internet connection) have problems to join a Galene conference (they are visible in the sidebar but can't establish video/audio). While investigating into the issue (started a thread over at galene's repo ) I found out that my TURN server seems to be configured incorrectly: /relay-test in Galene fails: Relay test failed: Error: timeout

I checked if the server is running and read the configuration, but I can't find out what the problem is. So if you have a tip, I'd be very happy about it

Context

  • Hardware: VPS (4 core, 8GB RAM) at Hetzner.com
  • YunoHost version: 4.1.8
  • I have access to my server: through ssh mainly, web console in emergency cases
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no – basic user, didn't touch system files or similar
  • installed package in question: 0.3.4~ynh1

Steps to reproduce

  • using /relay-test in Galene (on my server obviously)

Expected behavior

TURN server should be up and running. /relay-test should succeed.

Logs | What else I have done

I replaced the ip with ip.add.of.server and the url with myurl.org – hope that is ok. Of course I can privately share the IP if you want to perform a test or so.

Here are the logs of the coturn-galene service.
I did some other things to understand what the problem is, but didn't really understand the implications.

  • checked if the coturn service is running in yunohost admin area and restarted it
  • did the /relay-test in Galene on several machines/networks – always fails
  • checked the port with nc -v myurl.org 1194 – suceeds
  • checked the turn server with this code for chrome/firefox console (the one under the line): the answer was "no"
  • checked the turn server with this tool: see screens
    ICE transport value: relay
    ICE transport value: all

Connecting coturn_ynh fails (relay-test timeout)

Describe the bug

Installed coturn_ynh as I wanted to solve this issue. Sometimes people still can't see the video streams of others in galene (opened an issue a while ago) and I thought this might be related, too.
I checked if the TURN server is available with the Trickle ICE tool –> working.
I followed the galene_ynh docu for using an own turn server, but the relay-test (in the chat box in galene) fails.
I tried the use-auth-secret and the lt-cred-mech mode with no success (Trickle ICE worked for both). In the logs (sudo journalctl -u coturn) I can only find a note that the relay-test failed. Where can I find verbose information like auth fail or an error code?

Context

  • Hardware: Hetzner VPS
  • YunoHost version: 11.1.5.5
  • I have access to my server: SSH
  • Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.