All Projects → metrodroid → Metrodroid

metrodroid / Metrodroid

Licence: gpl-3.0
Read data from public transit cards using your NFC Android phone! (iOS 13 and PC/SC support coming soon)

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Metrodroid

Mcpicker Ios
McPicker is a customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready.
Stars: ✭ 186 (-21.85%)
Mutual labels:  iphone
Stpopuppreview
An alternative peek preview for non 3D Touch devices. Inspired by Instagram.
Stars: ✭ 202 (-15.13%)
Mutual labels:  iphone
Stpopup
STPopup provides STPopupController, which works just like UINavigationController in popup style, for both iPhone and iPad. It's written in Objective-C and compatible with Swift.
Stars: ✭ 2,517 (+957.56%)
Mutual labels:  iphone
Gwda
WebDriverAgent ( iOS ) Client Library in Golang
Stars: ✭ 191 (-19.75%)
Mutual labels:  iphone
Piano
Easily play combinations of sound effects and Taptic Engine vibrations on iOS.
Stars: ✭ 202 (-15.13%)
Mutual labels:  iphone
Chameleonmini Rebooted
Chameleon Mini revE rebooted - Iceman Fork, the ChameleonMini is a versatile contactless smartcard emulator (NFC/RFID)
Stars: ✭ 208 (-12.61%)
Mutual labels:  nfc
Newsapp
NewsApp
Stars: ✭ 183 (-23.11%)
Mutual labels:  iphone
Build Openssl Curl
Scripts to build OpenSSL, HTTP/2 (nghttp2) and cURL (libcurl) for MacOS, iOS and tvOS devices (x86_64, armv7, armv7s, arm64, arm64e). Now Supporting Apple Silicon, OpenSSL 1.1.1 with TLS 1.3 and Mac Catalyst builds.
Stars: ✭ 230 (-3.36%)
Mutual labels:  iphone
Openfoodfacts Ios
Native (Swift) version of Open Food Facts for iOS. Coders & Decoders welcome 🤳🥫 😊
Stars: ✭ 202 (-15.13%)
Mutual labels:  iphone
Ios
OwnTracks' iPhone App
Stars: ✭ 222 (-6.72%)
Mutual labels:  iphone
Cppandroidiosexample
An application example using the same C++ code on both an Android project and an iPhone project.
Stars: ✭ 191 (-19.75%)
Mutual labels:  iphone
React Native Proximity
📱 A React Native wrapper that provides access to the proximity sensor on iOS and Android.
Stars: ✭ 201 (-15.55%)
Mutual labels:  iphone
Iosdebugdatabase
make it easy to debug databases in iOS applications iOS debug database
Stars: ✭ 219 (-7.98%)
Mutual labels:  iphone
Iboot64helper
IDAPython loader to help with AArch64 iBoot, iBEC, and SecureROM reverse engineering
Stars: ✭ 189 (-20.59%)
Mutual labels:  iphone
Uicollectionviewsplitlayout
UICollectionViewSplitLayout makes collection view more responsive.
Stars: ✭ 226 (-5.04%)
Mutual labels:  iphone
Openssl For Iphone
A script for compiling OpenSSL for iOS Devices (iPhone, iPad, iPod Touch, AppleTV, MacCatalyst)
Stars: ✭ 2,190 (+820.17%)
Mutual labels:  iphone
Mifareclassictool
An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags.
Stars: ✭ 2,698 (+1033.61%)
Mutual labels:  nfc
Framegrabber
📱iOS app to extract full-resolution video frames as images.
Stars: ✭ 237 (-0.42%)
Mutual labels:  iphone
Wwdc
You don't have the time to watch all the WWDC session videos yourself? No problem me and many contributors extracted the gist for you 🥳
Stars: ✭ 2,561 (+976.05%)
Mutual labels:  nfc
Hls Vod
HTTP Live Streaming with on-the-fly encoding of any video file for Web/Apple TV/iPhone/iPad/iPod
Stars: ✭ 221 (-7.14%)
Mutual labels:  iphone

logo Metrodroid

Translation status Build Status

