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

'Swiftcord' will damage your computer #15

Closed
jasperweiss opened this issue May 3, 2022 · 47 comments
Closed

'Swiftcord' will damage your computer #15

jasperweiss opened this issue May 3, 2022 · 47 comments
Labels
waiting for op Further information is requested

Comments

@jasperweiss
Copy link

Opening the latest release (0.2.2) triggers a gatekeeper alert I had never seen before.

image

This is unlike the regular popup for unsigned/unverified apps which require you to bypass it manually in the system settings. This popup suggests that this app was actively flagged as being malicious by Apple.

@jasperweiss jasperweiss added the bug Something isn't working label May 3, 2022
@cryptoAlgorithm
Copy link
Member

Right... Firstly, I can assure you there's nothing malicious in Swiftcord. Ideally, if you can, you should test it by running it from source since there were a lot of bug fixes since the latest release due to the fast development pace.

Next, I do not know why macOS would flag Swiftcord as malicious, the app follows all "good practices" like app sandbox, only enabling the required entitlements etc. The source code is all in this repo, you can always inspect it for malicious code :)

@cryptoAlgorithm cryptoAlgorithm added documentation waiting for op Further information is requested and removed bug Something isn't working labels May 3, 2022
@cryptoAlgorithm
Copy link
Member

@jasperweiss does this clear your doubts? I'll close the issue if there isn't further input from you.

@jasperweiss
Copy link
Author

It's not so much that I don't trust it. It just seems problematic for the project that releases are flagged as malicious by gatekeeper which is why I reported it as an issue

@cryptoAlgorithm
Copy link
Member

Thanks for clarifying 🙂! Unfortunately there isn't much I can do except for signing it with a valid apple dev account, which I don't have and can't afford 💸

I've seen quite a few apps not signed by a dev acct that trigger this "move to bin" warning, and I usually don't mind it.

Ultimately, the purpose of the pre-built releases are for those who really want to try Swiftcord, but can't build it from source for whatever reason. Building from source is the most preferred method of trying out Swiftcord, which gives access to logs too.

@opsroller
Copy link

Would it really be so hard for you to sign this application and distribute it thru the App Store?

@cryptoAlgorithm
Copy link
Member

Yeah, you need to pay apple $100USD a year for the dev license. I've updated the latest release which would probably fix the detected as malware issue, but you still need to right click and click open to run it.

@opsroller
Copy link

Ok, so ask one of us for $100

@cryptoAlgorithm
Copy link
Member

Would you provide it if I asked? xD

@opsroller
Copy link

Indeed.

@cryptoAlgorithm
Copy link
Member

Ok lol, could I ask for that $100 now?

@opsroller
Copy link

Yeah bud, ApplePay?

@opsroller
Copy link

Only one request. Keep it GNU, but you may charge if you want to.

@cryptoAlgorithm
Copy link
Member

Hmm interesting, I should probably setup GitHub sponsors and then when I get $100USD donated I'll open a dev account

@opsroller
Copy link

Sounds good to me.

@cryptoAlgorithm
Copy link
Member

One issue is I don't really know if this app is allowed on the App Store, since it might be against Discord's ToS

@opsroller
Copy link

Do you know specifically what part is?

@cryptoAlgorithm
Copy link
Member

The part that 3rd party clients are disallowed. However, it doesn't break apple's App Store ToS, nor any law, so technically discord can't do anything but ban accounts it finds using the 3rd party client.

@cryptoAlgorithm
Copy link
Member

...and its gonna be hard to find and ban accounts since Swiftcord basically almost identically uses the Discord API

@opsroller
Copy link

@cryptoAlgorithm
Copy link
Member

Exactly my thoughts, its quite ridiculous not to allow 3rd party clients. I think swiftcord would work on the App Store then!

@opsroller
Copy link

Based on what I've read, I'm under the Impression that maybe it cannot make it into the AppStore due to the Login piece. However there is nothing stopping someone from making a test account and providing to Apple for the Sign-in, so the submission can be approved. It's definitely iffy. I'd still donate for a Dev Account if you are interested.

@cryptoAlgorithm
Copy link
Member

Sure, that would be appreciated :). The dev account would still remove the warnings when the app is opened for the first time, which would be helpful for those who can't build it from source. However, I'm pretty sure Discord themselves create a dummy test discord account, since they too have to pass app review

@freedom7341
Copy link

One issue is I don't really know if this app is allowed on the App Store, since it might be against Discord's ToS

Discord TOS only prevents third party client modifications, an entirely new client is not prevented through the Discord TOS.

@cryptoAlgorithm
Copy link
Member

Is that true, @freedom7341? If so, that would be great news!

