feature-requests icon indicating copy to clipboard operation
feature-requests copied to clipboard

Unable to install free marketplace apps without logging in

Open kelvinhammond opened this issue 5 years ago • 31 comments

Description:

An admin is unable to install free apps from the marketplace without registering their instance. This creates a dependency on the rocketchat cloud.

Instances should be allowed to be private without having to auth with a third party to download apps.

Steps to reproduce:

  1. Go to marketplace
  2. Click on a free app
  3. Click the free button to install it

Expected behavior:

The app is installed

Actual behavior:

I get unauthenticated and asked to login.

Server Setup Information:

  • Version of Rocket.Chat Server: 1.0.3
  • Operating System: debian
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog: enabled
  • NodeJS Version: 8.11.4
  • MongoDB Version: 4.0.4

Additional context

Instances should not phone back home unless its allowed and authentication should not be required for free apps.

kelvinhammond avatar May 11 '19 05:05 kelvinhammond

And related - unable to disable Market Place entirely if required. Still in latest:

https://github.com/RocketChat/Rocket.Chat/issues/12359

reetp avatar May 11 '19 16:05 reetp

this is still an issue in 1.2.1 - any idea when this will be fixed?

pbexiga avatar Jul 08 '19 11:07 pbexiga

I do not want a paid account for using just free apps. Will there be a option to install them?

djnews24 avatar Jul 09 '19 09:07 djnews24

FWIW I just ran into this same issue and if you enable development mode for apps, you can upload zip archives which can be manually download from the app Marketplace.

Definitely not ideal, but a manageable stopgap until downloading free apps from the Marketplace without an account is an option.

citruspi avatar Jul 09 '19 10:07 citruspi

FWIW I just ran into this same issue and if you enable development mode for apps, you can upload zip archives which can be manually download from the app Marketplace.

Definitely not ideal, but a manageable stopgap until downloading free apps from the Marketplace without an account is an option.

citruspi and where i can download the zips?

djnews24 avatar Jul 09 '19 15:07 djnews24

@djnews24 Ah, so that's the fun part :)

TBH I didn't know until you asked, I just noticed that one provider of Rocket.chat apps had download links on their website which linked to the official Rocket.chat Marketplace and returned the zip archive.

e.g. https://apis.reiske.tech/giphy has a download link which links to https://marketplace.rocket.chat/v1/apps/8b882242-0cb7-419f-87d8-93b1d09e1ec2/download

I just took a quick look at the Marketplace website's Javascript code to figure out how you'd be able to download other apps...

  1. The Marketplace website makes an HTTP request to retrieve the available applications
$ curl https://marketplace.rocket.chat/v1/apps > rc.apps.json
  1. The contents of that JSON response is an array of applications, e.g.