Direct APK download iOS version coming soon!

Version: 3.0.xx

View remaining balance, recent trips, and other info from contactless public transit cards using NFC on Android and iOS (coming soon).

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

Translated by

Thanks to those who have helped to make Metrodroid available in languages other than English:

Supported card protocols

Supported cards / agencies

Card / Agency Location Notes
Amiibo 🌏 worldwide 🆕 IOS
AT HOP 🇳🇿 Auckland, New Zealand 🆕 🆔 IOS
Beijing Municipal Card 🇨🇳 Beijing, China 🆕
bip! 🇨🇱 Santiago de Chile, Chile 🆕 🔐 MFC
Bilhete Único 🇧🇷 São Paulo, Brazil 🔐 MFC
BUS-IT 🇳🇿 Greater Hamilton (Waikato), New Zealand 🆕 🔐 MFC
Carta Mobile 🇮🇹 Pisa, Italy 🆕 IOS
CharlieCard 🇺🇸 Boston, MA, USA 🆕 🔐 MFC
Cifial 🌍 worldwide 🆕 MFC
City Union 🇨🇳 Mainland China 🆕 IOS
Clipper 🇺🇸 San Francisco, CA, USA IOS
Compass 🇨🇦 Vancouver, BC, Canada 🆕 1️⃣ IOS
Crimea Trolleybus Crimea 🆕 🔐 MFC
Cubic Nextfare 🌎 many locations 🆕 🔐 MFC
EasyCard Taipei 🔐 MFC
Edy 🇯🇵 Japan
Ekarta 🇷🇺 Ekaterinburg, Russia 🆕 🔐 MFC
Electronic Barnaul 🇷🇺 Barnaul, Russia 🆕 🔐 MFC
EMV 🌍 worldwide 🆕
Envibus 🇫🇷 Sophia Antipolis, France 🆕 IOS
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 🆕 IOS
Hop Fastpass 🇺🇸 Portland, OR, USA 🆕 🆔 IOS
HSL, Matkakortti, Waltti 🇫🇮 Finland IOS
IstanbulKart 🇹🇷 Istanbul, Turkey 🆕 🆔 IOS
Kartu Multi Trip 🇮🇩 Jakarta, Indonesia KMT IOS
Kazan transport card 🇷🇺 Kazan, Russia 🆕 🔐 MFC
Kiev Metro 🇺🇦 Kiev, Ukraine 🆕 🔐 MFC
Kirov transport card 🇷🇺 Kirov, Russia 🆕 🔐 MFC
KomuterLink 🇲🇾 Malaysia 🆕 🔐 MFC
Krasnodar ETK 🇷🇺 Krasnodar, Russia 🆕 🔐 MFC
Leap 🇮🇪 Ireland 🆕 🔓
Lisboa Viva 🇵🇹 Lisbon, Portugal 🆕 IOS
Manly Fast Ferry 🇦🇺 Sydney, NSW, Australia 🆕 🔐 MFC
Metrocard 🇦🇺 Adelaide, SA, Australia 🆕 IOS
Metrocard 🇳🇿 Christchurch, New Zealand 🆕 🔐 MFC
Metromoney 🇬🇪 Tbilisi, Georgia 🆕 🔐 MFC
Mobib 🇧🇪 Brussels, Belgium 🆕 IOS
MRT Jakarta 🇮🇩 Jakarta, Indonesia 🆕
Myki 🇦🇺 Melbourne (and surrounds), VIC, Australia 🆕 🆔 IOS
MyWay 🇦🇺 Australian Capital Territory, Australia 🆕 🔐 MFC
Navigo 🇫🇷 Paris, France 🆕 IOS
NETS FlashPay 🇸🇬 Singapore
Nol 🇦🇪 Dubai, UAE 🆕 🆔 IOS
Octopus 🇭🇰 Hong Kong 🆕 IOS
Opal 🇦🇺 Sydney (and surrounds), NSW, Australia 🆕 IOS
Opus 🇨🇦 Québec, Canada 🆕 IOS
ORCA 🇺🇸 Seattle, WA, USA IOS
Orenburg EKG 🇷🇺 Orenburg, Russia 🆕 🔐 MFC
OùRA 🇫🇷 Grenoble, France 🆕 IOS
OV-chipkaart 🇳🇱 Netherlands 🔐 MFC
Oyster 🇬🇧 London, United Kingdom 🆕 🔐 MFC
Penza transport card 🇷🇺 Penza, Russia 🆕 🔐 MFC
Podorozhnik 🇷🇺 Saint Petersburg, Russia 🆕 🔐 MFC
Rav-Kav 🇮🇱 Israel 🆕 IOS
Rejsekort 🇩🇰 Denmark 🆕 🔐 MFC
RicaricaMi 🇮🇹 Milan, Italy 🆕 🔐 MFC
Samara ETK 🇷🇺 Samara, Russia 🆕 🔐 MFC
Selecta 🇫🇷 France 🆕 MFC
Shenzhen Tong 🇨🇳 Shenzhen, Guangdong Province, China 🆕 IOS
Siticard 🇷🇺 Nizhniy Novgorod, Russia 🆕 🔐 MFC
SLAccess 🇸🇪 Stockholm, Sweden 🆕 🔐 MFC
Smartride 🇳🇿 Rotorua, New Zealand 🆕 MFC
SmartRider 🇦🇺 Western Australia, Australia 🆕 🔐 MFC
Snapper 🇳🇿 Wellington, New Zealand 🆕 IOS
Strelka 🇷🇺 Moscow, Russia 🔐 🆔 MFC
Strizh 🇷🇺 Izhevsk, Russia 🆕 🔐 MFC
Suica, ICOCA, PASMO 🇯🇵 Japan
SunCard 🇺🇸 Orlando, FL, USA 🆕 🔐 🆔 MFC
TaM 🇫🇷 Montpellier, France 🆕 IOS
Tartu Bus 🇪🇪 Tartu, Estonia 🆕 🆔 MFC
T-Money 🇰🇷 South Korea 🆕 IOS
TPF card 🇨🇭 Fribourg, Switzerland 🆕 🆔
TransGironde 🇫🇷 Gironde, France 🆕 IOS
Transit Access Pass 🇺🇸 Los Angeles, CA, USA 🆕 🔐 MFC
Troika 🇷🇺 Moscow, Russia 🆕 🔐 MFC
T-Union 🇨🇳 Mainland China 🆕 IOS
Umarsh 🇷🇺 multiple cities in Russia 🆕 🔐 MFC
Ventra 🇺🇸 Chicago, IL, USA 🆕 1️⃣ IOS
Warszawska Karta Miejska 🇵🇱 Warsaw, Poland 🆕 🆔 🔐 MFC
Wuhan Tong 🇨🇳 Wuhan, Hubei Province, China 🆕 IOS
Yaroslavl ETK 🇷🇺 Yaroslavl, Russia 🆕 🔐 MFC
Yoshkar-Ola 🇷🇺 Yoshkar-Ola, 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.
🇮🇪 Leap not yet supported on iOS.
🇯🇵 FeliCa cards with more than 1 system not supported on iOS.
🇸🇬 CEPAS cards (Singapore) are not compatible with all devices (ISO 14443-B). Not supported on iOS.
MFC MIFARE Classic card; requires NXP NFC chipset in your device. Not supported on iOS.
🆔 Only the card number can be read.
KMT Only new FeliCa-based cards can be read.
1️⃣ Only single-use tickets can be read.
IOS Supported on Metrodroid for iOS.

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 for Android requires Android 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.

Metrodroid for iOS requires iOS 13.0 or later, and iPhone 7 or later. It does not support other iOS devices, even those that support Apple Pay.

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

  1. Clone the repository including submodules:

    $ git clone --recursive https://github.com/metrodroid/metrodroid.git
    

    If you get an error from Gradle about :material-design-icons not being available, then your clone doesn't have the submodules.

    ZIP source code downloads from GitHub's web interface will not work!

  2. Import the directory into Android Studio.

    Android Studio will prompt you to install the appropriate SDK version, build tools, and Gradle.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].