We monitor 175 App Store storefronts to answer one question —

Is V2rayHub censored by Apple?

Gone.

V2rayHub is gone from every App Store storefront we test. It was last seen available on Feb 9, 2022.

1,194 tests on record·last checked 2 months ago

Why it is unavailable

Five things can put an app out of one App Store. Each is weighed below against what can be seen from outside — open a card for the reasoning.

  • A government or a court demanded itPossible

    and Apple complied. Apple publishes a count of these per country each year and never says which apps they were. Apple's 2025 App Store Transparency Report

  • Apple applied a rule, unaskedPossible

    either its own review guidelines, or its own reading of a local law, with nobody having demanded anything. This is the largest category in Apple's own removal figures by a wide margin, and it covers distribution permits as well as content — Apple kept a free Bible app out of mainland China in 2021 for want of one. Apple's 2025 App Store Transparency Report

  • The developer withheld itPossible

    freely, or under legal advice of their own, or because Apple's guidelines require that kind of app to be limited to certain countries. Switching a country off is easy for a developer to do in Apple's own tools: it needs no new version of the app, and it leaves no public trace other than the app being unavailable.

  • Something brokeUnlikely

    a rejected update, a lapsed certificate, a payment or licensing problem, a mistake nobody has got round to noticing.

  • A local rule about paying for itRuled out

    gambling licences, financial rules, tax — the kind of law that governs a transaction. Apple can obey every one of them by refusing the payment, which is why this is the only restriction we would accept and the only one that cannot touch a free app.

    • It is free, so Apple sells nothing here.
How this is weighed, and what it cannot tell you

Weighed from the evidence under each card, not from a model. There is no published figure for how Apple's removals divide up, so these are ordered words rather than percentages. For scale on the same-day counts: across the whole record an app leaves a storefront with fewer than two others, so a dozen at once is not a dozen coincidences.

None of this is certain, and a citation does not make it so: Apple naming a Chinese agency tells you what Apple said, not everything that happened. What can be said is that the readings alone cannot separate these five — a developer switching off a country and a government ordering it removed arrive at Apple's catalogue looking identical — and that nobody has ever measured how they divide across the App Store. The one careful study of the question was done on Google's store, using an error message Apple does not emit.

Apple publishes no record of which apps are unavailable in which of its App Stores. For the removals it makes on a government's demand it publishes the agency and the law behind every one — 2,045 of the 166,899 apps it removed during 2025 — and never which app. Where a reason reaches the public at all, it is usually because a developer chose to say so. Apple's App Store Transparency Report

Know of a statement, notice or order we have missed? Tell us →

V2rayHub

Developer: CHINA CULTURE PROPERTY BATS EXCHANGE LIMITED · Category: Developer Tools · Released: Jul 23, 2020 · Rating: 3.2★

View in App Store ↗
0stores where available
119stores where blocked
5.88Bpeople behind the block
119of 175 stores tested
1,194tests on record

Life of this app

  1. Jul 22, 2020First tested by AppleCensorship
  2. Jul 23, 2020Released on the App Store, by Apple's current record
  3. Feb 9, 2022Last seen available anywhere
  4. Apr 5, 2023Gone from 119 storefronts
  5. Jul 24, 2026Most recent test

Apple reports a single release date per app — for the listing it is serving now — and rewrites it when an app is re-released, so this date can fall after we first tested the app. It does not mean the app did not exist before then.

Testing history

One column per month, every month from the first reading to the last. Height follows how many readings we took that month; red is the share of them that found the app unavailable. An empty month is one nobody tested.

2020-072026-07

Found availableFound unavailable

Availability by storefront

Every storefront we test, current status first. Data is a measurement, not a promise: each row carries its own date.