[
  {
    "appId": "4e28f03b-054b-4ce3-9573-fd8a6bcbecf6",
    "latest": {
      "id": "4e28f03b-054b-4ce3-9573-fd8a6bcbecf6",
      "name": "appear.in",
      "nameSlug": "appearin",
  1. Find the application you want and grab the ID
  2. Use the download link (https://marketplace.rocket.chat/v1/apps/{id}/download) to pull it, e.g.
$ curl -L https://marketplace.rocket.chat/v1/apps/4e28f03b-054b-4ce3-9573-fd8a6bcbecf6/download > appear.in.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    90  100    90    0     0    656      0 --:--:-- --:--:-- --:--:--   656
100   434  100   434    0     0   2889      0 --:--:-- --:--:-- --:--:--  2889
100 98942  100 98942    0     0   305k      0 --:--:-- --:--:-- --:--:--  305k
$ unzip appear.in.zip
Archive:  appear.in.zip
  inflating: .packagedby
  inflating: app.json
  inflating: AppearInApp.ts
  inflating: assets/details.png
  inflating: assets/message.png
  inflating: commands/AppearInCommand.ts
  inflating: i18n/en.json
  inflating: icon.png
  1. Upload the zip archive to your server and profit 💰

citruspi avatar Jul 09 '19 15:07 citruspi

Bonus jq command to provide an App ID given the name

$ cat rc.apps.json| jq '.[] | select(any(.latest; .name == "Jitsi Slash Command")) | .appId'
"3b387ba9-f57c-44c6-9810-8c0256abd64c"

citruspi avatar Jul 09 '19 15:07 citruspi

Thanks for the tips @citruspi I was writting my jq too :'D

cs35-owncloud avatar Jul 09 '19 15:07 cs35-owncloud

I currently found out how to compile the github apps to a correct zip I think thats the easiest way without use a non public api.

npm install -g @rocket.chat/apps-cli git clone lovelyappproject cd lovelyappproject npm install rc-apps package

djnews24 avatar Jul 09 '19 16:07 djnews24

Same problem for me. It is really ugly. 1.2.1 and still not fixed.

tobzsc avatar Jul 15 '19 07:07 tobzsc

hi, where do i have to upload/unzip this giphy_0.0.3.zip file to install?

3x3cut0r avatar Jul 30 '19 13:07 3x3cut0r

Please note this is a bug/Issue, not general support chat.

If you want to discuss how to do things then please ask in the forums or at open.rocket.chat #support

As far as this Issue is concerned I understand there will be some form of resolution in due course. If you want it fixed now then the devs will be happy to accept your PR to fix this. Otherwise please be patient and watch the Issue.

Thanks.

reetp avatar Jul 30 '19 17:07 reetp

We are working on the feature for the marketplace to offer ZIP files for download. For clarity, you don't need a paid account to do that, just an account, to download the apps, and we will always have the option to get the ZIP files directly from the developers if you want to be completely anonymous. I am open to discuss your views on that.

engelgabriel avatar Aug 08 '19 22:08 engelgabriel

We are working on the feature for the marketplace to offer ZIP files for download. For clarity, you don't need a paid account to do that, just an account, to download the apps, and we will always have the option to get the ZIP files directly from the developers if you want to be completely anonymous. I am open to discuss your views on that.

@engelgabriel I have a self hosted Rocket.chat instance. Why do I have to login into rocket.chat cloud service to install a free app to my instance ?

you don't need a paid account to do that, just an account

There is no option to create a free account into rocket.chat cloud, so how can I get a "account" to link with my self hosted instance ?

AlexandreSNeto avatar Sep 18 '19 17:09 AlexandreSNeto

@AlexandreSNeto So this worked for me. Under Administration > Settings > General, scroll to the 'Apps' section.

Set "Enable development mode" to true (Development mode allows the installation of Apps that are not from the Rocket.Chat's Marketplace.). Go back to the top level "Apps" tab in Admin. You should now see a button labeled "Upload App".

That'll take you to a screen where you can give it a zip download link or browse locally for a zip file. Personally, the local zip file didn't work for me, but the url I downloaded it from did.

I only used Rocketbooters apps (Giphy, Math, Search, etc), Poll from the marketplace didn't work (no app.json, even though it was there)

Hope that helps!

SeeSharpist avatar Sep 27 '19 03:09 SeeSharpist

Thanks @SeeSharpist Actually I've made a new installation (for tests) and used my gmail account as admin. Then I received a e-mail with a token to create a Rocket.chat cloud account.

This way I was able to install free extensions in Marketplace

AlexandreSNeto avatar Sep 27 '19 11:09 AlexandreSNeto

We are working on the feature for the marketplace to offer ZIP files for download. For clarity, you don't need a paid account to do that, just an account, to download the apps, and we will always have the option to get the ZIP files directly from the developers if you want to be completely anonymous. I am open to discuss your views on that.

Need of having account to install the plugins is bit an overkill. Please implement if fully :)

bluszcz avatar Oct 05 '19 13:10 bluszcz

@SeeSharpist

I only used Rocketbooters apps (Giphy, Math, Search, etc), Poll from the marketplace didn't work (no app.json, even though it was there)

I was able to install the app "Poll", when using the latest release, not the latest master as zip: https://github.com/sampaiodiego/rocket.chat.app-poll/releases

MathiasRenner avatar Oct 29 '19 11:10 MathiasRenner

On version 2.3.0 and I still cannot install apps from marketplace. Is it still on radar for upcoming releases?

Also for zip downloading, is there an easy way to install marketplace apps using the downloaded zip file on instances created / running by a docker-compose file?

rockneverdies55 avatar Dec 01 '19 17:12 rockneverdies55

On version 2.3.0 and I still cannot install apps from marketplace. Is it still on radar for upcoming releases?

Possibly. Depends on the developers.

Also for zip downloading, is there an easy way

No not really, and hence this issue.

See above for some clues but note this is an 'Issue' for getting something fixed, not really a help forum. Follow this link for getting help.

https://rocket.chat/docs/getting-support/

reetp avatar Dec 02 '19 07:12 reetp

I've wrote a quick script for this purpose. My script will download all marketplace apps into zip files. Just upload whatever app you want to use. I cannot understand why I need to create a paid account to download free apps to use.

https://github.com/atran-dev/dl-rocketchat-apps

atran315 avatar Feb 11 '20 21:02 atran315

The requirement to have a cloud account is a major pain point. Nowhere is declared which data is sent to rocket.chat about my local on premise instance once I log in.

bbrauns avatar Mar 19 '20 10:03 bbrauns

On version 3.2.0: When I try zip file i don't get any response, but when i use url i see "Cannot read property 'data' of undefined".

I understand that they want me to pay for the subscription but this isn't funny any more. Is there any other way to install free apps on "free rocketchat" ?

danielraq avatar May 13 '20 09:05 danielraq

any news here?

thiesschneider avatar Jan 06 '21 23:01 thiesschneider

I'm currently reviewing some open sources self-hosted slack solutions for a company.

Rocket.Chat seems the best to me right now, but having to register an account (even a free one) to be able to install Apps properly is a huge downside to me as this is something that I will not be allowed to do.

Fortunately it seems that there is some way to bypass this restriction, thanks to this thread, but this is quite a shame to not have a proper solution. Especially because you really seems open with self-hosting. edit: it seems that we actually can't have a way to install Apps without the account, I have the same issue than RocketChat/Rocket.Chat#17737

Anyway, whatever your decision is, keep up the good work! This is a awesome work that you have done so far, I hope to be able to choose Rocket.Chat in the future.

CyrilVanErsche avatar Mar 02 '21 13:03 CyrilVanErsche

Thx for effort - it was great to use Rocket Chat - due to this feature we moved away. Good luck!

bluszcz avatar May 30 '21 17:05 bluszcz

any news here?

andys448 avatar Aug 17 '21 11:08 andys448

any news here?

vinogradovia avatar Sep 22 '22 12:09 vinogradovia

  1. Use the download link (https://marketplace.rocket.chat/v1/apps/{id}/download) to pull it, e.g.

Not working anymore

journeym avatar Oct 26 '22 13:10 journeym

I've wrote a quick script for this purpose. My script will download all marketplace apps into zip files. Just upload whatever app you want to use. I cannot understand why I need to create a paid account to download free apps to use.

https://github.com/atran-dev/dl-rocketchat-apps

Thank you for your work, but I used your script to download apps, some of them can be unzipped, but some can not, I checked the size of them, the ones can be unzipped have right size, but those can not be unzipped have less than 1000k sizes. So I can not use some of them.

Robbot-Zhao avatar Apr 18 '23 01:04 Robbot-Zhao