@opsroller
Copy link

Where do I send the $$$ ?

@ConfuseIous
Copy link

Login will not be an issue for Apple as long as you're only signing in through discord itself and not with Google/Facebook/etc, which discord does not seem to support in the first place. Swiftcord seems to be compliant with all App Store Guidelines.

@freedom7341
Copy link

Is that true, @freedom7341? If so, that would be great news!

https://discord.com/terms#software-in-discord%E2%80%99s-services

Nothing I see appears to say no third party clients. You aren't modifying, leasing, decompiling or reverse engineering the Discord client.

@cryptoAlgorithm
Copy link
Member

From https://discord.com/terms

You may not copy, modify, create derivative works based upon, distribute, sell, lease, or sublicense any of our software or services.

I do not know if a 3rd party client is considered a "derivative work" based on discord's services. This seems quite like a grey area atm

PS: We should probably move this to a discussion, this issue is becoming unwieldy

@cryptoAlgorithm
Copy link
Member

@opsroller, I think I'll either enable GitHub sponsors, or you can PayPal me or something like that.

@opsroller
Copy link

Your choice.

@cryptoAlgorithm
Copy link
Member

Or even better: is there a way for you to open a dev account and "transfer" access to me?

@Aayush9029
Copy link

@cryptoAlgorithm i think you should definitely setup GitHub sponsors if people are willing to help you!

I highly doubt you’ll be able to publish this in the Mac App Store however having a developer account will enable you to notarize the macOS app! Which will eliminate the gatekeeper notice!

I am also open to compile and help you release notarized Mac app through GitHub releases using my personal developer account!

Thanks for making an amazing POC it looks very neat! I love supporting SwiftUI projects ❤️

@cryptoAlgorithm
Copy link
Member

@Aayush9029 Thanks! I'm currently in the process of setting up GitHub sponsors. Any sponsors would be greatly appreciated :D

If you could notarise the app with your dev account, that would also be highly appreciated! I might consider trying to release it on the App Store when it gets stable enough.

@Aayush9029
Copy link

@cryptoAlgorithm Here ya go! Swiftcord.app.zip

CleanShot 2022-05-07 at 22 28 18@2x

It's a Universal Notarized Binary for macOS 12.1, Current State @ 5d7917b

If you make any major changes and would like me to make a notarized app, just let me know!

I'll try to setup an automatic app build + notarization action if I ever get time to 😄

@cryptoAlgorithm
Copy link
Member

<333 Thanks! I'd publish it on GitHub releases soon :)))

@opsroller
Copy link

@cryptoAlgorithm Say goodbye to your application name. If any developer takes your name, it's effectively theirs forever.

@cryptoAlgorithm
Copy link
Member

Yeah, I'll setup GitHub Sponsors tomorrow, then create a dev acct with the donations. I'll then reserve the app name and ID. Apple allows reserving application names and IDs right?

@opsroller
Copy link

Yes, yes you can reserve the names, however did person above just do that? Look at the above screenshot.

@cryptoAlgorithm
Copy link
Member

Nope, he didn't. You can sign the app without using app store connect.

@cryptoAlgorithm
Copy link
Member

I don't know if Swiftcord is already reserved tho... @opsroller maybe you could check it out with your dev account?

@cryptoAlgorithm
Copy link
Member

@opsroller @freedom7341 @ConfuseIous @Aayush9029 let's continue this discussion here

@Aayush9029
Copy link

Aayush9029 commented May 8, 2022

Yes, yes you can reserve the names, however did person above just do that? Look at the above screenshot.

Nope! I just notarized his build!

I have no intention of working on discord app so there's no reason for me to "save" the name! I haven't checked if swiftcord has or has NOT been taken (reserved) by someone else though! That's something you'll have to to figure and maybe sort out!

Even the bundle id should br fine to reuse!

@cryptoAlgorithm
Copy link
Member

@opsroller I've applied for GitHub Sponsors, hopefully it gets approved soon. With luck, I'll be able to get Swiftcord on the App Store soon

Screenshot 2022-05-09 at 9 13 48 PM

@cryptoAlgorithm
Copy link
Member

@Aayush9029 I plan on releasing an updated version soon. Would you so kindly help sign it too? It's not ready yet, maybe by tomorrow ;)

@cryptoAlgorithm
Copy link
Member

@opsroller GitHub sponsors is now enabled for my account and this repo! You can now send the $$$ to me :D

Screenshot 2022-05-13 at 11 33 24 AM

@cryptoAlgorithm
Copy link
Member

This branch is stale and no longer relevant, closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting for op Further information is requested
Projects
None yet
Development

No branches or pull requests

6 participants