Love the idea, made a Windsurf-compatible version: https://github.com/ameshkov/peon-ping-windsurf
HN user
ameshkov
https://twitter.com/ay_meshkov
No, but it's a very good point, we'll add it to the backlog
In Cyprus, companies are usually incorporated via a corporate service provider, who also provides the registered office address and PO Box services. Basically, if you need to reach out to us by mail, you should use the "legal address" from the website.
For example, in some countries it's either slowed down or outright blocked.
Actually, no, we don't resolve them. We scan the incoming ClientHello before making a decision on where to route the connections. If the connection should be bypassed we make a connection by ourselves and proxy traffic. Implementing it that way requires having a TCP stack right in the client.
Well, Google is like a small country and some parts of it are very good guys that are genuinely interested in being a "user agent".
Uh, I guess it's a little bit off-topic here:) It's hard to say what's more harmful, I'd say cookies still take #1, but I think we're not far from the moment when your email address or its derivative will be used as the main advertising ID. Regarding evolution, well, definitely possible, the time will show.
This is actually supported by both the client and the server.
To use it in mobile clients you need to specify two domain names like that: fake-sni.com|domain.com where “fake-sni.com” is the domain thay will be in the SNI and “domain.com” is the domain in your TLS certificate (used to check the server’s authenticity)
There are no shady alleys in Cyprus:)
We have only one office in Limassol, the company is mostly remote: https://maps.app.goo.gl/pounSEQqBvYftZGZ6?g_st=ic
(we are moving to a bit bigger office in the neighboring building, no nice photos on google yet)
We do not have a dedicated team page on the website, but we’re not hiding our faces, the team can be found on Github. Members of the team often visit AFDS [1] [2], you can see some faces there (including mine).
[1] https://adfilteringdevsummit.com/
[2] https://youtube.com/playlist?list=PL61EKVIQWizG0tIYqNDoenVaO...
Hi, thank you very much for supporting AG!
We are very cautious with Apple as we suffered from them before [1]. So we're trying to stick to the APIs they provide. I hope the new URL filtering API [2] will improve the situation with the system-wide filtering, but our request for API access is still being reviewed by Apple.
Regarding jailbroken iOS devices, unlike Android the numbers are really marginal so it won't be feasible to support them.
[1] https://adguard.com/en/blog/adguard-pro-discontinued.html
[2] https://adguard.com/en/blog/apple-url-filter-system-wide-fil...
You mean in TrustTunnel apps? You can create a routing profile there and select which domains/ips are bypassed, and then select that routing profile in the vpn connection settings.
We support both H2 and H3 and this is necessary. QUIC is not bad, but there are places where it either does not work at all or works too slow.
And one more thing, even though the code and spec is only published now, we’ve been using TrustTunnel for a long time, started before CONNECT_UDP became a thing.
We’re considering switching to it though (or having an option to use it) just to make the server compatible with more clients.
Yay, thank you! :)
I wish we finish with redesigning it nicely this year and finally after all those years we will finally call it v1.0
More or less, built on top of it with added udp/icmp.
When writing server and client a lot of time is consumed by additional features, not on implementing the spec itself. For instance, in order to be truly stealthy we have to make sure that it looks *exactly* like Chromium on the outside, and then maintain this similarity as Chromium changes TLS implementation from version to version. Or here’s another example: on the server-side we need to have an anti-probing protection to make it harder to detect what the server does.
Performance reasons aside, TrustTunnel is developed by the team whose main language is C++ (and the client library is actually written in C++) so Rust was a more natural choice for them.
We do, and from what we know a bigger problem in China is detecting traffic patterns. SNI filtering is not that big of a deal, in order to block your domain it needs to first learn which one you’re using. What for the traffic patterns, people in China prefer to selectively route traffic to the tunnel. For instance, the client apps allow you to route *.cn domains (or any other domains) directly. It makes it harder to detect that you’re using a VPN.
One interesting thing I’ve noticed is that AdGuard means different things in different parts of the world. In some places, people know us primarily as an ad blocker, in others we’re best known for our DNS service and in some regions AdGuard is associated almost exclusively with our VPN. The reality is that AdGuard makes several different products, not just one.
Hi, I’m one of the people working on this.
One clarification that may not be obvious: open-sourcing this isn’t primarily about signaling or auditability. If that were the goal, a standalone protocol spec or a minimal reference repo would have been enough.
Instead, we’re deliberately shipping full client and server implementations because the end goal is for this to become an independent, vendor-neutral project, not something tied to AdGuard.
We want it to be usable by any VPN or proxy stack and, over time, to serve as a common baseline for stealthy transports — similar to the role xray/vless play today.
Happy to answer questions or clarify design choices.
This is not a common issue tbh. What sometimes may happen is that after an iOS update the content blockers in Safari becomes corrupted and the only thing that fixes it is not just a reinstall, but uninstall + reboot + reinstall after that. If even this doesn’t help please contact me at “am at adguard.com”, I will try to help.
I would advise against using unbound on the client side as this way all your DNS queries will be unencrypted and visible to your ISP. Besides that, the DNS responses can be modified, this kind of censorship is very popular and used in many countries.
IMO it is safer to use a big popular DNS recursor (google, cloudflare, adguard, quad9, etc), use DoT/DoH/DoQ and maybe add some additional filtering on top of it.
I tried not to share too much details while we were still in process of figuring out the details.
The legal advice we got was basically “block asap or risk jail time”. Moreover, the risk would still be there even if the complainant is shady or hiding their identity.
So it took us some time to do the digging and make sure that illegal content was removed which was the prerequisite to unblocking.
The digging is not finished btw, we’ll later post a proper analysis of our reaction and the results of the research.
Thanks for understanding and sorry if my comment sounded too harsh. Over the past few years we went through a lot and when I hear that AdGuard is just registered I may overreact.
What for your position, I respect it and as much as I’d like to say otherwise, under certain circumstances it can be reasonable.
Most of the employees relocated including senior staff, devs and people with access. We still have some contractors working from there, mostly in support service, content and qa. Not "most" or "a lot", but nevertheless.
We encourage people to move closer to the head office, but as long as it's not required by law, we’re not going to force people to move out, as I know very well how hard it is.
and it looks like that from your github projects
You do realize that a russian name != working in Russia, right?
I'm not sure what part of the comment you responded to is not correct or misinformation
The parts where:
1. It's implied that the company is just "registered".
2. It's implied that the company is not European.
3. It's said that devs reside in Russia.
All three are factually incorrect.
AdGuard has been around for 16+ years, and throughout this time I've seen similar accusations many times. I am generally fine with them — that's life — but today I just wasn't in the mood, sorry for that. Anyways, this is one more reason to have more code published to open source, a win-win for all.
It's not the first time I've noticed you spreading this misinformation on HN, so let me respond.
Most of AdGuard's staff relocated in 2022, and I (CTO and co-founder of AdGuard) personally live in Limassol, Cyprus. We commented on that publicly, but it seems that random forum posts often regarded as more reliable sources of information.
I am totally fine with anyone not trusting AdGuard for any reason, but please keep your statements factually correct.
PS: Sorry for sticking a small promo in the comment, but this year we're organizing the annual summit (adfilteringdevsummit.com) for ad blockers' devs on our home turf in Limassol, a perfect opportunity to meet us, other ad blockers and even browsers' devs.
Alternatively, you can do something like this: *$denyallow=example.org|example.com
Blocks everything except example.org and example.com.
Works in AdGuard Home, AdGuard DNS or any other AG product with DNS filtering capabilities: https://adguard-dns.io/kb/general/dns-filtering-syntax/
Will be fixed in the next filters update
I made a similar thing once to relay UDP traffic over WebSocket and it supports Cloudflare if needed: https://github.com/ameshkov/udptlspipe
The use case is to relay WireGuard over TCP/CF in a restrictive network, confirmed to work in China, obviously not too fast.
Ops, we'll fix it in a moment
We don't use GH as a CDN, it's used solely for developing filter lists and issue reports.
The issue is resolved now, the repo is available again.
We have not received any response to the support case that we opened, but we assume that it was a false positive of some automatic algorithm.
As a consequence of this we're going to set up a mirror outside Github so that the work didn't stop if something like that happens again.
UPD: We received the official response explaining that this was a mistake. I must admit the whole situation was resolved really quickly, good job.