Version: 2.9.42
View your remaining balance, recent trips, and other information from contactless public transit cards using your NFC-enabled Android device!
I presented Metrodroid and the work I did on supporting a number of Australian agencies' cards at linux.conf.au 2018, in my talk, Tap on to reverse engineering.
- 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, Rejesekort)
- Toomas Losin (Compass)
- Sinpo Lib (Shenzhen Tong)
- Maria Komar (Podorozhnik database and dumps)
- Bondan Sumbodo (Kartu Multi Trip, COMMET)
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: comradekingu, Petter Reinholdtsen
- Russian: Vladimir Serbinenko
- Spanish: NokisDemox
- Turkish: omersiar
- 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)
Card / Agency | Location | Notes |
---|---|---|
AT HOP | ๐ณ๐ฟ Auckland, New Zealand | ๐ ๐ |
Beijing Municipal Card | ๐จ๐ณ Beijing, China | ๐ |
Bilhete รnico | ๐ง๐ท Sรฃo Paulo, Brazil | ๐ MFC |
BUS-IT | ๐ณ๐ฟ Greater Hamilton (Waikato), New Zealand | ๐ ๐ MFC |
Carta Mobile | ๐ฎ๐น Pisa, Italy | ๐ |
CharlieCard | ๐บ๐ธ Boston, MA, USA | ๐ ๐ MFC |
City Union | ๐จ๐ณ Mainland China | ๐ |
Clipper | ๐บ๐ธ San Francisco, CA, USA | |
Compass | ๐จ๐ฆ Vancouver, BC, Canada | ๐ 1๏ธโฃ |
Cubic Nextfare | ๐ many locations | ๐ ๐ MFC |
EasyCard | ๐น๐ผ Taipei, Taiwan | ๐ MFC |
Edy | ๐ฏ๐ต Japan | |
EMV | ๐ many locations | ๐ |
Envibus | ๐ซ๐ท Sophia Antipolis, France | ๐ |
ERG | ๐ many locations | ๐ ๐ MFC |
EZ-Link | ๐ธ๐ฌ Singapore | |
Go card | ๐ฆ๐บ Brisbane and South East Queensland, Australia | ๐ ๐ MFC |
GoCard | ๐ณ๐ฟ Otago, including Greater Dunedin and Queenstown, New Zealand | ๐ MFC |
Go-to card | ๐บ๐ธ Minneapolis-St. Paul, MN, USA | ๐ ๐ MFC |
Hafilat | ๐ฆ๐ช Abu Dhabi, UAE | ๐ |
Hop Fastpass | ๐บ๐ธ Portland, OR, USA | ๐ ๐ |
HSL, Matkakortti | ๐ซ๐ฎ Finland | |
IstanbulKart | ๐น๐ท Istanbul, Turkey | ๐ ๐ |
Kartu Multi Trip | ๐ฎ๐ฉ Jakarta, Indonesia | KMT |
Kiev Metro | ๐บ๐ฆ Kiev, Ukraine | ๐ ๐ MFC |
KomuterLink | ๐ฒ๐พ Malaysia | ๐ ๐ MFC |
Krasnodar ETK | ๐ท๐บ Krasnodar, Russia | ๐ ๐ MFC |
Leap | ๐ฎ๐ช Ireland | ๐ ๐ |
Lisboa Viva | ๐ต๐น Lisbon, Portugal | |
Manly Fast Ferry | ๐ฆ๐บ Sydney, NSW, Australia | ๐ ๐ MFC |
Metrocard | ๐ฆ๐บ Adelaide, SA, Australia | ๐ |
Metrocard | ๐ณ๐ฟ Christchurch, New Zealand | ๐ ๐ MFC |
Metromoney | ๐ฌ๐ช Tbilisi, Georgia | ๐ ๐ MFC |
Mobib | ๐ง๐ช Brussels, Belgium | ๐ |
Myki | ๐ฆ๐บ Melbourne (and surrounds), VIC, Australia | ๐ ๐ |
MyWay | ๐ฆ๐บ Australian Capital Territory, Australia | ๐ ๐ MFC |
Navigo | ๐ซ๐ท Paris, France | ๐ |
NETS FlashPay | ๐ธ๐ฌ Singapore | |
Nol | ๐ฆ๐ช Dubai, UAE | ๐ ๐ |
Octopus | ๐ญ๐ฐ Hong Kong | ๐ |
Opal | ๐ฆ๐บ Sydney (and surrounds), NSW, Australia | ๐ |
Opus | ๐จ๐ฆ Quรฉbec, Canada | ๐ |
ORCA | ๐บ๐ธ Seattle, WA, USA | |
Orenburg EKG | ๐ท๐บ Orenburg, Russia | ๐ ๐ MFC |
OรนRA | ๐ซ๐ท Grenoble, France | ๐ |
OV-chipkaart | ๐ณ๐ฑ Netherlands | ๐ MFC |
Oyster | ๐ฌ๐ง London, United Kingdom | ๐ MFC |
Podorozhnik | ๐ท๐บ Saint Petersburg, Russia | ๐ ๐ MFC |
Rav-Kav | ๐ฎ๐ฑ Israel | ๐ |
Rejsekort | ๐ณ๐ด Norway | ๐ ๐ MFC |
RicaricaMi | ๐ฎ๐น Milan, Italy | ๐ ๐ MFC |
Samara ETK | ๐ท๐บ Samara, Russia | ๐ ๐ MFC |
Selecta | ๐ซ๐ท France | ๐ |
Shenzhen Tong | ๐จ๐ณ Shenzhen, Guangdong Province, China | ๐ |
SLAccess | ๐ธ๐ช Stockholm, Sweden | ๐ ๐ MFC |
Smartride | ๐ณ๐ฟ Rotorua, New Zealand | ๐ MFC |
SmartRider | ๐ฆ๐บ Western Australia, Australia | ๐ ๐ MFC |
Snapper | ๐ณ๐ฟ Wellington, New Zealand | ๐ |
Strelka | ๐ท๐บ Moscow, Russia | ๐ ๐ MFC |
Suica, ICOCA, PASMO | ๐ฏ๐ต Japan | |
SunCard | ๐บ๐ธ Orlando, FL, USA | ๐ ๐ ๐ MFC |
TaM | ๐ซ๐ท Montpellier, France | ๐ |
Tartu Bus | ๐ช๐ช Tartu, Estonia | ๐ ๐ MFC |
T-Money | ๐ฐ๐ท South Korea | ๐ |
T-Union | ๐จ๐ณ Mainland China | ๐ |
TransGironde | ๐ซ๐ท Gironde, France | ๐ |
Transit Access Pass | ๐บ๐ธ Los Angeles, CA, USA | ๐ ๐ MFC |
Troika | ๐ท๐บ Moscow, Russia | ๐ ๐ MFC |
Ventra | ๐บ๐ธ Chicago, IL, USA | ๐ 1๏ธโฃ |
Wuhan Tong | ๐จ๐ณ Wuhan, Hubei Province, China | ๐ |
Yaroslavl ETK | ๐ท๐บ Yaroslavl, Russia | ๐ ๐ MFC |
Zolotaya Korona | ๐ท๐บ multiple cities in Russia | ๐ ๐ 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 phone. |
๐ | Only the card number can be read. |
KMT |
Only new FeliCa-based cards can be read. |
1๏ธโฃ | 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.
Metrodroid requires an Android phone 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 can only be read with phones with NXP chipsets.
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 http://www.gnu.org/licenses/.
This program contains Leaflet, a JavaScript mapping library, licensed under the BSD license.
This program contains nfc-felica-lib, a library for communicating with Sony FeliCa cards, licensed under the Apache 2.0 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.
-
Clone the repository including submodules:
$ git clone --recursive https://github.com/micolous/metrodroid.git
-
Import the directory into Android Studio.
Android Studio will prompt you to install the appropriate SDK version, build tools, and Gradle.