Metrodroid
Direct APK downloadVersion: 2.9.43
View remaining balance, recent trips, and other info from contactless public transit cards using NFC on Android.
View the presentation of work undergone to support a number of Australian agencies' cards, given at linux.conf.au 2018, in the talk Tap on to reverse engineering.
Thanks to
- Eric Butler (Farebot, on which this project is based)
- Karl Koscher (ORCA)
- Sean Cross (CEPAS/EZ-Link)
- Anonymous Contributor (Clipper)
- nfc-felica and IC SFCard Fan projects (Suica)
- Chris Norden (Edy)
- Wilbert Duijvenvoorde (MIFARE Classic/OV-chipkaart)
- tbonang (NETS FlashPay)
- Marcelo Liberato (Bilhete รnico)
- Lauri Andler (HSL)
- Michael (Opal, Manly Fast Ferry, Go card, Myki, Octopus, Cubic Nextfare, LAX TAP, SmartRider, MyWay, MIFARE Ultralight, ERG, Christchurch Metrocard)
- Steven Steiner (LAX TAP)
- Rob O'Regan (Manly Fast Ferry card image)
- The Noun Project (Various icons)
- Vladimir Serbinenko (Podorozhnik, Troika, Compass, Shenzhen Tong, Rav-Kav, T-money, Leap, CharlieCard, EN1545, Intercode, IstanbulKart, Lisboa Viva, Mobib, RicaricaMi, Chinese cards, Adelaide Metrocard, Rejsekort)
- Toomas Losin (Compass)
- Sinpo Lib (Shenzhen Tong)
- Maria Komar (Podorozhnik database and dumps)
- Bondan Sumbodo (Kartu Multi Trip, COMMET)
Translated by
Thanks to those who have helped to make Metrodroid available in languages other than English:
- Dutch: Vistaus
- Finnish: Lari Oesch, Lauri Andler
- French: Albirew
- Hebrew: Steven Steiner
- Indonesian: Bondan Sumbodo
- Japanese: naofum, Chris Norden, Eric Butler
- Kabyle: belkacem77, aqvayli
- Norwegian Bokmรฅl: Allan Nordhรธy, Petter Reinholdtsen
- Portuguese (Brazil): Marlon Colhado
- Russian: Vladimir Serbinenko
- Spanish: NokisDemox
- Turkish: omersiar
Supported card protocols
- FeliCa
- FeliCa Lite
- ISO/IEC 7816-4
- ISO/IEC 15693 "Vicinity"
- MIFARE Classic (Not compatible with all devices)
- MIFARE DESFire
- MIFARE Ultralight (Not compatible with all devices)
Supported cards / agencies
Card / Agency | Location | Notes |
---|---|---|
Amiibo | ||
AT HOP | ||
Beijing Municipal Card | ||
bip! | MFC |
|
Bilhete รnico | MFC |
|
BUS-IT | MFC |
|
Carta Mobile | ||
CharlieCard | MFC |
|
City Union | ||
Clipper | ||
Compass | ||
Crimea Trolleybus | Crimea | MFC |
Cubic Nextfare | MFC |
|
EasyCard | Taipei | MFC |
Edy | ||
Ekarta | MFC |
|
Electronic Barnaul | MFC |
|
EMV | ||
Envibus | ||
ERG | MFC |
|
EZ-Link | ||
Go card | MFC |
|
GoCard | MFC |
|
Go-to card | MFC |
|
Hafilat | ||
Hop Fastpass | ||
HSL, Matkakortti | ||
IstanbulKart | ||
Kartu Multi Trip | KMT |
|
Kazan transport card | MFC |
|
Kiev Metro | MFC |
|
Kirov transport card | MFC |
|
KomuterLink | MFC |
|
Krasnodar ETK | MFC |
|
Leap | ||
Lisboa Viva | ||
Manly Fast Ferry | MFC |
|
Metrocard | ||
Metrocard | MFC |
|
Metromoney | MFC |
|
Mobib | ||
Myki | ||
MyWay | MFC |
|
Navigo | ||
NETS FlashPay | ||
Nol | ||
Octopus | ||
Opal | ||
Opus | ||
ORCA | ||
Orenburg EKG | MFC |
|
OรนRA | ||
OV-chipkaart | MFC |
|
Oyster | MFC |
|
Penza transport card | MFC |
|
Podorozhnik | MFC |
|
Rav-Kav | ||
Rejsekort | MFC |
|
RicaricaMi | MFC |
|
Samara ETK | MFC |
|
Selecta | ||
Shenzhen Tong | ||
Siticard | MFC |
|
SLAccess | MFC |
|
Smartride | MFC |
|
SmartRider | MFC |
|
Snapper | ||
Strelka | MFC |
|
Strizh | MFC |
|
Suica, ICOCA, PASMO | ||
SunCard | MFC |
|
TaM | ||
Tartu Bus | MFC |
|
T-Money | ||
T-Union | ||
TransGironde | ||
Transit Access Pass | MFC |
|
Troika | MFC |
|
Umarsh | MFC |
|
Ventra | ||
Warszawska Karta Miejska | MFC |
|
Wuhan Tong | ||
Yaroslavl ETK | MFC |
|
Yoshkar-Ola | MFC |
|
Zolotaya Korona | MFC |
Note | Meaning |
---|---|
New in Metrodroid. | |
Encryption keys required to read this card. | |
Encryption keys are downloaded from the operator. | |
CEPAS cards (Singapore) are not compatible with all devices (ISO 14443-B). | |
MFC |
MIFARE Classic card; requires NXP NFC chipset in your device. |
Only the card number can be read. | |
KMT |
Only new FeliCa-based cards can be read. |
Only single-use tickets can be read. |
This project will only read data from the card itself, without having to connect to the agency's back-office systems. In some cases, limited data is available, so balance information and trip history might not be available.
Note: The Leap card reader connects to Transport for Ireland's server for challenge-response authentication with the card. The data is otherwise interpreted locally, and connectivity is disabled by default.
Supported devices
Metrodroid requires an Android device running 4.1 or later, with NFC support.
Some devices do not support MIFARE Classic. MIFARE Classic is not an NFC-compliant card format, so they can only be read on devices with NXP chipsets.
License and copyright
Copyright ยฉ 2015โ2019 Michael Farrell
Copyright ยฉ 2011โ2013 Eric Butler
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
This program contains Leaflet, a JavaScript mapping library, licensed under the BSD license.
This software and it's authors are not associated with any public transit agency. Pictures of supported cards, including their logos, are included with this software package for the purposes of identifying cards.
Building / hacking on this software
-
Clone the repository including submodules:
$ git clone --recursive https://github.com/metrodroid/metrodroid.git
ZIP source code downloads from GitHub's web interface will not work!
-
Import the directory into Android Studio.
Android Studio will prompt you to install the appropriate SDK version, build tools, and Gradle.