Test now
AfghanistanAFUnavailableApr 15, 202310 months ago
AlbaniaALUnavailableMay 14, 20228 months ago
AngolaAOUnavailableAug 25, 202513 months ago
AnguillaAIUnavailableOct 22, 20233 years ago
ArgentinaARUnavailableJul 4, 20242 years ago
ArmeniaAMUnavailableSep 15, 20233 years ago
AustriaATUnavailableSep 19, 20222 years ago
AzerbaijanAZUnavailableJun 2, 20222 years ago
BahamasBSUnavailableJun 9, 20223 years ago
BahrainBHUnavailableJan 27, 20243 years ago
BarbadosBBUnavailableOct 1, 20242 years ago
BelarusBYUnavailableApr 24, 20242 years ago
BeninBJUnavailableOct 29, 20233 years ago
BermudaBMUnavailableAug 2, 20224 years ago
BhutanBTUnavailableSep 20, 20222 years ago
BoliviaBOUnavailableJul 20, 202514 months ago
Bosnia & HerzegovinaBAUnavailableAug 11, 202513 months ago
BotswanaBWUnavailableMar 5, 20243 years ago
BruneiBNUnavailableMay 14, 20223 years ago
BulgariaBGUnavailableJul 18, 20262 months ago
Burkina FasoBFUnavailableAug 9, 20224 years ago
CambodiaKHUnavailableAug 30, 20233 years ago
CameroonCMUnavailableJan 11, 20243 years ago
CanadaCAUnavailableNov 23, 20224 years ago
Cape VerdeCVUnavailableJan 7, 202415 months ago
Cayman IslandsKYUnavailableJan 4, 20252 years ago
ChadTDUnavailableApr 5, 20233 years ago
ChileCLUnavailableAug 15, 202214 months ago
China (Mainland)CNUnavailableMay 14, 20224 months ago
ColombiaCOUnavailableMay 28, 20264 months ago
CroatiaHRUnavailableJul 7, 20224 years ago
CyprusCYUnavailableJan 17, 20252 years ago
CzechiaCZUnavailableAug 8, 20223 years ago
DominicaDMUnavailableAug 2, 202514 months ago
DR CongoCDUnavailableAug 25, 20222 years ago
EcuadorECUnavailableOct 11, 20242 years ago
EgyptEGUnavailableOct 18, 202511 months ago
FijiFJUnavailableOct 21, 20222 years ago
FinlandFIUnavailableMar 19, 20242 years ago
FranceFRUnavailableMay 14, 20222 months ago
GabonGAUnavailableJul 8, 20223 years ago
GambiaGMUnavailableJun 9, 20242 years ago
GrenadaGDUnavailableNov 15, 20242 years ago
GuatemalaGTUnavailableMay 30, 20222 years ago
HondurasHNUnavailableFeb 13, 20243 years ago
Hong KongHKUnavailableMay 14, 20223 months ago
IndiaINUnavailableMar 8, 20252 years ago
IndonesiaIDUnavailableJul 16, 20242 years ago
IrelandIEUnavailableDec 5, 20242 years ago
IsraelILUnavailableJul 17, 20233 years ago
JamaicaJMUnavailableMar 2, 20243 years ago
JapanJPUnavailableMay 14, 20222 months ago
JordanJOUnavailableJan 27, 20232 years ago
KazakhstanKZUnavailableJun 21, 20242 years ago
KenyaKEUnavailableJun 10, 20263 months ago
KuwaitKWUnavailableOct 22, 202314 months ago
KyrgyzstanKGUnavailableJun 15, 20227 months ago
LatviaLVUnavailableMay 19, 20233 years ago
LiberiaLRUnavailableMay 14, 20222 years ago
LibyaLYUnavailableNov 23, 20223 years ago
LithuaniaLTUnavailableNov 25, 20242 years ago
MacaoMOUnavailableAug 31, 20222 years ago
MalawiMWUnavailableOct 1, 20223 months ago
MalaysiaMYUnavailableJul 24, 202514 months ago
MaliMLUnavailableMar 26, 20233 years ago
MauritaniaMRUnavailableJun 2, 202215 months ago
MexicoMXUnavailableJan 20, 20243 years ago
MicronesiaFMUnavailableDec 9, 20224 years ago
MoldovaMDUnavailableSep 8, 20224 years ago
MontenegroMEUnavailableMay 4, 20233 years ago
MoroccoMAUnavailableJul 7, 20222 years ago
Myanmar (Burma)MMUnavailableApr 26, 20265 months ago
NauruNRUnavailableJun 21, 20242 months ago
NepalNPUnavailableJun 15, 202215 months ago
NetherlandsNLUnavailableMay 14, 20223 months ago
New ZealandNZUnavailableNov 14, 20223 years ago
NicaraguaNIUnavailableAug 26, 202513 months ago
North MacedoniaMKUnavailableOct 7, 20242 years ago
NorwayNOUnavailableApr 2, 20233 years ago
OmanOMUnavailableMay 30, 20222 years ago
PakistanPKUnavailableOct 23, 20228 months ago
PalauPWUnavailableSep 27, 20242 years ago
PanamaPAUnavailableJun 9, 202215 months ago
Papua New GuineaPGUnavailableMay 14, 20229 months ago
PeruPEUnavailableMay 14, 20222 months ago
PhilippinesPHUnavailableAug 18, 202315 months ago
Republic of the CongoCGUnavailableNov 13, 20233 years ago
RomaniaROUnavailableSep 21, 20224 years ago
RussiaRUUnavailableMay 14, 20222 years ago
RwandaRWUnavailableJul 14, 202212 months ago
São Tomé & PríncipeSTUnavailableJan 4, 20234 years ago
Saudi ArabiaSAUnavailableMay 14, 20229 months ago
SenegalSNUnavailableJul 20, 20223 years ago
SerbiaRSUnavailableNov 14, 20224 years ago
Sierra LeoneSLUnavailableJul 24, 20262 months ago
SingaporeSGUnavailableMay 14, 20227 months ago
SloveniaSIUnavailableSep 10, 20242 years ago
South KoreaKRUnavailableJun 14, 202315 months ago
SpainESUnavailableDec 8, 20232 years ago
Sri LankaLKUnavailableAug 25, 20242 years ago
St. LuciaLCUnavailableApr 29, 20232 years ago
St. Vincent & GrenadinesVCUnavailableDec 7, 20223 years ago
SwedenSEUnavailableJul 14, 20224 years ago
SwitzerlandCHUnavailableOct 10, 20224 years ago
TaiwanTWUnavailableMay 14, 202215 months ago
ThailandTHUnavailableJun 26, 20233 years ago
TongaTOUnavailableJul 4, 20223 years ago
Trinidad & TobagoTTUnavailableMar 17, 20234 years ago
TürkiyeTRUnavailableMay 14, 20223 months ago
Turks & Caicos IslandsTCUnavailableJun 4, 202515 months ago
UkraineUAUnavailableMay 14, 20222 years ago
United Arab EmiratesAEUnavailableDec 7, 20222 months ago
United KingdomGBUnavailableMay 14, 20223 months ago
United StatesUSUnavailableMay 14, 20222 months ago
UruguayUYUnavailableMay 22, 20233 years ago
UzbekistanUZUnavailableJul 28, 20245 months ago
VenezuelaVEUnavailableJun 6, 20263 months ago
YemenYEUnavailableApr 11, 20233 years ago
ZimbabweZWUnavailableMay 13, 20243 months ago
AlgeriaDZNot tested0
Antigua & BarbudaAGNot tested0
AustraliaAUNot tested0
BelgiumBENot tested0
BelizeBZNot tested0
BrazilBRNot tested0
British Virgin IslandsVGNot tested0
Costa RicaCRNot tested0
Côte d’IvoireCINot tested0
DenmarkDKNot tested0
Dominican RepublicDONot tested0
El SalvadorSVNot tested0
EstoniaEENot tested0
EswatiniSZNot tested0
GeorgiaGENot tested0
GermanyDENot tested0
GhanaGHNot tested0
GreeceGRNot tested0
Guinea-BissauGWNot tested0
GuyanaGYNot tested0
HungaryHUNot tested0
IcelandISNot tested0
IraqIQNot tested0
ItalyITNot tested0
KosovoXKNot tested0
LaosLANot tested0
LebanonLBNot tested0
LuxembourgLUNot tested0
MadagascarMGNot tested0
MaldivesMVNot tested0
MaltaMTNot tested0
MauritiusMUNot tested0
MongoliaMNNot tested0
MontserratMSNot tested0
MozambiqueMZNot tested0
NamibiaNANot tested0
NigerNENot tested0
NigeriaNGNot tested0
ParaguayPYNot tested0
PolandPLNot tested0
PortugalPTNot tested0
QatarQANot tested0
SeychellesSCNot tested0
SlovakiaSKNot tested0
Solomon IslandsSBNot tested0
South AfricaZANot tested0
St. Kitts & NevisKNNot tested0
SurinameSRNot tested0
TajikistanTJNot tested0
TanzaniaTZNot tested0
TunisiaTNNot tested0
TurkmenistanTMNot tested0
UgandaUGNot tested0
VanuatuVUNot tested0
VietnamVNNot tested0
ZambiaZMNot tested0

Testing asks Apple whether it will sell this app in that storefront, right now, by the same method the crawler has used since 2019. Your browser asks Apple directly, so the answer describes what Apple serves your connection — and if your browser cannot reach Apple at all, we ask on your behalf and say so. The result is a link: open it to see Apple's own answer and check ours. Readings are added to the record above; roughly a quarter of the readings taken each day come from people testing.

How we test

Availability is checked against Apple's own catalog servers for every storefront, the same way the App Store app asks. "Unavailable" means Apple's servers say the app cannot be offered in that country — it does not say who asked for the removal. Removals initiated by the developer and removals demanded by governments look the same from outside; the history and context on this page are how we tell them apart.