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

iOS support 👀 #1

Open
jmshgs opened this issue Jul 25, 2024 · 13 comments
Open

iOS support 👀 #1

jmshgs opened this issue Jul 25, 2024 · 13 comments

Comments

@jmshgs
Copy link

jmshgs commented Jul 25, 2024

would be cool because AdGuard (free version) is very limited on iOS

@0xCUB3
Copy link
Owner

0xCUB3 commented Jul 25, 2024

Yep I'm looking into it. The problem is that the "Content Blocker" extension we rely on only seems to be compatible with macOS, so I would need to do a rewrite for iOS to work.

@arjpar
Copy link

arjpar commented Jul 29, 2024

@jxhug It should work on iOS. AdGuard Pro for iOS has scriptlet injection (Safari extension), and given that we're using the same tech as AdGuard to convert filter lists, it should work. The main power of adblockers comes from scriptlet injection.

I'm working on speeding up the converter & eventually adding support for uBO rules. This will also warrant forking AdGuard's scriptlet typescript library & adding support for uBO rules. But that comes later.

I think the best path forward is perfecting the UI in macOS, and adding all necessary features with the converter we use now. Then trying to port it to iOS/iPadOS/visionOS.

@0xCUB3 and I are technically writing 2 different ad blockers, but I see them as sister projects, given that there's so much cross-pollination of code. @0xCUB3 can correct me if I'm wrong, but he wanted to support macOS only, but perhaps he is open to supporting other platforms. I plan for my project to support all Apple platforms where Safari (extensions) run: macOS, iOS, iPadOS, visionOS.

I don't know if we'll eventually merge the two projects 🤷. I guess it depends on the goals of each respective project.

(Sorry for all the pings cube)

@0xCUB3
Copy link
Owner

0xCUB3 commented Jul 29, 2024

Yep, @arjpar is correct. I will, however, write an iOS version once I get a stable build of the macOS version.

@Mqisty
Copy link

Mqisty commented Aug 30, 2024

I know it's only been a month and this won't happen overnight but I was wondering if there's any updates on this? I'm sure a lot of people would appreciate an iOS version including myself.

@arjpar
Copy link

arjpar commented Aug 30, 2024

@Mqisty It doesn't seem like there has been any updates unless @0xCUB3 did some things locally. Even if he did have an iOS version (UI) written, to load an app on iOS/iPadOS, it has to be notarized, you need an Apple Developer account ($100 fee IIRC), and it needs to pass the review process.

I think writing a UI for iOS/iPadOS shouldn't be too hard since we're using SwiftUI. wBlock is macOS-first though, it seems like. WebShield is designed to be more platform-agnostic, but I also too need to finish implementing the remaining UI features (custom filters, progress bar, some UI-logging thing, Safari popup frontend, a few other things too probably).

Once we have an iOS version working, we could provide an IPA that allows you to side load using AltStore or a similar alternative.

@0xCUB3
Copy link
Owner

0xCUB3 commented Aug 30, 2024

@Mqisty @arjpar I did make some changes internally, but I believe the design goals of iOS/iPadOS differ significantly from those of macOS, so I am writing separate versions of the app for mobile devices.

Additionally, yes, the $100 a year is a hindrance -- since I don't have any monetized apps, it would be a sunken cost for me, and one I'm not particularly thrilled about as a student.

@androidcn
Copy link

want iOS version too

@arjpar
Copy link

arjpar commented Oct 12, 2024

@androidcn WebShield already has an iOS/iPadOS/visionOS UI running, I just haven't tested if the ad blocker actually blocks things in Safari on those platforms. I've mainly been focused on frontend stuff, and after that's done I plan to refactor BlockKit (SafariConverterLib). Creating a iOS/iPadOS/visionOS version of wBlock shouldn't be too hard, we just need to figure out ad blocking on iOS.

@0xCUB3 0xCUB3 pinned this issue Oct 12, 2024
@dmathewwws
Copy link

Maybe Patreon / early access for iOS is a good way to get to $100/yr (or more)

@Mqisty @arjpar I did make some changes internally, but I believe the design goals of iOS/iPadOS differ significantly from those of macOS, so I am writing separate versions of the app for mobile devices.

Additionally, yes, the $100 a year is a hindrance -- since I don't have any monetized apps, it would be a sunken cost for me, and one I'm not particularly thrilled about as a student.

@androidcn
Copy link

macOS iPadOS iOS iCloud sync user rules and setting

@arjpar
Copy link

arjpar commented Dec 3, 2024

@androidcn Great idea! I thought about that one too. Webshield uses SwiftData, so it should be possible to enable cloud syncing of rules and settings easily. wBlock to my knowledge currently still uses UserDefaults, so it would need some more work, but it's certainly possible.

@arjpar
Copy link

arjpar commented Jan 11, 2025

WebShield has iOS/iPadOS/visionOS support now (on my local machine, not pushed yet as of writing); for iOS/iPadOS/visionOS support wBlock would need to convert to a Safari WebExtension since iOS/iPadOS/visionOS don't support Safari App Extensions to my knowledge. 0xCube is planning to make a separate iOS/iPadOS/visionOS version anyway.

@0xCUB3
Copy link
Owner

0xCUB3 commented Mar 11, 2025

It's possible that v0.2 will have iOS/iPadOS support, though I am prioritizing making the macOS experience better, so it might get pushed to v0.3 depending on how long it takes 👀.

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

No branches or pull requests

6 participants