├── token-data ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── org │ │ └── fedorahosted │ │ └── freeotp │ │ └── data │ │ ├── EncryptionType.kt │ │ ├── OtpTokenType.kt │ │ ├── legacy │ │ └── SavedTokens.kt │ │ ├── OtpTokenDatabase.kt │ │ ├── OtpToken.kt │ │ └── module │ │ └── DataModule.kt └── proguard-rules.pro ├── text-drawable ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle.kts ├── token-images ├── .gitignore ├── consumer-rules.pro ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── res │ │ └── drawable │ │ ├── token_image_school.xml │ │ ├── token_image_office.xml │ │ ├── token_image_email.xml │ │ ├── token_image_bitfinex.xml │ │ ├── token_image_cloud_download.xml │ │ ├── token_image_patreon.xml │ │ ├── token_image_bitmex.xml │ │ ├── token_image_teamviewer.xml │ │ ├── token_image_flight_takeoff.xml │ │ ├── token_image_mapbox.xml │ │ ├── token_image_jagex.xml │ │ ├── token_image_wallet.xml │ │ ├── token_image_twitch.xml │ │ ├── token_image_npm.xml │ │ ├── token_image_bittrex.xml │ │ ├── token_image_airbrake.xml │ │ ├── token_image_gamepad.xml │ │ ├── token_image_betterment.xml │ │ ├── token_image_unity.xml │ │ ├── token_image_alwaysdata.xml │ │ ├── token_image_revolt.xml │ │ ├── token_image_passwordstate.xml │ │ ├── token_image_hetzner.xml │ │ ├── token_image_digidentity.xml │ │ ├── token_image_mint.xml │ │ ├── token_image_turbotax.xml │ │ ├── token_image_atlassian.xml │ │ ├── token_image_facebook.xml │ │ ├── token_image_vagrant_cloud.xml │ │ ├── token_image_vultr.xml │ │ ├── token_image_fanatical.xml │ │ ├── token_image_airbnb.xml │ │ ├── token_image_tumblr.xml │ │ ├── token_image_faceit.xml │ │ ├── token_image_prey.xml │ │ ├── token_image_ubnt.xml │ │ ├── token_image_mixer.xml │ │ ├── token_image_gmx.xml │ │ ├── token_image_terminal.xml │ │ ├── token_image_lobsters.xml │ │ ├── token_image_coinjar.xml │ │ ├── token_image_yandex_money.xml │ │ ├── token_image_dropbox.xml │ │ ├── token_image_dreamhost.xml │ │ ├── token_image_mega.xml │ │ ├── token_image_migadu.xml │ │ ├── token_image_apple.xml │ │ ├── token_image_heroku.xml │ │ ├── token_image_allegropl.xml │ │ ├── token_image_discord.xml │ │ ├── token_image_kucoin.xml │ │ ├── token_image_lichess.xml │ │ ├── token_image_xing.xml │ │ ├── token_image_transip.xml │ │ ├── token_image_hackerone.xml │ │ ├── token_image_linkedin.xml │ │ ├── token_image_trello.xml │ │ ├── token_image_appveyor.xml │ │ ├── token_image_tutanota.xml │ │ ├── token_image_git.xml │ │ ├── token_image_bitdefender.xml │ │ ├── token_image_weclapp.xml │ │ ├── token_image_animebytes.xml │ │ ├── token_image_mongodb.xml │ │ ├── token_image_wikimedia.xml │ │ ├── token_image_rss.xml │ │ ├── token_image_twitter.xml │ │ ├── token_image_electronic_arts.xml │ │ ├── token_image_parsecgaming.xml │ │ ├── token_image_binance.xml │ │ ├── token_image_figma.xml │ │ ├── token_image_tuwien_ac_at.xml │ │ ├── token_image_deutsche_bahn.xml │ │ ├── token_image_sevdesk.xml │ │ ├── token_image_iconomi.xml │ │ ├── token_image_matomo.xml │ │ ├── token_image_twilio.xml │ │ ├── token_image_fastmail.xml │ │ ├── token_image_kickstarter.xml │ │ ├── token_image_mailgun.xml │ │ ├── token_image_etsy.xml │ │ ├── token_image_login_gov.xml │ │ ├── token_image_pluralsight.xml │ │ ├── token_image_instagram.xml │ │ ├── token_image_standardnotes.xml │ │ ├── token_image_amazon.xml │ │ ├── token_image_bugcrowd.xml │ │ ├── token_image_oculus.xml │ │ ├── token_image_rackspace.xml │ │ ├── token_image_ibm.xml │ │ ├── token_image_protonmail.xml │ │ ├── token_image_gitlab.xml │ │ ├── token_image_pretix.xml │ │ ├── token_image_microsoft.xml │ │ ├── token_image_origin.xml │ │ ├── token_image_google.xml │ │ ├── token_image_blockchain_info.xml │ │ ├── token_image_codegiant.xml │ │ ├── token_image_vk.xml │ │ ├── token_image_mastodon.xml │ │ ├── token_image_steam.xml │ │ ├── token_image_evernote.xml │ │ ├── token_image_bitbucket.xml │ │ ├── token_image_adguard.xml │ │ ├── token_image_bitcoin.xml │ │ ├── token_image_zapier.xml │ │ ├── token_image_sourceforge.xml │ │ ├── token_image_livelyme.xml │ │ ├── token_image_squarespace.xml │ │ ├── token_image_kraken.xml │ │ ├── token_image_cozycloud.xml │ │ ├── token_image_slack.xml │ │ ├── token_image_rockstar.xml │ │ └── token_image_workplace.xml ├── proguard-rules.pro └── build.gradle.kts ├── fastlane └── metadata │ └── android │ ├── en-US │ ├── title.txt │ ├── changelogs │ │ ├── 7.txt │ │ ├── 23.txt │ │ ├── 10.txt │ │ ├── 8.txt │ │ ├── 12.txt │ │ ├── 22.txt │ │ ├── 16.txt │ │ ├── 17.txt │ │ ├── 18.txt │ │ ├── 5.txt │ │ ├── 14.txt │ │ ├── 19.txt │ │ ├── 9.txt │ │ ├── 21.txt │ │ ├── 11.txt │ │ ├── 20.txt │ │ ├── 6.txt │ │ ├── 13.txt │ │ ├── 4.txt │ │ └── 15.txt │ ├── short_description.txt │ ├── images │ │ ├── icon.png │ │ └── phoneScreenshots │ │ │ ├── 001.png │ │ │ ├── 002.png │ │ │ └── 003.png │ └── full_description.txt │ ├── zh-CN │ ├── short_description.txt │ └── full_description.txt │ ├── zh-TW │ ├── short_description.txt │ └── full_description.txt │ ├── ja-JP │ ├── short_description.txt │ └── full_description.txt │ ├── he-IL │ ├── short_description.txt │ └── full_description.txt │ ├── iw-HE │ ├── short_description.txt │ └── full_description.txt │ ├── af-ZA │ ├── short_description.txt │ └── full_description.txt │ ├── ar-SA │ ├── short_description.txt │ └── full_description.txt │ ├── pl-PL │ ├── short_description.txt │ └── full_description.txt │ ├── si-LK │ ├── short_description.txt │ └── full_description.txt │ ├── ta-IN │ ├── short_description.txt │ └── full_description.txt │ ├── hu-HU │ ├── short_description.txt │ └── full_description.txt │ ├── cs-CZ │ ├── short_description.txt │ └── full_description.txt │ ├── de-DE │ ├── short_description.txt │ └── full_description.txt │ ├── sv-SE │ ├── short_description.txt │ └── full_description.txt │ ├── uk-UA │ ├── short_description.txt │ └── full_description.txt │ ├── es-ES │ ├── short_description.txt │ └── full_description.txt │ ├── eu-ES │ ├── short_description.txt │ └── full_description.txt │ ├── it-IT │ └── short_description.txt │ ├── ca-ES │ ├── short_description.txt │ └── full_description.txt │ ├── fr-FR │ └── short_description.txt │ ├── ru-RU │ ├── short_description.txt │ └── full_description.txt │ ├── tr-TR │ ├── short_description.txt │ └── full_description.txt │ └── pt-BR │ ├── short_description.txt │ └── full_description.txt ├── arts ├── logo.png ├── ic_launcher.zip ├── ic_launcher-web.png └── FreeOTP+-feature-graphic.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── app └── src │ ├── main │ ├── res │ │ ├── drawable-hdpi │ │ │ ├── qrcode.png │ │ │ ├── ic_action_edit.png │ │ │ └── ic_action_new_account.png │ │ ├── drawable-mdpi │ │ │ ├── qrcode.png │ │ │ ├── ic_action_edit.png │ │ │ └── ic_action_new_account.png │ │ ├── drawable-xhdpi │ │ │ ├── qrcode.png │ │ │ ├── ic_action_edit.png │ │ │ └── ic_action_new_account.png │ │ ├── drawable-xxhdpi │ │ │ ├── qrcode.png │ │ │ ├── ic_action_edit.png │ │ │ └── ic_action_new_account.png │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ ├── ic_import.xml │ │ │ ├── alert.xml │ │ │ ├── ic_export.xml │ │ │ ├── scan.xml │ │ │ ├── camera.xml │ │ │ └── token.xml │ │ ├── values-night │ │ │ └── colors.xml │ │ ├── values │ │ │ ├── dimen.xml │ │ │ ├── array.xml │ │ │ ├── colors.xml │ │ │ ├── tags.xml │ │ │ └── attrs.xml │ │ ├── layout │ │ │ ├── share_qrcode.xml │ │ │ └── titles.xml │ │ ├── anim │ │ │ ├── fadein.xml │ │ │ ├── fadeout.xml │ │ │ ├── token_image_fadein.xml │ │ │ └── token_image_fadeout.xml │ │ ├── mipmap-anydpi-v26 │ │ │ └── ic_launcher.xml │ │ ├── xml-v25 │ │ │ └── shortcuts.xml │ │ ├── color-night │ │ │ └── menu.xml │ │ └── color │ │ │ └── menu.xml │ └── java │ │ └── org │ │ └── fedorahosted │ │ └── freeotp │ │ ├── ui │ │ ├── SquareRelativeLayout.kt │ │ ├── TokenItemCallback.kt │ │ └── AddSecretTextWatcher.kt │ │ ├── FreeOtpPlusApplication.kt │ │ ├── util │ │ ├── ImageUtil.kt │ │ └── Settings.kt │ │ └── module │ │ └── AppModule.kt │ ├── debug │ └── res │ │ ├── drawable │ │ └── ic_launcher_background.png │ │ └── xml-v25 │ │ └── shortcuts.xml │ └── androidTest │ ├── AndroidManifest.xml │ └── java │ └── org │ └── fedorahosted │ └── freeotp │ └── uitest │ ├── RecyclerViewAssertion.kt │ ├── TestData.kt │ ├── RecyclerViewAction.kt │ └── SearchViewAction.kt ├── gradle.properties ├── scripts └── sign-apk.sh ├── .gitignore └── crowdin.example.yml /token-data/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /text-drawable/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /text-drawable/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /token-data/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /token-images/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /token-images/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | FreeOTP+ 2 | -------------------------------------------------------------------------------- /arts/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/arts/logo.png -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/short_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP-Android的增强分叉,提供了一个功能丰富的 2FA 认证器 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-TW/short_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP-Android 的強化分支,提供豐富功能的兩步驟驗證程式 2 | -------------------------------------------------------------------------------- /arts/ic_launcher.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/arts/ic_launcher.zip -------------------------------------------------------------------------------- /arts/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/arts/ic_launcher-web.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/short_description.txt: -------------------------------------------------------------------------------- 1 | 機能豊富な2FA (2段階認証) 機能を提供するFreeOTP-Androidの拡張フォーク 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/7.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.6 2 | * Fixed QR code scan issue on some devices 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/short_description.txt: -------------------------------------------------------------------------------- 1 | מזלג משופר של FreeOTP-Android המספק מאמת 2FA עשיר בתכונות 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/iw-HE/short_description.txt: -------------------------------------------------------------------------------- 1 | מזלג משופר של FreeOTP-Android המספק מאמת 2FA עשיר בתכונות 2 | -------------------------------------------------------------------------------- /arts/FreeOTP+-feature-graphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/arts/FreeOTP+-feature-graphic.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/23.txt: -------------------------------------------------------------------------------- 1 | RELEASE-3.1.1 2 | * Upgrade AGP version 3 | * Test to rebuild in F-Droid 4 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Two-factor authenticator (2FA) with one-time password protocols (OTP) 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /token-images/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/af-ZA/short_description.txt: -------------------------------------------------------------------------------- 1 | Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/short_description.txt: -------------------------------------------------------------------------------- 1 | Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/short_description.txt: -------------------------------------------------------------------------------- 1 | Ulepszony fork FreeOTP-Android, aplikacji do obsługi uwierzytelniania 2FA 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/si-LK/short_description.txt: -------------------------------------------------------------------------------- 1 | Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ta-IN/short_description.txt: -------------------------------------------------------------------------------- 1 | Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/hu-HU/short_description.txt: -------------------------------------------------------------------------------- 1 | A funkciógazdag androidos FreeOTP 2FA hitelesítő továbbfejlesztett változata 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-hdpi/qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-mdpi/qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xhdpi/qrcode.png -------------------------------------------------------------------------------- /fastlane/metadata/android/cs-CZ/short_description.txt: -------------------------------------------------------------------------------- 1 | Vylepšený fork aplikace FreeOTP-Android poskytující funkčně bohatý 2FA autentifikátor 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/short_description.txt: -------------------------------------------------------------------------------- 1 | Verbesserter Fork von FreeOTP - Eine funktionsreiche App zur 2FA-Authentifikation 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/10.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.9 2 | * CameraX update 3 | * Prevent taking screenshot of the main screen 4 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/8.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.7 2 | * Another attempt to fix the crash on scan QR code on some phone models 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/sv-SE/short_description.txt: -------------------------------------------------------------------------------- 1 | Förbättrad förgrening av FreeOTP-Android som ger en funktionsrik 2FA-autentisering 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/uk-UA/short_description.txt: -------------------------------------------------------------------------------- 1 | Покращена відгілка FreeOTP-Android, що надає багатофункціональний автентифікатор 2FA 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xxhdpi/qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/12.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.1 2 | * German Translation 3 | * Copyright license update in about screen 4 | 5 | -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | Fork mejorado de FreeOTP-Android que proporciona un autenticador 2FA con muchas funciones 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/eu-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP-Android-en adarkatze hobetua, ezaugarriz betetako 2FA autentifikazio aplikazioa 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/short_description.txt: -------------------------------------------------------------------------------- 1 | Un fork migliorato di FreeOTP-Android che offre un autenticatore 2FA ricco di funzionalità 2 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /fastlane/metadata/android/ca-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | Bifurcació millorada de FreeOTP-Android que proporciona un autenticador 2FA ric en funcions 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/short_description.txt: -------------------------------------------------------------------------------- 1 | Fork amélioré de FreeOTP-Android fournissant un authentificateur A2F riche en fonctionnalités 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/short_description.txt: -------------------------------------------------------------------------------- 1 | Усовершенствованный форк FreeOTP-Android, обеспечивающий многофункциональную аутентификацию 2FA 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-hdpi/ic_action_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-mdpi/ic_action_edit.png -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/short_description.txt: -------------------------------------------------------------------------------- 1 | Zengin özelliklere sahip bir 2FA kimlik doğrulayıcı sağlayan gelişmiş FreeOTP-Android alternatifi 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xhdpi/ic_action_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xxhdpi/ic_action_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable/ic_launcher_background.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/debug/res/drawable/ic_launcher_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/debug/res/drawable/ic_launcher_background.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/22.txt: -------------------------------------------------------------------------------- 1 | RELEASE-3.1 2 | * Auto toggle dark mode based on system settings 3 | * Update dependency and framework SDK version 4 | -------------------------------------------------------------------------------- /token-data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_new_account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-hdpi/ic_action_new_account.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_new_account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-mdpi/ic_action_new_account.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_new_account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xhdpi/ic_action_new_account.png -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/EncryptionType.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data 2 | 3 | enum class EncryptionType { 4 | PLAIN_TEXT 5 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_new_account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/app/src/main/res/drawable-xxhdpi/ic_action_new_account.png -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/short_description.txt: -------------------------------------------------------------------------------- 1 | Este é um aplicativo de autenticação em dois fatores (2FA) baseado no FreeOTP-Android, e contém recursos adicionais. 2 | -------------------------------------------------------------------------------- /text-drawable/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/OtpTokenType.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data 2 | 3 | enum class OtpTokenType { 4 | HOTP, 5 | TOTP 6 | } -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/16.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.5 2 | * Make sure the token width is at least 320 dp to show full token. Fix the incomplete token not shown on some phones. 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/001.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/002.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helloworld1/FreeOTPPlus/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/003.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.defaults.buildfeatures.buildconfig=true 2 | android.nonFinalResIds=false 3 | android.nonTransitiveRClass=false 4 | android.useAndroidX=true 5 | org.gradle.jvmargs=-Xmx2048m 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/17.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.6 2 | * Use better algorithm detection tablet vs phone mode 3 | * Fix HOTP not refreshing after after reveraling 4 | * Update translations 5 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/18.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.7 2 | * Fix crash when using search function 3 | * Added Polish translations. Thanks @mrzeznik for the contribution 4 | * Update translations 5 | 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/5.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.4 2 | * Search token 3 | * Better dark mode theme 4 | * Fix several crashes caused by invalid token 5 | * More responsive UI on low end devices 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/14.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.3 2 | * Display first letter as placeholder for token text 3 | * Add 2 minutes timeout to lock if authentication is turned on 4 | * Dark theme update 5 | * Translations update 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/19.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.8 2 | * Share QR code of a token 3 | * Dark mode improvement 4 | * Fix some layout issues 5 | * Add shortcut to launch the app with screenshot mode on 6 | * Translation improvements 7 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/9.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.8 2 | * Night mode improvement 3 | * General UI improvement 4 | * Fixed token image transparency issue 5 | * Afrikaans translation 6 | 7 | Thanks error401de's contribution for most of the features 8 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/21.txt: -------------------------------------------------------------------------------- 1 | RELEASE-3.0 2 | * Sharing token to other apps 3 | * Lock and exit is a button on the toolbar now 4 | * Follow system light / dark theme 5 | * Better constrast for some buttons for some devices 6 | * Add ING issuer icon 7 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/11.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.0 2 | * Add optional biometric / PIN authentication to launch 3 | * Add icons based on token's issuer. Currently about 250 sites are supported. 4 | * UI update to add FAB to launch camera 5 | * CameraX Update 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #7F7F7F 4 | #222222 5 | #A0A0A0 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8dp 4 | 8dp 5 | 16dp 6 | 400dp 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/array.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MD5 5 | SHA1 6 | SHA256 7 | SHA512 8 | 9 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/20.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.9 2 | * Smooth token re-arrangement by long pressing token and move. (Thanks to PhilKes' contribution) 3 | * Default export token file name now contains date (Thanks to PhilKes' contribution) 4 | * Upgrade Camera dependencies 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Oct 31 13:58:50 PDT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip 7 | -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/legacy/SavedTokens.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data.legacy 2 | 3 | import org.fedorahosted.freeotp.data.legacy.Token 4 | 5 | /** 6 | * The saved tokens to storage 7 | */ 8 | data class SavedTokens(val tokens: List, val tokenOrder: List) 9 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/6.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.5 2 | * New camera scanning rewrite for faster and more accurate QR code scanning 3 | * Updated dark theme support for more contrast menu and token card 4 | * Adaptive icon support 5 | * Add option to not copy to clipboard 6 | * Fix token order issue after crash 7 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/13.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.2 2 | * Fix token image contrast issues in dark theme 3 | * Add option to remove user token image 4 | * Translations updates, German, French, Spanish, Portuguese Brazilian, Basque are mostly complete thanks to @6543's contribution. 5 | * Key uri file type bug fixed. 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/share_qrcode.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fadein.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fadeout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_import.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/token_image_fadein.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/token_image_fadeout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/alert.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_export.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/4.txt: -------------------------------------------------------------------------------- 1 | RELEASE-1.3 2 | * Import / Export using key uri file format for interoperability with other apps 3 | * Support non-standard 7 digits token 4 | * Add dark theme (Experimental) 5 | * Fix issues when persisting images associated with the token 6 | * Better error handling 7 | * Use full screen to edit and add token 8 | -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/OtpTokenDatabase.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data 2 | 3 | import androidx.room.Database 4 | import androidx.room.RoomDatabase 5 | 6 | @Database(entities = [OtpToken::class], version = 1, exportSchema = false) 7 | abstract class OtpTokenDatabase : RoomDatabase() { 8 | abstract fun otpTokenDao(): OtpTokenDao 9 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/scan.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #16AFF9 4 | #128EC9 5 | #16AFF9 6 | @android:color/white 7 | #303030 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /scripts/sign-apk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | APK_DIR="app/build/outputs/apk/release" 4 | UNSIGNED_APK_FILE_NAME="app-release-unsigned.apk" 5 | SIGNED_APK_FILE_NAME="FreeOtpPlus-release.apk" 6 | 7 | jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore ~/Documents/keys/liberty-android-release.keystore "$APK_DIR/$UNSIGNED_APK_FILE_NAME" liberty-android-key 8 | zipalign -v 4 "$APK_DIR/$UNSIGNED_APK_FILE_NAME" "$APK_DIR/$SIGNED_APK_FILE_NAME" 9 | -------------------------------------------------------------------------------- /app/src/androidTest/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/15.txt: -------------------------------------------------------------------------------- 1 | RELEASE-2.4 2 | * Major rewrite of the data layer to be more flexible (Changed from shared preference to SQLite db). Existing token data will be migrated automatically to the new internal format. 3 | * Allows multiple tokens with the same issuer and account to be added without replacing 4 | * Huge performance improvement on loading custom image 5 | * Improves UI on tablets 6 | * Updated translation changes. 7 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_school.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_office.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_email.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/ui/SquareRelativeLayout.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.ui 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.widget.RelativeLayout 6 | 7 | class SquareRelativeLayout @JvmOverloads constructor( 8 | context: Context, attrs: AttributeSet? = null 9 | ) : RelativeLayout(context, attrs) { 10 | 11 | override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { 12 | super.onMeasure(widthMeasureSpec, widthMeasureSpec) 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bitfinex.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_cloud_download.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_patreon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bitmex.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_teamviewer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/ui/TokenItemCallback.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.ui 2 | 3 | import androidx.recyclerview.widget.DiffUtil 4 | import org.fedorahosted.freeotp.data.OtpToken 5 | import org.fedorahosted.freeotp.data.legacy.Token 6 | 7 | class TokenItemCallback: DiffUtil.ItemCallback() { 8 | override fun areItemsTheSame(oldItem: OtpToken, newItem: OtpToken): Boolean { 9 | return oldItem.id == newItem.id 10 | } 11 | 12 | override fun areContentsTheSame(oldItem: OtpToken, newItem: OtpToken): Boolean { 13 | return oldItem == newItem 14 | } 15 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_flight_takeoff.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mapbox.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_jagex.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_wallet.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/OtpToken.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data 2 | 3 | import androidx.room.Entity 4 | import androidx.room.PrimaryKey 5 | 6 | @Entity(tableName = "otp_tokens") 7 | data class OtpToken ( 8 | @PrimaryKey(autoGenerate = true) val id: Long, 9 | val ordinal: Long, 10 | val issuer: String?, 11 | val label: String, 12 | val imagePath: String?, 13 | val tokenType: OtpTokenType, 14 | val algorithm: String, 15 | val secret: String, 16 | val digits: Int, 17 | val counter: Long, 18 | val period: Int, 19 | val encryptionType: EncryptionType 20 | ) -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP+ 是基于RedHat的FreeOTP的一个增强分叉,在保留原项目功能的同时增加了以下功能: 2 | 3 | * 导出设置到Google Drive或其他云文档储存服务 4 | * 导入从Google Drive或其他云文档储存服务中保存的设置 5 | * 稳定性大量提高 6 | * 支持 Android 6.0 权限 7 | * 使用Material Design的增强界面 + 暗色主题支持 8 | * 搜索栏搜索令牌功能 9 | * 可提供更多令牌详细信息以提高与其他应用的兼容性 10 | * 可利用现代相机硬件更快地扫描二维码 11 | * 可设置需要生物测定/PIN身份验证启动应用程序 12 | * 自发式检测250多个网站的离线图标 13 | * 设置更多的自定义应用功能 14 | 15 | FreeOTP 是使用一次性密码协议(OTP)系统的双重身份验证(2FA)应用程序。 16 | 可以通过扫描QR码或手动输入令牌配置轻松添加令牌。 17 | 18 | FreeOTP 实施开源标准。 这意味着不需要任何专有服务器组件: 19 | 使用任何服务器端组件来实现这些标准 — 例如使用 TOTP的FreeIPA系统。 20 | 任何符合标准的执行都将起作用。 21 | 目前,FreeOTP兼容HOTP (RFC 4226)和TOTP (RFC 6238)。 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # built native files 12 | *.o 13 | *.so 14 | 15 | # Ignore gradle files 16 | .gradle/ 17 | build/ 18 | 19 | # Local configuration file (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Mac OS X clutter 26 | *.DS_Store 27 | 28 | # Windows clutter 29 | Thumbs.db 30 | 31 | # Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067) 32 | *.iml 33 | .idea 34 | 35 | # Crowdin Config 36 | crowdin.yml 37 | 38 | app/release/ 39 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_twitch.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_npm.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bittrex.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-TW/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus 分支自紅帽公司提供的 FreeOTP,功能類似,但有以下的強化功能: 2 | 3 | * 匯出設定至 Google 雲端硬碟或其他文件提供商 4 | * 從 Google 雲端硬碟或其他文件提供商匯入設定 5 | * 大量的穩定性改進 6 | * 支援 Android 6.0 的權限。 7 | * 使用包含深色主題支援的 Material Design 強化使用者介面 8 | * 可用來搜尋權杖的搜尋列 9 | * 提供更多權杖的詳細資訊以與其他應用程式有更好的互操作性 10 | * 利用現代相機硬體更快地掃描 QR code 11 | * 使用生物特徵/PIN 身份驗證來啟動應用程式 12 | * 250 個以上的網站的啟發式離線圖示 13 | * 更多用來自訂應用程式功能的設定 14 | 15 | FreeOTP 是一套兩步驟驗證 (2FA) 應用程式,適用於使用動態密碼協定 (OTP) 的系統。 16 | 可以透過掃描 QR code 或手動輸入權杖設定輕鬆新增權杖。 17 | 18 | FreeOTP 實作了開放標準。 這代表了不需要專有的伺服器端元件: 19 | 使用任何實作這些標準的伺服器端元件 — 例如使用 TOTP 的 FreeIPA。 20 | 任何符合標準的實作都能運作。 21 | 目前,FreeOTP 提供 HOTP (RFC 4226) 與 TOTP (RFC 6238) 的實作。 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_airbrake.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_gamepad.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /crowdin.example.yml: -------------------------------------------------------------------------------- 1 | "project_id": "417526" 2 | "api_token": "-removed-" 3 | "base_path": "" 4 | "preserve_hierarchy": false 5 | files: [ 6 | { 7 | "source": "app/src/main/res/values/strings.xml", 8 | "translation": "app/src/main/res/values-%android_code%/strings.xml", 9 | }, 10 | { 11 | "source": "fastlane/metadata/android/en-US/short_description.txt", 12 | "translation": "fastlane/metadata/android/%locale%/short_description.txt", 13 | }, 14 | { 15 | "source": "fastlane/metadata/android/en-US/full_description.txt", 16 | "translation": "fastlane/metadata/android/%locale%/full_description.txt", 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_betterment.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_unity.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_alwaysdata.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/androidTest/java/org/fedorahosted/freeotp/uitest/RecyclerViewAssertion.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.uitest 2 | 3 | import android.view.View 4 | import androidx.recyclerview.widget.RecyclerView 5 | import androidx.test.espresso.NoMatchingViewException 6 | import androidx.test.espresso.ViewAssertion 7 | import com.google.common.truth.Truth.assertThat 8 | 9 | object RecyclerViewAssertion { 10 | fun childrenCount(count: Int): ViewAssertion = ViewAssertion { view, noViewFoundException -> 11 | if (noViewFoundException != null) { 12 | throw noViewFoundException 13 | } 14 | 15 | 16 | val recyclerView = view as RecyclerView 17 | assertThat(recyclerView.adapter?.itemCount).isEqualTo(count) 18 | } 19 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_revolt.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/xml-v25/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/debug/res/xml-v25/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_passwordstate.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/FreeOtpPlusApplication.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp 2 | 3 | import android.app.Application 4 | import androidx.appcompat.app.AppCompatDelegate 5 | import dagger.hilt.android.HiltAndroidApp 6 | import org.fedorahosted.freeotp.util.Settings 7 | import javax.inject.Inject 8 | 9 | @HiltAndroidApp 10 | class FreeOtpPlusApplication: Application() { 11 | @Inject lateinit var settings: Settings 12 | 13 | override fun onCreate() { 14 | super.onCreate() 15 | if (settings.darkMode) { 16 | AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) 17 | } else { 18 | AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_hetzner.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_digidentity.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mint.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_turbotax.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_atlassian.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_facebook.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/androidTest/java/org/fedorahosted/freeotp/uitest/TestData.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.uitest 2 | 3 | import android.net.Uri 4 | import org.fedorahosted.freeotp.data.OtpTokenFactory 5 | 6 | object TestData { 7 | val OTP_HOTP_TOKEN_1 = OtpTokenFactory.createFromUri( 8 | Uri.parse("otpauth://hotp/github.com:github%20account%201?secret=abcd5432&algorithm=SHA256&digits=6&period=30&lock=false&counter=0")) 9 | .copy( 10 | id = 1, 11 | ordinal = 1 12 | ) 13 | 14 | val OTP_TOTP_TOKEN_2 = OtpTokenFactory.createFromUri( 15 | Uri.parse("otpauth://totp/microsoft.com:microsoft%20account%201?secret=bcde23456&algorithm=SHA512&digits=6&period=30&lock=false")) 16 | .copy( 17 | id = 2, 18 | ordinal = 2 19 | ) 20 | 21 | } -------------------------------------------------------------------------------- /text-drawable/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /token-data/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_vagrant_cloud.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_vultr.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle.kts. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_fanatical.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_airbnb.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_tumblr.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_faceit.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_prey.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_ubnt.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mixer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_gmx.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_terminal.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_lobsters.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/androidTest/java/org/fedorahosted/freeotp/uitest/RecyclerViewAction.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.uitest 2 | 3 | import android.view.View 4 | import androidx.test.espresso.UiController 5 | import androidx.test.espresso.ViewAction 6 | import org.hamcrest.Matcher 7 | import org.hamcrest.Matchers 8 | 9 | object RecyclerViewAction { 10 | fun clickChildViewWithId(id: Int) = object: ViewAction { 11 | override fun getConstraints(): Matcher { 12 | return Matchers.any(View::class.java) 13 | } 14 | 15 | override fun getDescription(): String { 16 | return "Click on recycler view child" 17 | } 18 | 19 | override fun perform(uiController: UiController?, view: View?) { 20 | val child = view?.findViewById(id) 21 | child?.performClick()?: throw AssertionError("Cannot find view with id: $id") 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_coinjar.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_yandex_money.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_dropbox.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_dreamhost.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mega.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_migadu.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_apple.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_heroku.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_allegropl.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_discord.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 16 | 26 | 27 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_kucoin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_lichess.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_xing.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/tags.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_transip.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_hackerone.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_linkedin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_trello.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 13 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_appveyor.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_tutanota.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/androidTest/java/org/fedorahosted/freeotp/uitest/SearchViewAction.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.uitest 2 | 3 | import android.view.View 4 | import androidx.appcompat.widget.SearchView 5 | import androidx.test.espresso.UiController 6 | import androidx.test.espresso.ViewAction 7 | import androidx.test.espresso.matcher.ViewMatchers.isAssignableFrom 8 | import org.hamcrest.Matcher 9 | import androidx.test.espresso.matcher.ViewMatchers.isDisplayed 10 | import org.hamcrest.Matchers.allOf 11 | 12 | 13 | object SearchViewAction { 14 | fun typeSearchViewText(text: String) = object: ViewAction { 15 | override fun getConstraints(): Matcher { 16 | return allOf(isDisplayed(), isAssignableFrom(SearchView::class.java)) 17 | } 18 | 19 | override fun getDescription(): String { 20 | return "type in on searchView text" 21 | } 22 | 23 | override fun perform(uiController: UiController?, view: View?) { 24 | (view as SearchView).setQuery(text,false); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_git.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bitdefender.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_weclapp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /token-data/src/main/java/org/fedorahosted/freeotp/data/module/DataModule.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.data.module 2 | 3 | import android.content.Context 4 | import android.content.SharedPreferences 5 | import android.preference.PreferenceManager 6 | import androidx.room.Room 7 | import com.google.gson.Gson 8 | import dagger.Module 9 | import dagger.Provides 10 | import dagger.hilt.InstallIn 11 | import dagger.hilt.android.qualifiers.ApplicationContext 12 | import dagger.hilt.components.SingletonComponent 13 | import org.fedorahosted.freeotp.data.OtpTokenDatabase 14 | import java.util.concurrent.ExecutorService 15 | import java.util.concurrent.Executors 16 | import javax.inject.Singleton 17 | 18 | @Module 19 | @InstallIn(SingletonComponent::class) 20 | object DataModule { 21 | @Singleton 22 | @Provides 23 | fun database(@ApplicationContext context:Context) 24 | = Room.databaseBuilder(context, OtpTokenDatabase::class.java, "otp-token-db") 25 | .build() 26 | 27 | @Singleton 28 | @Provides 29 | fun gson() = Gson() 30 | } 31 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_animebytes.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mongodb.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_wikimedia.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_rss.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 13 | 16 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_twitter.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_electronic_arts.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/util/ImageUtil.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.util 2 | 3 | import android.content.Context 4 | import android.graphics.Bitmap 5 | import android.media.Image 6 | import android.net.Uri 7 | import android.provider.MediaStore 8 | import androidx.core.net.toUri 9 | import dagger.hilt.android.qualifiers.ApplicationContext 10 | import kotlinx.coroutines.Dispatchers 11 | import kotlinx.coroutines.withContext 12 | import java.io.File 13 | import javax.inject.Inject 14 | import javax.inject.Singleton 15 | 16 | @Singleton 17 | class ImageUtil @Inject constructor(@ApplicationContext val context: Context) { 18 | suspend fun saveImageUriToFile(uri: Uri):Uri = withContext(Dispatchers.IO) { 19 | val outputFile = File(context.filesDir.absolutePath + "/image" + uri.toString().hashCode() + ".png") 20 | val bitmap = MediaStore.Images.Media.getBitmap(context.contentResolver, uri) 21 | 22 | outputFile.outputStream().use { 23 | bitmap.compress(Bitmap.CompressFormat.PNG, 0, it) 24 | } 25 | 26 | outputFile.toUri() 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_parsecgaming.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/util/Settings.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.util 2 | 3 | import android.content.SharedPreferences 4 | import javax.inject.Inject 5 | import javax.inject.Singleton 6 | 7 | private const val DARK_MODE_KEY = "darkMode" 8 | private const val COPY_TO_CLIPBOARD_KEY = "copyToClipboard" 9 | private const val REQUIRE_AUTHENTICATION = "requireAuthentication" 10 | 11 | @Singleton 12 | class Settings @Inject constructor(val sharedPreferences: SharedPreferences) { 13 | var darkMode: Boolean 14 | get() = sharedPreferences.getBoolean(DARK_MODE_KEY, false) 15 | set(value) = sharedPreferences.edit().putBoolean(DARK_MODE_KEY, value).apply() 16 | var copyToClipboard: Boolean 17 | get() = sharedPreferences.getBoolean(COPY_TO_CLIPBOARD_KEY, true) 18 | set(value) = sharedPreferences.edit().putBoolean(COPY_TO_CLIPBOARD_KEY, value).apply() 19 | var requireAuthentication: Boolean 20 | get() = sharedPreferences.getBoolean(REQUIRE_AUTHENTICATION, false) 21 | set(value) = sharedPreferences.edit().putBoolean(REQUIRE_AUTHENTICATION, value).apply() 22 | 23 | } -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_binance.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_figma.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 13 | 16 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_tuwien_ac_at.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP פלוס העניקה את אותה פונקציונליות של FreeOTP המסופקת על ידי RedHat עם השיפור הבא: 2 | 3 | * ייצא הגדרות ל-Google Drive או לספקי מסמכים אחרים 4 | * ייבוא הגדרות מ-Google Drive או מספקי מסמכים אחרים 5 | * הרבה שיפור יציבות 6 | * תומך בהרשאות אנדרואיד 6.0. 7 | ממשק משתמש משופר עם עיצוב חומר עם תמיכה בערכת נושא כהה 8 | * סרגל חיפוש לחיפוש אסימון 9 | * מספק עוד פרטים על האסימון לשיפור פעולה הדדית עם יישומים אחרים 10 | * שימוש בחומרת מצלמה מודרנית כדי לסרוק קוד QR מהר יותר 11 | * אפשרות לדרוש אימות ביומטרי / PIN להפעלת היישום 12 | * היוריסטיקה מבוססת על סמליל לא מקוון של אסימונים עבור מעל 250 אתרים. 13 | * הגדרות נוספות להתאמה אישית של פונקציונליות היישום 14 | 15 | FreeOTP הוא יישום אימות דו-גורמי (2FA) למערכות המשתמשות בפרוטוקולי סיסמא חד פעמיים (OTP). 16 | ניתן להוסיף אסימונים בקלות על ידי סריקת קוד QR או על ידי הזנה ידנית בתצורת האסימון. 17 | 18 | FreeOTP מיישם סטנדרטים פתוחים. פירוש הדבר כי אין צורך ברכיב קנייני בצד השרת: 19 | ניתן להשתמש בכל רכיב בצד השרת שמיישם תקנים אלה - למשל FreeIPA, המשתמשת ב-TOTP. 20 | כל יישום תואם תקנים יעבוד. 21 | נכון לעכשיו, FreeOTP מספק יישומים של HOTP (RFC 4226) ו-TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /text-drawable/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("com.android.library") 3 | kotlin("android") 4 | } 5 | 6 | android { 7 | compileSdk = rootProject.extra["compileSdkVersion"] as Int 8 | 9 | defaultConfig { 10 | minSdk = rootProject.extra["minSdkVersion"] as Int 11 | targetSdk = rootProject.extra["targetSdkVersion"] as Int 12 | 13 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 14 | consumerProguardFiles("consumer-rules.pro") 15 | } 16 | 17 | buildTypes { 18 | getByName("release") { 19 | isMinifyEnabled = false 20 | proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") 21 | } 22 | } 23 | compileOptions { 24 | sourceCompatibility = JavaVersion.VERSION_1_8 25 | targetCompatibility = JavaVersion.VERSION_1_8 26 | } 27 | kotlinOptions { 28 | jvmTarget = "1.8" 29 | } 30 | namespace = "com.amulyakhare.textdrawable" 31 | } 32 | 33 | dependencies { 34 | implementation(kotlin("stdlib-jdk8")) 35 | implementation(libs.coreKtx) 36 | implementation(libs.appCompat) 37 | } -------------------------------------------------------------------------------- /fastlane/metadata/android/iw-HE/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP פלוס העניקה את אותה פונקציונליות של FreeOTP המסופקת על ידי RedHat עם השיפור הבא: 2 | 3 | * ייצא הגדרות ל-Google Drive או לספקי מסמכים אחרים 4 | * ייבוא הגדרות מ-Google Drive או מספקי מסמכים אחרים 5 | * שיפור יציבות רבים 6 | * תומך בהרשאות אנדרואיד 6.0. 7 | * ממשק משתמש משופר עם עיצוב חומר עם תמיכה בערכת נושא כהה 8 | * סרגל חיפוש לחיפוש אסימון 9 | * מספק עוד פרטים על האסימון לשיפור פעולה הדדית עם יישומים אחרים 10 | * שימוש בחומרת מצלמה מודרנית כדי לסרוק קוד QR מהר יותר 11 | * אפשרות לדרוש אימות ביומטרי / PIN להפעלת היישום 12 | * היוריסטיקה מבוססת על סמליל לא מקוון של אסימונים עבור מעל 250 אתרים. 13 | * הגדרות נוספות להתאמה אישית של פונקציונליות היישום 14 | 15 | FreeOTP הוא יישום אימות דו-גורמי (2FA) למערכות המשתמשות בפרוטוקולי סיסמא חד פעמיים (OTP). 16 | ניתן להוסיף אסימונים בקלות על ידי סריקת קוד QR או על ידי הזנה ידנית בתצורת האסימון. 17 | 18 | FreeOTP מיישם סטנדרטים פתוחים. פירוש הדבר כי אין צורך ברכיב קנייני בצד השרת: 19 | ניתן להשתמש בכל רכיב בצד השרת שמיישם תקנים אלה - למשל FreeIPA, המשתמשת ב-TOTP. 20 | כל יישום התואם תקנים יעבוד. 21 | נכון לעכשיו, FreeOTP מספק יישומים של HOTP (RFC 4226) ו-TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("com.android.library") 3 | kotlin("android") 4 | } 5 | 6 | android { 7 | compileSdk = rootProject.extra["compileSdkVersion"] as Int 8 | 9 | defaultConfig { 10 | minSdk = rootProject.extra["minSdkVersion"] as Int 11 | targetSdk = rootProject.extra["targetSdkVersion"] as Int 12 | 13 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 14 | consumerProguardFiles("consumer-rules.pro") 15 | } 16 | 17 | buildTypes { 18 | getByName("release") { 19 | isMinifyEnabled = false 20 | proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") 21 | } 22 | } 23 | compileOptions { 24 | sourceCompatibility = JavaVersion.VERSION_1_8 25 | targetCompatibility = JavaVersion.VERSION_1_8 26 | } 27 | kotlinOptions { 28 | jvmTarget = "1.8" 29 | } 30 | namespace = "org.liberty.android.freeotp.token_images" 31 | } 32 | 33 | dependencies { 34 | implementation(kotlin("stdlib-jdk8")) 35 | implementation(libs.coreKtx) 36 | implementation(libs.appCompat) 37 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_deutsche_bahn.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_sevdesk.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/module/AppModule.kt: -------------------------------------------------------------------------------- 1 | package org.fedorahosted.freeotp.module 2 | 3 | import android.content.Context 4 | import android.content.SharedPreferences 5 | import android.preference.PreferenceManager 6 | import com.google.zxing.qrcode.QRCodeReader 7 | import dagger.Module 8 | import dagger.Provides 9 | import dagger.hilt.InstallIn 10 | import dagger.hilt.android.qualifiers.ApplicationContext 11 | import dagger.hilt.components.SingletonComponent 12 | import org.fedorahosted.freeotp.data.module.DataModule 13 | import java.util.concurrent.ExecutorService 14 | import java.util.concurrent.Executors 15 | import javax.inject.Singleton 16 | 17 | @Module(includes = [DataModule::class]) 18 | @InstallIn(SingletonComponent::class) 19 | object AppModule { 20 | @Singleton 21 | @Provides 22 | fun sharedPreference(@ApplicationContext context: Context): SharedPreferences = 23 | PreferenceManager.getDefaultSharedPreferences(context) 24 | 25 | @Singleton 26 | @Provides 27 | fun qrCodeReader(): QRCodeReader = QRCodeReader() 28 | 29 | @Singleton 30 | @Provides 31 | fun executorService(): ExecutorService = Executors.newFixedThreadPool(4) 32 | } -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_iconomi.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 18 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_matomo.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_twilio.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_fastmail.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_kickstarter.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mailgun.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_etsy.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_login_gov.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 11 | 14 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_pluralsight.xml: -------------------------------------------------------------------------------- 1 | 7 | 9 | 10 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus は、RedHat が提供する同様な機能を持った FreeOTP を以下のように拡張しました。 2 | 3 | * 設定を Google ドライブやその他のドキュメントプロバイダにエクスポート 4 | * Google ドライブまたはその他のドキュメントプロバイダから設定をインポート 5 | * 安定性の向上 6 | * Support Android 6.0 permissions. 7 | * ダークテーマに対応したマテリアルデザインでUIを強化 8 | * Search bar to search token 9 | * Provide more token details for better interoperatibility with other apps 10 | * Utilize modern camera hardware to scan QR code faster 11 | * Option to require Biometric / PIN authentication to launch the app 12 | * Heuristic based offline icon for tokens of 250+ websites. 13 | * More settings to customize the app functionality 14 | 15 | FreeOTP is a two-factor authentication (2FA) application for systems utilizing one-time password protocols (OTP). 16 | Tokens can be added easily by scanning a QR-code or by manually entering in the token configuration. 17 | 18 | FreeOTP implements open standards. This means that no proprietary server-side component is necessary: 19 | use any server-side component that implements these standards — for example FreeIPA, which uses TOTP. 20 | Any standards-compliant implementation will work. 21 | Currently, FreeOTP provides implementations of HOTP (RFC 4226) and TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_instagram.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 18 | 21 | 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_standardnotes.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 25 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_amazon.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bugcrowd.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_oculus.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_rackspace.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_ibm.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_protonmail.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/color-night/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/color/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_gitlab.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/token.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_pretix.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_microsoft.xml: -------------------------------------------------------------------------------- 1 | 6 | 12 | 18 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/full_description.txt: -------------------------------------------------------------------------------- 1 | قامت FreeOTP Plus بتكوين نفس وظائف FreeOTP التي قدمتها RedHat مع التحسينات التالية: 2 | 3 | * استيراد الإعدادات من Google Drive أو موفري المستندات الآخرين 4 | * تصدير الإعدادات إلى Google Drive أو موفري المستندات الآخرين 5 | * تحسن كبير في الاستقرار 6 | * دعم أذونات أندرويد 6.0. 7 | * واجهة مستخدم محسّنة بتصميم مادي مع دعم سمة داكنة 8 | * شريط البحث للبحث في الرمز المميز 9 | * توفير المزيد من تفاصيل الرمز المميز لتحسين إمكانية التشغيل البيني مع التطبيقات الأخرى 10 | * استخدم أجهزة الكاميرا الحديثة لمسح رمز الاستجابة السريعة ضوئيًا بشكل أسرع 11 | * خيار لطلب المصادقة البيومترية / رقم التعريف الشخصي لتشغيل التطبيق 12 | * رمز غير متصل بالإنترنت قائم على الكشف عن مجريات الأمور للحصول على رموز من أكثر من 250 موقعًا. 13 | * المزيد من الإعدادات لتخصيص وظائف التطبيق 14 | 15 | FreeOTP هو تطبيق مصادقة ثنائية (2FA) للأنظمة التي تستخدم بروتوكولات كلمة المرور لمرة واحدة (OTP). 16 | يمكن إضافة الرموز بسهولة عن طريق مسح رمز الاستجابة السريعة ضوئيًا أو عن طريق إدخال تكوين الرمز المميز يدويًا. 17 | 18 | تطبق FreeOTP المعايير المفتوحة. هذا يعني أنه لا يلزم وجود مكون خاص من جانب الخادم: 19 | استخدم أي مكون من جانب الخادم يطبق هذه المعايير - على سبيل المثال FreeIPA ، الذي يستخدم TOTP. 20 | سيعمل أي تنفيذ متوافق مع المعايير. 21 | حاليًا ، يوفر FreeOTP تطبيقات HOTP (RFC 4226) و TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_origin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus rozwija funkcjonalność FreeOTP od RedHat z następującymi ulepszeniami: 2 | 3 | * Eksport ustawień do Google Drive lub innych dostawców 4 | * Import ustawień z Google Drive lub innych dostawców 5 | * Dużo poprawek stabilności 6 | * Obsługa uprawnień Android 6.0 7 | * Ulepszony UI z Material Design z obsługą ciemnego motywu 8 | * Pasek wyszukiwania tokenów 9 | * Obsługa szczegółów tokena dla lepszej współpracy z innymi aplikacjami 10 | * Szybsze skanowanie kodów QR przy użyciu kamery 11 | * Zabezpieczenie aplikacji uwierzytelnianiem biometrycznym / PIN 12 | * Wykrywanie ikon offline dla 250+ stron internetowych 13 | * Więcej ustawień, aby dostosować funkcjonalność aplikacji 14 | 15 | FreeOTP jest aplikacją do uwierzytelniania dwuskładnikowego (2FA) dla systemów wykorzystujących hasła jednorazowe (OTP). 16 | Tokeny można łatwo dodać, skanując kod QR lub ręcznie wpisując konfigurację tokena. 17 | 18 | FreeOTP implementuje otwarte standardy. Oznacza to, że nie jest wymagany żaden własnościowy komponent po stronie serwera: 19 | użyj dowolnego komponentu po stronie serwera, który implementuje te standardy - na przykład FreeIPA, który używa TOTP. 20 | Każda implementacja zgodna ze standardami będzie działać. 21 | Obecnie FreeOTP obsługuje implementacje HOTP (RFC 4226) i TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_google.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_blockchain_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 14 | 17 | 20 | 23 | 26 | 27 | -------------------------------------------------------------------------------- /fastlane/metadata/android/af-ZA/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus forked the same functionality of FreeOTP provided by RedHat with the following enhancement: 2 | 3 | * Export settings to Google Drive or other document providers 4 | * Import settings from Google Drive or other document providers 5 | * Lots of stability improvement 6 | * Support Android 6.0 permissions. 7 | * Enhanced UI with material design with dark theme support 8 | * Search bar to search token 9 | * Provide more token details for better interoperatibility with other apps 10 | * Utilize modern camera hardware to scan QR code faster 11 | * Option to require Biometric / PIN authentication to launch the app 12 | * Heuristic based offline icon for tokens of 250+ websites. 13 | * More settings to customize the app functionality 14 | 15 | FreeOTP is a two-factor authentication (2FA) application for systems utilizing one-time password protocols (OTP). 16 | Tokens can be added easily by scanning a QR-code or by manually entering in the token configuration. 17 | 18 | FreeOTP implements open standards. This means that no proprietary server-side component is necessary: 19 | use any server-side component that implements these standards — for example FreeIPA, which uses TOTP. 20 | Any standards-compliant implementation will work. 21 | Currently, FreeOTP provides implementations of HOTP (RFC 4226) and TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /fastlane/metadata/android/hu-HU/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus forked the same functionality of FreeOTP provided by RedHat with the following enhancement: 2 | 3 | * Export settings to Google Drive or other document providers 4 | * Import settings from Google Drive or other document providers 5 | * Lots of stability improvement 6 | * Support Android 6.0 permissions. 7 | * Enhanced UI with material design with dark theme support 8 | * Search bar to search token 9 | * Provide more token details for better interoperatibility with other apps 10 | * Utilize modern camera hardware to scan QR code faster 11 | * Option to require Biometric / PIN authentication to launch the app 12 | * Heuristic based offline icon for tokens of 250+ websites. 13 | * More settings to customize the app functionality 14 | 15 | FreeOTP is a two-factor authentication (2FA) application for systems utilizing one-time password protocols (OTP). 16 | Tokens can be added easily by scanning a QR-code or by manually entering in the token configuration. 17 | 18 | FreeOTP implements open standards. This means that no proprietary server-side component is necessary: 19 | use any server-side component that implements these standards — for example FreeIPA, which uses TOTP. 20 | Any standards-compliant implementation will work. 21 | Currently, FreeOTP provides implementations of HOTP (RFC 4226) and TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /fastlane/metadata/android/si-LK/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus forked the same functionality of FreeOTP provided by RedHat with the following enhancement: 2 | 3 | * Export settings to Google Drive or other document providers 4 | * Import settings from Google Drive or other document providers 5 | * Lots of stability improvement 6 | * Support Android 6.0 permissions. 7 | * Enhanced UI with material design with dark theme support 8 | * Search bar to search token 9 | * Provide more token details for better interoperatibility with other apps 10 | * Utilize modern camera hardware to scan QR code faster 11 | * Option to require Biometric / PIN authentication to launch the app 12 | * Heuristic based offline icon for tokens of 250+ websites. 13 | * More settings to customize the app functionality 14 | 15 | FreeOTP is a two-factor authentication (2FA) application for systems utilizing one-time password protocols (OTP). 16 | Tokens can be added easily by scanning a QR-code or by manually entering in the token configuration. 17 | 18 | FreeOTP implements open standards. This means that no proprietary server-side component is necessary: 19 | use any server-side component that implements these standards — for example FreeIPA, which uses TOTP. 20 | Any standards-compliant implementation will work. 21 | Currently, FreeOTP provides implementations of HOTP (RFC 4226) and TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ta-IN/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus forked the same functionality of FreeOTP provided by RedHat with the following enhancement: 2 | 3 | * Export settings to Google Drive or other document providers 4 | * Import settings from Google Drive or other document providers 5 | * Lots of stability improvement 6 | * Support Android 6.0 permissions. 7 | * Enhanced UI with material design with dark theme support 8 | * Search bar to search token 9 | * Provide more token details for better interoperatibility with other apps 10 | * Utilize modern camera hardware to scan QR code faster 11 | * Option to require Biometric / PIN authentication to launch the app 12 | * Heuristic based offline icon for tokens of 250+ websites. 13 | * More settings to customize the app functionality 14 | 15 | FreeOTP is a two-factor authentication (2FA) application for systems utilizing one-time password protocols (OTP). 16 | Tokens can be added easily by scanning a QR-code or by manually entering in the token configuration. 17 | 18 | FreeOTP implements open standards. This means that no proprietary server-side component is necessary: 19 | use any server-side component that implements these standards — for example FreeIPA, which uses TOTP. 20 | Any standards-compliant implementation will work. 21 | Currently, FreeOTP provides implementations of HOTP (RFC 4226) and TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_codegiant.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 14 | 17 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_vk.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_mastodon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_steam.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/uk-UA/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus скопіював функціональність, що надає FreeOTP від RedHat з додатковими покращеннями: 2 | 3 | * Експортування налаштувань до Google Drive або інших постачальників документів 4 | * Імпортування налаштувань з Google Drive або інших постачальників документів 5 | * Багато покращень стабільності 6 | * Підтримка дозволів Android 6.0. 7 | * Покращений КІ з підтримкою матеріального дизайну з темною темою 8 | * Панель пошуку для пошуку ключа 9 | * Надає більше подробиць ключа для кращої взаємодії з іншими програмами 10 | * Використовуйте сучасне обладнання камери для швидкого сканування QR-коду 11 | * Параметр вимагає автентифікацію через PIN / біометрику для запуску програми 12 | * Евристичний зовнішній значок для маркерів 250+ сайтів. 13 | * Більше параметрів для налаштування функціональності застосунку 14 | 15 | FreeOTP це програма для двофакторної автентифікації (2FA) для систем, що використовують протоколи одноразових паролів (OTP). 16 | Ключі можна легко додавати скануючи QR-код або вручну ввівши налаштування ключа. 17 | 18 | FreeOTP реалізує відкриті стандарти. Це означає, що жоден власний серверний компонент не є необхідним: 19 | використовуйте будь-який серверний компонент, який реалізує ці стандарти — наприклад FreeIPA, який використовує TOTP. 20 | Сумісність з будь-якими стандартами реалізації. 21 | Зараз FreeOTP забезпечує реалізацію HOTP (RFC 4226) і TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_evernote.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/cs-CZ/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus jako fork FreeOTP nabízí stejnou funkcionalitu, kterou poskytuje RedHat s následujícím vylepšením: 2 | 3 | * Export nastavení na Disk Google nebo jiné poskytovatele dokumentů 4 | * Import nastavení z Disku Google nebo jiných poskytovatelů dokumentů 5 | * Spousta zlepšení stability 6 | * Podpora oprávnění Android 6.0. 7 | * Vylepšené uživatelské rozhraní s Material Design a podporou tmavého motivu 8 | * Vyhledávací lišta pro hledání tokenu 9 | * Poskytnutí více podrobností o tokenu pro lepší interoperabilitu s jinými aplikacemi 10 | * Využití moderního hardware fotoaparátu k rychlejšímu skenování QR kódu 11 | * Možnost vyžadovat biometrické / PIN ověření pro spuštění aplikace 12 | * Heuristická offline ikona pro tokeny více než 250 webů. 13 | * Další nastavení pro přizpůsobení funkcí aplikace 14 | 15 | FreeOTP je aplikace pro dvoufaktorovou autentizaci (2FA) pro systémy využívající protokoly jednorázového hesla (OTP). 16 | Tokeny lze snadno přidat naskenováním QR kódu nebo ručním zadáním konfigurace tokenu. 17 | 18 | FreeOTP implementuje otevřené standardy. To znamená, že není nutná žádná proprietární komponenta na straně serveru: 19 | použijte jakoukoli komponentu na straně serveru, která implementuje tyto standardy – například FreeIPA, která používá TOTP. 20 | Jakákoli implementace v souladu se standardy bude fungovat. 21 | V současné době poskytuje FreeOTP implementace HOTP (RFC 4226) a TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bitbucket.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus имеет ту же функциональность, что и FreeOTP, предоставляемую RedHat, со следующим улучшением: 2 | 3 | * Экспорт настроек в Google Диск или в другие поставщики документов 4 | * Импорт настроек с Google Диска или с других поставщиков документов 5 | * Много улучшений стабильности 6 | * Поддержка разрешений Android 6.0 7 | Улучшенный интерфейс с материальным дизайном и поддержкой темных тем 8 | * Панель поиска для поиска токена 9 | * Предоставляются дополнительные сведения о токенах для лучшей совместимости с другими приложениями 10 | * Использует современные камеры для более быстрого сканирования QR-кода 11 | * Возможность требовать биометрическую/PIN авторизацию для запуска приложения 12 | * Белее чем 250 встроенных значков для веб-сайтов 13 | * Дополнительные настройки для улучшения функциональности приложения 14 | 15 | FreeOTP - это приложение для двухфакторной авторизации (2FA) для систем, использующих протоколы одноразового пароля (OTP). 16 | Токены можно легко добавить, отсканировав QR-код или вручную введя конфигурацию токена. 17 | 18 | FreeOTP реализует открытые стандарты. Это означает, что никаких проприетарных серверных компонентов не требуется: 19 | используйте любой серверный компонент, реализующий эти стандарты, например FreeIPA, который использует TOTP. 20 | Любая реализация, соответствующая стандартам, будет работать. 21 | В настоящее время FreeOTP предоставляет реализации HOTP (RFC 4226) и TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /fastlane/metadata/android/sv-SE/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus förgrenade samma funktionalitet som FreeOTP från RedHat med följande förbättring: 2 | 3 | * Exportera inställningar till Google Drive eller andra dokumentleverantörer 4 | * Importera inställningar från Google Drive eller andra dokumentleverantörer 5 | * Mycket stabilitetsförbättring 6 | * Stöd för Android 6.0-behörigheter. 7 | * Förbättrat användargränssnitt med materialdesign med mörkt temastöd 8 | * Sökfält för att söka token 9 | * Tillhandahålla mer tokendetaljer för bättre interoperabilitet med andra appar 10 | * Använd modern kamerahårdvara för att skanna QR-kod snabbare 11 | * Alternativ för att kräva biometri/PIN-kod-autentisering för att starta appen 12 | * Heuristiskt baserad frånkopplad ikon för token från över 250+ webbplatser. 13 | * Fler inställningar för att anpassa appfunktionen 14 | 15 | FreeOTP är en tvåfaktorautentiseringsapplikation (2FA) för system som använder engångslösenordsprotokoll (OTP). 16 | Token kan enkelt läggas till genom att skanna en QR-kod eller genom att manuellt ange tokenkonfigurationen. 17 | 18 | FreeOTP implementerar öppna standarder. Detta innebär att ingen proprietär utvecklad komponent på serversidan är nödvändig: 19 | använd alla komponenter på serversidan som implementerar dessa standarder — till exempel FreeIPA, som använder TOTP. 20 | Alla implementeringar som uppfyller standarderna fungerar. 21 | För närvarande tillhandahåller FreeOTP implementeringar av HOTP (RFC 4226) och TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_adguard.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus hat das von RedHat zur Verfügung gestellte FreeOTP um folgende Funktionen erweiter: 2 | 3 | * Exportiere Einstellungen zu Google Drive oder anderen Cloud Anbietern 4 | * Importiere Einstellungen von Google Drive oder anderen Cloud Anbietern 5 | * Viele Verbesserungen der Stabilität 6 | * Unterstützung für Android 6.0 Berechtigungen. 7 | * Verbesserte Benutzeroberfläche mit Material Design und Dark-Theme Unterstützung 8 | * Suchleiste zum Suchen von Tokens 9 | * Zeigt mehr Details zu Tokens für eine bessere Interoperabilität mit anderen Apps 10 | * Benutzt moderne Kamera-Hardware, um QR-Codes schneller zu scannen 11 | * Option, für eine biometrische / PIN-Authentifizierung, um die App zu starten 12 | * Heuristisch ausgewählte Offline-Icons für Tokens von 250+ Websites. 13 | * Weitere Einstellungen zum Anpassen von Funktionen der App 14 | 15 | FreeOTP ist eine Anwendung zur Zwei-Faktor-Authentifizierung (2FA) für Systeme, die das Einmal-Passwort-Protokolle (OTP) verwenden. 16 | Tokens können ganz einfach durch Scannen eines QR-Codes oder manuelles Eingeben hinzugefügt werden. 17 | 18 | FreeOTP implementiert offene Standards. Das bedeutet, dass keine proprietäre serverseitige Komponente erforderlich ist: 19 | du kannst jede Dienst nutzen, der diesen Standards implementiert — zum Beispiel FreeIPA (TOTP). 20 | Jede standardkonforme Implementierung wird funktionieren. 21 | Derzeit hat FreeOTP Plus HOTP (RFC 4226) und TOTP (RFC 6238) implementiert. 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_bitcoin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /fastlane/metadata/android/eu-ES/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus RedHat-ek hornitutako FreeOTP-ren funtzionalitate bera adarkatzen du, hobekuntza hauekin: 2 | 3 | * Esportatu ezarpenak Google Drive edo beste dokumentu hornitzaileetara 4 | * Inportatu ezarpenak Google Drive edo beste dokumentu hornitzaileetatik 5 | * Egonkortasun hobekuntzak 6 | * Android 6.0 baimenentzako bateragarritasuna. 7 | * Erabiltzaile-interfaze hobetua material design eta gai ilunarekin 8 | * Bilaketa barra tokenak bilatzeko 9 | * Tokenen xehetasun gehiago beste aplikazio batzuekin bateragarriagoa izateko 10 | * Kamera hardware modernoa erabili QR kodeak arinago eskaneatzeko 11 | * Aplikazioa abiarazteko biometrika / PINa behar izatea 12 | * Heuristikan oinarritutako lineaz kanpoko irudiak 250+ web orrientzako. 13 | * Ezarpen gehiago aplikazioaren funtzionalitatea pertsonalizatzeko 14 | 15 | FreeOTP bi faktoreko autentifikazio (2FA) aplikazioa da, pasahitz bakarreko protokoloak (OTP) erabiltzen duten sistementzako. 16 | Tokenak QR kode bat eskaneatzen edo tokenaren konfigurazioa eskuz sartuz gehitu daitezke. 17 | 18 | FreeOTP estandar irekiak inplementatzen ditu. Honek esan nahi du zerbitzariaren aldeko osagai jabedunik ez dela beharrezkoa: 19 | erabili estandar hauek inplementatzen dituen edozein zerbitzariaren aldeko osagai — adibidez FreeIPA, TOTP erabiltzen duena. 20 | Estandarrak betetzen dituen edozein inplementaziok funtzionatuko du. 21 | Momentu honetan, FreeOTPk HOTP (RFC 4226) eta TOTP (RFC 6238) inplementazioak onartzen ditu. 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_zapier.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_sourceforge.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/full_description.txt: -------------------------------------------------------------------------------- 1 | Fork de FreeOTP Plus con la misma funcionalidad del FreeOTP proporcionado por RedHat con las siguientes mejoras: 2 | 3 | * Exportar ajustes a Google Drive u otros proveedores de documentos 4 | * Importar ajustes de Google Drive u otros proveedores de documentos 5 | * Muchas mejoras de estabilidad 6 | * Soporte para permisos Android 6.0. 7 | * UI mejorada con material design y soporte de tema oscuro 8 | * Barra de búsqueda de tokens 9 | * Proporciona más detalles del token para una mejor interoperatividad con otras aplicaciones 10 | * Utiliza hardware de cámara moderno para escanear códigos QR más rápido 11 | * Opción para requerir autenticación Biométrica / PIN para iniciar la aplicación 12 | * Icono heurístico offline para tokens de 250+ sitios web. 13 | * Más ajustes para personalizar la funcionalidad de la aplicación 14 | 15 | FreeOTP es una aplicación de autenticación con dos factores (2FA) para sistemas que utilizan protocolos de contraseña de un solo uso (OTP). 16 | Los tokens se pueden añadir fácilmente escaneando un código QR o introduciendo manualmente la configuración del token. 17 | 18 | FreeOTP implementa estándares abiertos. Esto significa que no es necesario ningún componente propietario en el servidor: 19 | use cualquier componente que implemente estos estándares — por ejemplo FreeIPA, que utiliza TOTP. 20 | Cualquier implementación compatible con el estándar funcionará. 21 | Actualmente, FreeOTP proporciona implementaciones de HOTP (RFC 4226) y TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_livelyme.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_squarespace.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus, RedHat tarafından sağlanan FreeOTP'nin aynı işlevselliğini aşağıdaki geliştirmeyle birlikte alternatifleştirdi: 2 | 3 | * Ayarları Google Drive'a veya diğer belge sağlayıcılara aktarma 4 | * Ayarları Google Drive'dan veya diğer belge sağlayıcılardan içe aktarma 5 | * Bir sürü kararlılık iyileştirmeleri 6 | * Android 6.0 izinlerini destekleme. 7 | * Koyu tema desteği ile material design tasarımı geliştirilmiş kullanıcı arayüzü 8 | * Token aramak için arama çubuğu 9 | * Diğer uygulamalarla daha iyi birlikte çalışabilirlik için daha fazla token ayrıntısı sağlama 10 | * QR kodunu daha hızlı taramak için modern kamera donanımını kullanma 11 | * Uygulamayı başlatmak için Biyometrik / PIN kimlik doğrulaması gerektirme seçeneği 12 | * 250'den fazla web sitesinin tokenları için buluşsal tabanlı çevrimdışı simge. 13 | * Uygulama işlevselliğini özelleştirmek için daha fazla ayar 14 | 15 | FreeOTP, tek kullanımlık parola protokollerini (OTP) kullanan sistemler için iki faktörlü bir kimlik doğrulama (2FA) uygulamasıdır. 16 | Tokenlar, bir QR kodunu tarayarak veya token yapılandırmasını manuel olarak girerek kolayca eklenebilir. 17 | 18 | FreeOTP açık kaynak standartları kullanır. Bu, hiçbir özel sunucu tarafı bileşeninin gerekli olmadığı anlamına gelir: 19 | bu standartları uygulayan herhangi bir sunucu tarafı bileşeni kullanan - örneğin, TOTP kullanan FreeIPA. 20 | Standartlarla uyumlu herhangi bir uygulama çalışacaktır. 21 | Şu anda FreeOTP, HOTP (RFC 4226) ve TOTP (RFC 6238) uygulamalarını sağlar. 22 | -------------------------------------------------------------------------------- /app/src/main/java/org/fedorahosted/freeotp/ui/AddSecretTextWatcher.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeOTP 3 | * 4 | * Authors: Nathaniel McCallum 5 | * 6 | * Copyright (C) 2013 Nathaniel McCallum, Red Hat 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | package org.fedorahosted.freeotp.ui 22 | 23 | import android.app.Activity 24 | import android.text.Editable 25 | 26 | class AddSecretTextWatcher(activity: Activity) : AddTextWatcher(activity) { 27 | 28 | override fun afterTextChanged(s: Editable) { 29 | if (s.isNotEmpty()) { 30 | // Ensure that = is only permitted at the end 31 | var haveData = false 32 | for (i in s.length - 1 downTo 0) { 33 | val c = s[i] 34 | if (c != '=') 35 | haveData = true 36 | else if (haveData) 37 | s.delete(i, i + 1) 38 | } 39 | } 40 | 41 | super.afterTextChanged(s) 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_kraken.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ca-ES/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP Plus es va bifurcar de FreeOTP de RedHat amb la mateixa funcionalitat i les millores següents: 2 | 3 | * Exporta la configuració a Google Drive o a altres proveïdors de documents 4 | * Importa la configuració de Google Drive o d'altres proveïdors de documents 5 | * Moltes millores d'estabilitat 6 | * Admet els permisos d'Android 6.0. 7 | * Interfície d'usuari millorada amb "material design" i suport de temes foscos 8 | * Barra de cerca d'entrades OTP 9 | * Proporcioneu més detalls del OTP per a una millor interoperabilitat amb altres aplicacions 10 | * Utilitza maquinari de càmera modern per escanejar el codi QR més ràpidament 11 | * Opció per requerir l'autenticació biomètrica / PIN per iniciar l'aplicació 12 | * Mètodes heurístics fora de línia per icones dels OTPs de més de 250 llocs web. 13 | * Més configuracions per personalitzar la funcionalitat de l'aplicació 14 | 15 | FreeOTP és una aplicació d'autenticació de dos factors (2FA) per a sistemes que utilitzen protocols de contrasenya única (OTP). 16 | Entrades OTP es poden afegir fàcilment escanejant un codi QR o introduint manualment la seva configuració. 17 | 18 | FreeOTP implementa estàndards oberts. Això vol dir que no cal cap component propietari del costat del servidor: 19 | utilitza qualsevol component del servidor que implementi aquests estàndards, per exemple FreeIPA, que utilitza TOTP. 20 | Qualsevol implementació que compleixi els estàndards funcionarà. 21 | Actualment, FreeOTP ofereix implementacions de HOTP (RFC 4226) i TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_cozycloud.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_slack.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/full_description.txt: -------------------------------------------------------------------------------- 1 | O FreeOTP Plus baseia-se na mesma funcionalidade do FreeOTP disponibilizado pela RedHat e adiciona as seguintes melhorias: 2 | 3 | * Exportar configurações para o Google Drive ou outros provedores 4 | * Importar configurações do Google Drive ou outros provedores 5 | * Muitas melhorias de estabilidade 6 | * Compatível com o modelo de permissões do Android 6.0 7 | * Interface de usuário melhorada e com suporte a tema escuro 8 | * Barra de pesquisa para procurar tokens 9 | * Fornece mais detalhes do token para melhorar a interoperabilidade com outros aplicativos 10 | * Utiliza recursos de hardware da câmera para escanear códigos QR rapidamente 11 | * Opção para exigir autenticação biométrica ou PIN para abrir o aplicativo 12 | * Ícones baseados em heurística offline para os tokens de mais de 250 websites 13 | * Mais configurações para personalizar a funcionalidade do aplicativo 14 | 15 | O FreeOTP é um aplicativo de autenticação em dois fatores (2FA) para sistemas que utilizam protocolos de senha de uso único (OTP). 16 | Tokens podem ser adicionados facilmente através de escaneamento de código QR ou inserção manual da configuração. 17 | 18 | O FreeOTP implementa padrões abertos. Isso significa que nenhum componente proprietário do lado do servidor é necessário. 19 | Use qualquer componente de servidor que implemente esses padrões - por exemplo, o FreeIPA, que utiliza TOTP. 20 | Qualquer implementação em conformidade com as normas funcionará. 21 | No momento, o FreeOTP contém implementações de HOTP (RFC 4226) e TOTP (RFC 6238). 22 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | FreeOTP+ adds a second layer of security for your online accounts. 2 | This works by generating one-time passwords (OTP) on your mobile devices which can be used in conjunction with your normal password to make your login nearly impossible to hack. 3 | These passwords can be generated even when your phone is in airplane mode. 4 | Tokens can be added easily by scanning a QR-code or by manually entering the token configuration. 5 | This is called two-factor authentication (2FA). 6 | 7 | FreeOTP works with many of the great online services you already use, including Google, Facebook, Evernote, GitHub and many more! 8 | FreeOTP also may work for your private corporate security if they implement the standardized TOTP or HOTP protocols. 9 | This includes great enterprise solutions like FreeIPA. 10 | 11 | Features: 12 |
    13 |
  • Scan QR code.
  • 14 |
  • Export and import settings to Google Drive or other document providers.
  • 15 |
  • Material design with dark theme support.
  • 16 |
  • Search bar to search token.
  • 17 |
  • See token details.
  • 18 |
  • Option to require Biometric / PIN authentication to launch the app.
  • 19 |
  • Heuristic based offline icon for tokens of 250+ websites.
  • 20 |
  • Many settings to customize the app functionality.
  • 21 |
22 | 23 | The FreeOTP Plus is fork of the FreeOTP. 24 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_rockstar.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /token-images/src/main/res/drawable/token_image_workplace.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | --------------------------------------------------------------------------------