Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Can be my extension allowed to interact with chatterino? #5964

Open
4 tasks done
MiguVT opened this issue Feb 19, 2025 · 8 comments
Open
4 tasks done

Question: Can be my extension allowed to interact with chatterino? #5964

MiguVT opened this issue Feb 19, 2025 · 8 comments
Labels

Comments

@MiguVT
Copy link

MiguVT commented Feb 19, 2025

Checklist

  • I'm reporting a problem with Chatterino
  • I've verified that I'm running the most recent nightly build or stable release
  • I've looked for my problem on the wiki
  • I've searched the issues and pull requests for similar looking reports

Describe your issue

I made this new extension, at the moment im using the key from original extension, but i want to publish it on chrome web store (obv giving credits to this awesome project)
My extension: https://github.com/MiguVT/ChatterinoWatch
Why not the official one? I wanted to make something lighter, more simple and better for only report the watching channel.

Screenshots

No response

OS and Chatterino Version

All

@MiguVT MiguVT added the issue-report An issue reported by a user. label Feb 19, 2025
@Nerixyz
Copy link
Contributor

Nerixyz commented Feb 19, 2025

The official extension also has a mode where it doesn't replace Twitch chat (i.e. it only reports the channel).

For your extension to be supported, you'd need a fixed extension ID (your extension would need to be listed on the store).
Maybe there could be a (hidden) setting where you can specify custom extension IDs? The attack surface isn't that large, but I don't think we should statically add another extension ID there, but rather allow users to add their own ID in settings.json under the assumption that they know what they're doing.

@MiguVT
Copy link
Author

MiguVT commented Feb 19, 2025

I didn't think there would be any attack points on something so simple, if that's the case, the option of being able to put a custom ID extension seems like a good idea. Also, the extension is open source so there shouldn't be any attack vectors, even so (in the case that I was a malicious user) I could upload a modified extension to the Google store. Doesn't Google have some kind of protection against this type of attacks? If not, i think the best option is to add a setting with a warning before enabling it.

@Mm2PL
Copy link
Collaborator

Mm2PL commented Feb 20, 2025 via email

@pajlada pajlada added question and removed issue-report An issue reported by a user. labels Feb 20, 2025
@MiguVT
Copy link
Author

MiguVT commented Feb 20, 2025

ok, so if im not wrong, there is no problem to make a public supported extensions and allow it by default for easy compatibility with them.

@Nerixyz
Copy link
Contributor

Nerixyz commented Feb 20, 2025

Why hide that? Just place a textbox for additional extension IDs

I wouldn't mind that.

in the External Tools section.

The settings are currently under "General > Browser Integration". Maybe they should be moved to external tools.

ok, so if im not wrong, there is no problem to make a public supported extensions and allow it by default for easy compatibility with them.

My main concern is having this added by default. As stated above, I'm fine with a textbox where you can add additional IDs. (I'm not a maintainer)

@pajlada
Copy link
Member

pajlada commented Feb 20, 2025

all of what Nerixyz said sounds good to me - would you be open to making the PR itself @MiguVT ?

@MiguVT
Copy link
Author

MiguVT commented Feb 21, 2025

I usually dont use cpp, but i can try make a PR in the next weeks (I dont have too much time because my birthday), next week I will be able to do it.

@pajlada
Copy link
Member

pajlada commented Feb 21, 2025

Sounds good, let us know if you run into any issues.
To summarize, this should be a setting that allows you to input additional extension IDs that are allowed to make changes to your Chatterino instances.
It's fine for the setting to be a regular string input, with extra extension IDs being split on a character like ; (or whichever other character is not used in extension IDs).
By default, this setting should be empty (i.e. only allowing the official Chatterino extension ID)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants