├── NETWORK.http
├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── res
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ ├── colors.xml
│ │ │ │ └── themes.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ └── ic_launcher_round.webp
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ └── ic_launcher_round.webp
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ └── ic_launcher_round.webp
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ └── ic_launcher_round.webp
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.webp
│ │ │ │ └── ic_launcher_round.webp
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ ├── xml
│ │ │ │ ├── backup_rules.xml
│ │ │ │ └── data_extraction_rules.xml
│ │ │ ├── layout
│ │ │ │ └── activity_main.xml
│ │ │ ├── values-night
│ │ │ │ └── themes.xml
│ │ │ └── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── azamovhudstc
│ │ │ │ └── scarpingtutorial
│ │ │ │ ├── itv
│ │ │ │ ├── Files.kt
│ │ │ │ ├── PaymentParams.kt
│ │ │ │ ├── PaymentParamsX.kt
│ │ │ │ ├── FilesX.kt
│ │ │ │ ├── Params.kt
│ │ │ │ ├── Meta.kt
│ │ │ │ ├── ParamsX.kt
│ │ │ │ ├── TvResponse.kt
│ │ │ │ ├── Data.kt
│ │ │ │ ├── ChannelResponse.kt
│ │ │ │ ├── DataX.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── anime_pahe
│ │ │ │ ├── KiwikModel.kt
│ │ │ │ ├── KiwikModelItem.kt
│ │ │ │ └── AnimePaheExtractor.kt
│ │ │ │ ├── anibla
│ │ │ │ ├── Name.kt
│ │ │ │ ├── detail
│ │ │ │ │ ├── Name.kt
│ │ │ │ │ ├── Description.kt
│ │ │ │ │ ├── Screens.kt
│ │ │ │ │ ├── DetailData.kt
│ │ │ │ │ ├── Janr.kt
│ │ │ │ │ ├── Tarjimon.kt
│ │ │ │ │ ├── Translator.kt
│ │ │ │ │ ├── Category.kt
│ │ │ │ │ ├── Seria.kt
│ │ │ │ │ └── Data.kt
│ │ │ │ ├── AmediaSearchData.kt
│ │ │ │ ├── Data.kt
│ │ │ │ ├── Category.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── aniworld
│ │ │ │ ├── EpisodeData.kt
│ │ │ │ ├── AniworldSearchData.kt
│ │ │ │ ├── EpisodeFullData.kt
│ │ │ │ ├── AniworldSearchDataItem.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── channels_ontv
│ │ │ │ ├── Origin.kt
│ │ │ │ ├── Icon.kt
│ │ │ │ ├── Low.kt
│ │ │ │ ├── Normal.kt
│ │ │ │ ├── Small.kt
│ │ │ │ ├── Link.kt
│ │ │ │ ├── Thumbnails.kt
│ │ │ │ ├── File.kt
│ │ │ │ ├── ChannelList.kt
│ │ │ │ ├── Data.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── uzmovi
│ │ │ │ ├── movie
│ │ │ │ │ └── ParsedMovie.kt
│ │ │ │ ├── JsHunter.kt
│ │ │ │ └── CustomXMLHttpRequest.kt
│ │ │ │ ├── theflixer
│ │ │ │ ├── RatingInfo.kt
│ │ │ │ ├── Episode.kt
│ │ │ │ ├── EpisodeData.kt
│ │ │ │ ├── Film.kt
│ │ │ │ ├── TVShow.kt
│ │ │ │ └── Functions.kt
│ │ │ │ ├── tv_online
│ │ │ │ ├── parsed
│ │ │ │ │ └── Movie.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── asilmedia
│ │ │ │ ├── model
│ │ │ │ │ ├── MainData.kt
│ │ │ │ │ ├── MovieInfo.kt
│ │ │ │ │ └── FullMovieData.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── aniwave
│ │ │ │ ├── SimpleAnime.kt
│ │ │ │ ├── AnimeDetails.kt
│ │ │ │ ├── AnimePlayingDetails.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── playimdb
│ │ │ │ ├── Network.kt
│ │ │ │ ├── Episode.kt
│ │ │ │ ├── Crew.kt
│ │ │ │ ├── GuestStar.kt
│ │ │ │ ├── FreeDomEpisode.kt
│ │ │ │ ├── WebViewResolver.kt
│ │ │ │ ├── getDynamicM3U8.kt
│ │ │ │ └── CorrectVersion.kt
│ │ │ │ ├── vidrock
│ │ │ │ ├── Main.kt
│ │ │ │ └── VidRockSource.kt
│ │ │ │ ├── AnimeParseddata.kt
│ │ │ │ ├── shared
│ │ │ │ ├── gsonConverters.kt
│ │ │ │ └── SharedPreference.kt
│ │ │ │ ├── model
│ │ │ │ ├── Data.kt
│ │ │ │ └── EpisodeData.kt
│ │ │ │ ├── ParsedData.kt
│ │ │ │ ├── utils
│ │ │ │ ├── removeEmTagsWithRegex.kt
│ │ │ │ ├── parser.kt
│ │ │ │ ├── banner.kt
│ │ │ │ ├── SharedPreference.kt
│ │ │ │ ├── displayLoadingAnimation.kt
│ │ │ │ └── Utils.kt
│ │ │ │ ├── click
│ │ │ │ └── Topshiriq1.kt
│ │ │ │ ├── vidsrc
│ │ │ │ ├── Vidsrcccservers.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── hianime
│ │ │ │ ├── main.kt
│ │ │ │ ├── ServerResponse.kt
│ │ │ │ ├── MegacloudExtractor.kt
│ │ │ │ ├── HiAnime.kt
│ │ │ │ └── getUrl.kt
│ │ │ │ ├── kitsue_snapshot
│ │ │ │ ├── kitsuGetEpisodes.kt
│ │ │ │ ├── KitsuEpisode.kt
│ │ │ │ └── KitsuApi.kt
│ │ │ │ ├── med_home
│ │ │ │ └── MedHome.kt
│ │ │ │ ├── findingJson
│ │ │ │ └── main.kt
│ │ │ │ ├── idub
│ │ │ │ ├── VideoInfo.kt
│ │ │ │ ├── TVShow.kt
│ │ │ │ └── Main.kt
│ │ │ │ ├── cloudstream
│ │ │ │ └── main.kt
│ │ │ │ ├── dos
│ │ │ │ ├── dos4.kt
│ │ │ │ ├── ddos10.kt
│ │ │ │ ├── ddos11.kt
│ │ │ │ ├── ddos12.kt
│ │ │ │ ├── ddos13.kt
│ │ │ │ ├── ddos14.kt
│ │ │ │ ├── ddos15.kt
│ │ │ │ ├── ddos16.kt
│ │ │ │ ├── ddos18.kt
│ │ │ │ ├── ddos5.kt
│ │ │ │ ├── ddos6.kt
│ │ │ │ ├── ddos7.kt
│ │ │ │ ├── ddos8.kt
│ │ │ │ ├── ddos9.kt
│ │ │ │ ├── ddos17.kt
│ │ │ │ ├── ddos19.kt
│ │ │ │ └── ddos20.kt
│ │ │ │ ├── ktor_http
│ │ │ │ └── Main.kt
│ │ │ │ ├── fck.kt
│ │ │ │ ├── animekai
│ │ │ │ ├── Main.kt
│ │ │ │ └── NetworkUtils.kt
│ │ │ │ ├── runOnMainThreadNative.kt
│ │ │ │ ├── socket
│ │ │ │ └── Main.kt
│ │ │ │ ├── themoviedb
│ │ │ │ └── TheMovieDB.kt
│ │ │ │ ├── MainActivity.kt
│ │ │ │ └── moviefone
│ │ │ │ └── MovieFone.kt
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── azamovhudstc
│ │ │ └── scarpingtutorial
│ │ │ └── ExampleUnitTest.kt
│ └── androidTest
│ │ └── java
│ │ └── com
│ │ └── azamovhudstc
│ │ └── scarpingtutorial
│ │ └── ExampleInstrumentedTest.kt
├── proguard-rules.pro
└── build.gradle
├── .idea
├── .name
├── .gitignore
├── codeStyles
│ ├── codeStyleConfig.xml
│ └── Project.xml
├── compiler.xml
├── kotlinc.xml
├── vcs.xml
├── deploymentTargetDropDown.xml
├── migrations.xml
├── deploymentTargetSelector.xml
├── gradle.xml
├── misc.xml
└── appInsightsSettings.xml
├── tonconsole
├── .gitignore
├── consumer-rules.pro
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── azamovhudstc
│ │ │ │ └── tonconsole
│ │ │ │ └── Main.kt
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── azamovhudstc
│ │ │ └── tonconsole
│ │ │ └── ExampleUnitTest.kt
│ └── androidTest
│ │ └── java
│ │ └── com
│ │ └── azamovhudstc
│ │ └── tonconsole
│ │ └── ExampleInstrumentedTest.kt
├── proguard-rules.pro
└── build.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── cacheDir
└── http_cache
│ ├── 5e4087c3189675fda2f4a1d7f58e56dd.1
│ ├── 9cb50cb1271552bead409a9b12e28ccc.1
│ ├── eb3f92a87779a0e3bb56097846dd3a13.1
│ ├── journal
│ ├── 5e4087c3189675fda2f4a1d7f58e56dd.0
│ └── 2b1224a03a7535f0c5970fad62e68a04.1
├── .gitignore
├── settings.gradle
├── README.md
├── gradle.properties
└── gradlew.bat
/NETWORK.http:
--------------------------------------------------------------------------------
1 | GET
2 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | ScarpingTutorial
--------------------------------------------------------------------------------
/tonconsole/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/tonconsole/consumer-rules.pro:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ScarpingTutorial
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/tonconsole/src/main/java/com/azamovhudstc/tonconsole/Main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.tonconsole
2 |
3 | class Main {
4 |
5 | //Hellooo
6 | }
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/Files.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class Files(
4 | val posterUrl: String
5 | )
--------------------------------------------------------------------------------
/tonconsole/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/cacheDir/http_cache/5e4087c3189675fda2f4a1d7f58e56dd.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/cacheDir/http_cache/5e4087c3189675fda2f4a1d7f58e56dd.1
--------------------------------------------------------------------------------
/cacheDir/http_cache/9cb50cb1271552bead409a9b12e28ccc.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/professorDeveloper/Scraping-Tutorial/HEAD/cacheDir/http_cache/9cb50cb1271552bead409a9b12e28ccc.1
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anime_pahe/KiwikModel.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anime_pahe
2 |
3 | class KiwikModel : ArrayList()
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/Name.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla
2 |
3 | data class Name(
4 | val ru: String,
5 | val uz: String
6 | )
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniworld/EpisodeData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniworld
2 |
3 | data class EpisodeData(private val number: String, val link: String)
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Name.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Name(
4 | val ru: String,
5 | val uz: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniworld/AniworldSearchData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniworld
2 |
3 | class AniworldSearchData : ArrayList()
--------------------------------------------------------------------------------
/.idea/kotlinc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Description.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Description(
4 | val ru: String,
5 | val uz: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Origin.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Origin(
4 | val src: String,
5 | val src_origin: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/uzmovi/movie/ParsedMovie.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.uzmovi.movie
2 |
3 | data class ParsedMovie(val title: String, val href: String, val image: String)
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anime_pahe/KiwikModelItem.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anime_pahe
2 |
3 | data class KiwikModelItem(
4 | val link: String,
5 | val name: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniworld/EpisodeFullData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniworld
2 |
3 | data class EpisodeFullData( val hostName: String, val hostUrl: String, val host: String)
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/PaymentParams.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class PaymentParams(
4 | val paymentModuleId: Int,
5 | val paymentType: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/PaymentParamsX.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class PaymentParamsX(
4 | val paymentModuleId: Int,
5 | val paymentType: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/AmediaSearchData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla
2 |
3 | data class AmediaSearchData(
4 | val `data`: List,
5 | val success: Boolean
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/RatingInfo.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 |
3 | data class RatingInfo(val title: String, val totalVotes: Int, val ratingPercentage: Double)
4 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Screens.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Screens(
4 | val original: List,
5 | val thumb: List
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/Episode.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 |
3 | data class Episode(val id: String, val dataId: String, val episodeNumber: String, val title: String)
4 |
--------------------------------------------------------------------------------
/cacheDir/http_cache/eb3f92a87779a0e3bb56097846dd3a13.1:
--------------------------------------------------------------------------------
1 |
2 | 301 Moved Permanently
3 |
4 | 301 Moved Permanently
5 |
nginx
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Icon.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Icon(
4 | val slug: String,
5 | val src: String,
6 | val src_origin: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Low.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Low(
4 | val slug: String,
5 | val src: String,
6 | val src_origin: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/FilesX.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class FilesX(
4 | val posterUrl: String,
5 | val streamUrl: String,
6 | val timeshiftUrl: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/Params.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class Params(
4 | val ageLimit: Int,
5 | val isFree: Boolean,
6 | val qualityLabel: String?=null
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/tv_online/parsed/Movie.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.tv_online.parsed
2 |
3 | data class Movie(val href: String, val title: String, val image: String, val rating: Int)
4 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Normal.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Normal(
4 | val slug: String,
5 | val src: String,
6 | val src_origin: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Small.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Small(
4 | val slug: String,
5 | val src: String,
6 | val src_origin: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/EpisodeData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 | data class EpisodeData(
3 | val dataId: String,
4 | val serverName: String,
5 | val link: String
6 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/asilmedia/model/MainData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.asilmedia.model
2 |
3 | data class Media(
4 | val name: String,
5 | val url: String,
6 | val cover: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniwave/SimpleAnime.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniwave
2 |
3 | data class SimpleAnime(
4 | val animeName: String,
5 | val animeImageURL: String,
6 | val animeLink: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/Meta.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class Meta(
4 | val currentPage: Int,
5 | val itemsPerPage: Int,
6 | val totalItems: Int,
7 | val totalPages: Int
8 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/Network.kt:
--------------------------------------------------------------------------------
1 | package com.saikou.sozo_tv.data.model
2 |
3 | data class Network(
4 | val id: Int,
5 | val logo_path: String,
6 | val name: String,
7 | val origin_country: String
8 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/Data.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla
2 |
3 | data class Data(
4 | val _id: String,
5 | val category: List,
6 | val image: String,
7 | val name: Name
8 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Link.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Link(
4 | val active: Boolean?=false,
5 | val label: String?=null,
6 | val url: String?=null
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniworld/AniworldSearchDataItem.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniworld
2 |
3 | data class AniworldSearchDataItem(
4 | val description: String,
5 | val link: String,
6 | val title: String
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/ParamsX.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class ParamsX(
4 | val ageLimit: Int,
5 | val isFree: Boolean,
6 | val isPurchased: Boolean,
7 | val qualityLabel: String
8 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/Film.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 |
3 | data class Film(
4 | val title: String,
5 | val year: String,
6 | val type: String,
7 | val posterUrl: String,
8 | val watchUrl: String
9 | )
--------------------------------------------------------------------------------
/.idea/deploymentTargetDropDown.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Jan 13 00:15:26 UZT 2024
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Thumbnails.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Thumbnails(
4 | val icon: Icon,
5 | val low: Low,
6 | val normal: Normal,
7 | val origin: Origin,
8 | val small: Small
9 | )
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | /.idea/navEditor.xml
9 | /.idea/assetWizardSettings.xml
10 | .DS_Store
11 | /build
12 | /captures
13 | .externalNativeBuild
14 | .cxx
15 | local.properties
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniwave/AnimeDetails.kt:
--------------------------------------------------------------------------------
1 | package com.talent.animescrap_common.model
2 |
3 | data class AnimeDetails(
4 | val animeName: String,
5 | val animeDesc: String,
6 | val animeCover: String,
7 | val animeEpisodes: Map>
8 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/DetailData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class DetailData(
4 | val comment: List,
5 | val `data`: Data,
6 | val seria: List,
7 | val status: Int,
8 | val success: Boolean
9 | )
--------------------------------------------------------------------------------
/.idea/migrations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/Category.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla
2 |
3 | data class Category(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val isRestricted: Boolean,
8 | val nameru: String,
9 | val nameuz: String
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Janr.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Janr(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val nameru: String,
8 | val nameuz: String,
9 | val status: Boolean
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/TvResponse.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class TvResponse(
4 | val code: Int,
5 | val `data`: List,
6 | val groupIds: List,
7 | val language: String,
8 | val message: String,
9 | val meta: Meta
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/vidrock/Main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.vidrock
2 |
3 | import kotlinx.coroutines.runBlocking
4 |
5 | fun main(args: Array) {
6 | val source = VidRockSource()
7 | runBlocking {
8 | source.invokevidrock(550)
9 |
10 | }
11 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Tarjimon.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Tarjimon(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val image: String,
8 | val name: String,
9 | val status: Boolean
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/Data.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class Data(
4 | val channelId: Int,
5 | val channelTitle: String,
6 | val files: Files,
7 | val moduleId: Int,
8 | val params: Params,
9 | val paymentParams: PaymentParams
10 | )
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Translator.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Translator(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val image: String,
8 | val name: String,
9 | val status: Boolean
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/ChannelResponse.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class ChannelResponse(
4 | val code: Int,
5 | val `data`: DataX,
6 | val groupIds: List,
7 | val language: String,
8 | val message: String?=null,
9 | val meta: Any
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/Episode.kt:
--------------------------------------------------------------------------------
1 | package com.saikou.sozo_tv.data.model
2 |
3 | data class Episode(
4 | val air_date: String,
5 | val crew: List,
6 | val episode_number: Int,
7 | val still_path: String?,
8 | val vote_average: Double,
9 | val vote_count: Int
10 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Category.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Category(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val isRestricted: Boolean,
8 | val nameru: String,
9 | val nameuz: String
10 | )
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/AnimeParseddata.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial
2 |
3 | data class AnimeParseData(
4 | val title: String,
5 | val href: String,
6 | val image: String
7 | ) {
8 | override fun toString(): String {
9 | return "Title=$title\nHref=$href,\nImage=$image"
10 | }
11 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/asilmedia/model/MovieInfo.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.asilmedia.model
2 | data class MovieInfo(
3 | val genre: String,
4 | val rating: String,
5 | val title: String,
6 | val image: String,
7 | val href: String,
8 | val quality: List,
9 | val year: String
10 | )
--------------------------------------------------------------------------------
/.idea/deploymentTargetSelector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/DataX.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | data class DataX(
4 | val channelDescription: String,
5 | val channelId: Int,
6 | val channelTitle: String,
7 | val files: FilesX,
8 | val moduleId: Int,
9 | val params: ParamsX,
10 | val paymentParams: PaymentParamsX,
11 | val recommendedSubscriptions: List,
12 | val shareUrl: String
13 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Seria.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Seria(
4 | val __v: Int,
5 | val _id: String,
6 | val createdAt: String,
7 | val date: String,
8 | val length: String,
9 | val name: Name,
10 | val season: String,
11 | val slug: String,
12 | val updatedAt: String,
13 | val url: String,
14 | val video: String
15 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/Crew.kt:
--------------------------------------------------------------------------------
1 | package com.saikou.sozo_tv.data.model
2 |
3 | data class Crew(
4 | val adult: Boolean,
5 | val credit_id: String,
6 | val department: String,
7 | val gender: Int,
8 | val id: Int,
9 | val job: String,
10 | val known_for_department: String,
11 | val name: String,
12 | val original_name: String,
13 | val popularity: Double,
14 | val profile_path: String
15 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/File.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties
4 |
5 | @JsonIgnoreProperties(ignoreUnknown = true)
6 | data class File(
7 | val id: Int,
8 | val url: String,
9 | val size: Long,
10 | // now Jackson can pass `null` (or default) if the JSON omits origin_ext
11 | val origin_ext: String? = null
12 | )
13 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/GuestStar.kt:
--------------------------------------------------------------------------------
1 | package com.saikou.sozo_tv.data.model
2 |
3 | data class GuestStar(
4 | val adult: Boolean,
5 | val character: String,
6 | val credit_id: String,
7 | val gender: Int,
8 | val id: Int,
9 | val known_for_department: String,
10 | val name: String,
11 | val order: Int,
12 | val original_name: String,
13 | val popularity: Double,
14 | val profile_path: String
15 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/aniwave/AnimePlayingDetails.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.aniwave
2 |
3 | import android.os.Parcelable
4 | import androidx.annotation.Keep
5 |
6 | @Keep
7 | data class AnimePlayingDetails(
8 | val animeName: String,
9 | val animeUrl: String,
10 | var animeEpisodeIndex: String,
11 | val animeEpisodeMap: HashMap,
12 | val animeTotalEpisode: String,
13 | val epType: String
14 | )
--------------------------------------------------------------------------------
/tonconsole/src/test/java/com/azamovhudstc/tonconsole/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.tonconsole
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/test/java/com/azamovhudstc/scarpingtutorial/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/shared/gsonConverters.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.shared
2 |
3 | import com.google.gson.Gson
4 |
5 | fun String.parseJson(): ArrayList {
6 | val gson = Gson()
7 | var list = ArrayList()
8 | list = gson.fromJson(this, ArrayList::class.java) as ArrayList
9 |
10 | return list
11 | }
12 |
13 | fun ArrayList.saveGson(): String {
14 | val gson = Gson()
15 | return gson.toJson(this)
16 | }
--------------------------------------------------------------------------------
/cacheDir/http_cache/journal:
--------------------------------------------------------------------------------
1 | libcore.io.DiskLruCache
2 | 1
3 | 201105
4 | 2
5 |
6 | DIRTY 9cb50cb1271552bead409a9b12e28ccc
7 | CLEAN 9cb50cb1271552bead409a9b12e28ccc 8413 38444
8 | DIRTY 008ec4453ff31513f43893cba7aa31c8
9 | DIRTY 2b1224a03a7535f0c5970fad62e68a04
10 | CLEAN 2b1224a03a7535f0c5970fad62e68a04 5754 837
11 | DIRTY eb3f92a87779a0e3bb56097846dd3a13
12 | CLEAN eb3f92a87779a0e3bb56097846dd3a13 5646 162
13 | DIRTY 5e4087c3189675fda2f4a1d7f58e56dd
14 | CLEAN 5e4087c3189675fda2f4a1d7f58e56dd 482 23841
15 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/model/Data.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.model
2 |
3 |
4 | data class Data(
5 | val anime_id: Int?,
6 | val audio: String?,
7 | val created_at: String?,
8 | val disc: String?,
9 | val duration: String?,
10 | val edition: String?,
11 | val episode: Int?,
12 | val episode2: Int?,
13 | val filler: Int?,
14 | val id: Int?,
15 | val session: String?,
16 | val snapshot: String?,
17 | val title: String?
18 | )
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_rules.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/ParsedData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial
2 |
3 | data class ParsedData(
4 | val climate: String,
5 | val created: String,
6 | val diameter: String,
7 | val edited: String,
8 | val films: List,
9 | val gravity: String,
10 | val name: String,
11 | val orbital_period: String,
12 | val population: String,
13 | val residents: List,
14 | val rotation_period: String,
15 | val surface_water: String,
16 | val terrain: String,
17 | val url: String
18 | )
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | jcenter()
7 | maven { url 'https://jitpack.io' }
8 | }
9 | }
10 | dependencyResolutionManagement {
11 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
12 | repositories {
13 | google()
14 | mavenCentral()
15 | jcenter()
16 | maven { url 'https://jitpack.io' }
17 | }
18 | }
19 | rootProject.name = "ScarpingTutorial"
20 | include ':app'
21 | include ':tonconsole'
22 |
--------------------------------------------------------------------------------
/cacheDir/http_cache/5e4087c3189675fda2f4a1d7f58e56dd.0:
--------------------------------------------------------------------------------
1 | http://uzmovi.com/
2 | GET
3 | 0
4 | HTTP/1.1 200 OK
5 | 10
6 | Date: Fri, 12 Jan 2024 19:38:54 GMT
7 | Content-Type: text/html; charset=UTF-8
8 | Transfer-Encoding: chunked
9 | Connection: keep-alive
10 | Set-Cookie: ci_session=623bnsni5nur33hthd4d3ue3ec6kj1dm; expires=Fri, 12-Jan-2024 20:38:54 GMT; Max-Age=3600; path=/; HttpOnly
11 | Expires: Thu, 19 Nov 1981 08:52:00 GMT
12 | Content-Encoding: gzip
13 | Cache-Control: max-stale=2147483647, only-if-cached
14 | OkHttp-Sent-Millis: 1705088336650
15 | OkHttp-Received-Millis: 1705088336791
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/ChannelList.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class ChannelList(
4 | val current_page: Int?=null,
5 | val `data`: List,
6 | val first_page_url: String?=null,
7 | val from: Int?=null,
8 | val last_page: Int?=null,
9 | val last_page_url: String?=null,
10 | val links: List?=null,
11 | val next_page_url: String?=null,
12 | val path: String?=null,
13 | val per_page: Int?=null,
14 | val prev_page_url: Any?=null,
15 | val to: Int?=null,
16 | val total: Int?=null
17 |
18 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/utils/removeEmTagsWithRegex.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.utils
2 |
3 | import com.azamovhudstc.scarpingtutorial.anibla.AmediaSearchData
4 |
5 | fun String.removeEmTagsWithRegex(): String {
6 | val regex = Regex("(.*?)")
7 | return regex.replace(this, "$1")
8 | }
9 | fun showData(data: AmediaSearchData) {
10 | printlnColored("=================================", Color.GREEN)
11 | data.data.forEach {
12 | printlnColored(it.name.uz, Color.YELLOW)
13 | }
14 | printlnColored("=================================", Color.GREEN)
15 |
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/click/Topshiriq1.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.click
2 |
3 | fun main(args: Array) {
4 | val list1 = listOf(1, 2, 3, 4, 5)
5 | val list2 = listOf(2, 4, 6)
6 | val list3 = emptyList()
7 | println("Natija 1: ${sumOfToqNumbers(list1)}")
8 | println("Natija 2: ${sumOfToqNumbers(list2)}")
9 | println("Natija 3: ${sumOfToqNumbers(list3)}")
10 | }
11 |
12 | fun sumOfToqNumbers(numbers: List): Int {
13 | var sum = 0
14 | numbers.forEach {
15 | if (it % 2 != 0) {
16 | sum += it
17 | }
18 | }
19 | return sum
20 | }
--------------------------------------------------------------------------------
/app/src/main/res/xml/data_extraction_rules.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/FreeDomEpisode.kt:
--------------------------------------------------------------------------------
1 | package com.saikou.sozo_tv.data.model
2 |
3 | import com.google.gson.annotations.SerializedName
4 | data class EpiDsode(
5 | @SerializedName("still_path") val stillPath: String?
6 | )
7 |
8 | data class SeasonResponse(
9 | @SerializedName("episodes") val episodes: List
10 | )
11 |
12 | data class Subtitles(
13 | val list: List
14 | )
15 |
16 | data class SubtitleItem(
17 | @SerializedName("url") val url: String,
18 | @SerializedName("media") val name: String,
19 | @SerializedName("display") val lang: String,
20 | @SerializedName("format") val format: String,
21 | @SerializedName("flagUrl") val flagUrl: String
22 | )
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/channels_ontv/Data.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.channels_ontv
2 |
3 | data class Data(
4 | val analytic: Int?=null,
5 | val company_id: Any?=null,
6 | val created_at: String?=null,
7 | val deleted_at: Any?=null,
8 | val description: String?=null,
9 | val `file`: File?=null,
10 | val file_id: Int?=null,
11 | val id: Int=-1,
12 | val kaz: Int?=null,
13 | val name: String?=null,
14 | val paid: Int?=null,
15 | val promotion: Boolean?=null,
16 | val sort: Int? =null,
17 | val status: Int?=null,
18 | val updated_at: String?=null,
19 | val url_1080: String?=null,
20 | val url_480: String?=null,
21 | val url_720: String?=null,
22 | val viewed: Int?=null
23 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/vidsrc/Vidsrcccservers.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.vidsrc
2 |
3 | data class Vidsrcccservers(
4 | val data: List,
5 | val success: Boolean,
6 | )
7 |
8 | data class VidsrcccDaum(
9 | val name: String,
10 | val hash: String,
11 | )
12 |
13 | data class Vidsrcccm3u8(
14 | val data: VidsrcccData,
15 | val success: Boolean,
16 | )
17 |
18 | data class VidsrcccData(
19 | val type: String,
20 | val source: String,
21 | )
22 |
23 | data class VidsrcServersResponse(
24 | val data: List
25 | )
26 |
27 | data class VidsrcServer(
28 | val name: String,
29 | val hash: String
30 | )
31 |
32 |
33 | data class VidsrcSourceResponse(
34 | val data: VidsrcccData
35 | )
36 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/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
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/vidsrc/Main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.vidsrc
2 |
3 | import android.os.Build
4 | import androidx.annotation.RequiresApi
5 | import kotlinx.coroutines.runBlocking
6 |
7 | @RequiresApi(Build.VERSION_CODES.O)
8 | fun main() {
9 | val vidsrc = VidsrcSource()
10 | runBlocking {
11 |
12 | vidsrc.invokeVidsrccc(
13 | id = 550
14 | ) {
15 | println(it.name)
16 | println(it.source)
17 | println(it.url)
18 | }
19 | // vidsrc.invokeVidsrccc(
20 | // id = 1399,
21 | // season = 1,
22 | // episode = 1
23 | // ) {
24 | // println(it.name)
25 | // println(it.source)
26 | // println(it.url)
27 | // }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/tonconsole/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
--------------------------------------------------------------------------------
/tonconsole/src/androidTest/java/com/azamovhudstc/tonconsole/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.tonconsole
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.azamovhudstc.tonconsole.test", appContext.packageName)
23 | }
24 | }
--------------------------------------------------------------------------------
/cacheDir/http_cache/2b1224a03a7535f0c5970fad62e68a04.1:
--------------------------------------------------------------------------------
1 | {"name":"Tatooine","rotation_period":"23","orbital_period":"304","diameter":"10465","climate":"arid","gravity":"1 standard","terrain":"desert","surface_water":"1","population":"200000","residents":["https://swapi.dev/api/people/1/","https://swapi.dev/api/people/2/","https://swapi.dev/api/people/4/","https://swapi.dev/api/people/6/","https://swapi.dev/api/people/7/","https://swapi.dev/api/people/8/","https://swapi.dev/api/people/9/","https://swapi.dev/api/people/11/","https://swapi.dev/api/people/43/","https://swapi.dev/api/people/62/"],"films":["https://swapi.dev/api/films/1/","https://swapi.dev/api/films/3/","https://swapi.dev/api/films/4/","https://swapi.dev/api/films/5/","https://swapi.dev/api/films/6/"],"created":"2014-12-09T13:50:49.641000Z","edited":"2014-12-20T20:58:18.411000Z","url":"https://swapi.dev/api/planets/1/"}
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/azamovhudstc/scarpingtutorial/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("com.azamovhudstc.scarpingtutorial", appContext.packageName)
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/hianime/main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.hianime
2 |
3 | import kotlinx.coroutines.runBlocking
4 |
5 | fun main() {
6 | val hi = HiAnimeSource()
7 |
8 | println("Searching...")
9 | val list = hi.searchAnime("One Piece")
10 | list.forEach { println(it) }
11 |
12 | val first = list.get(1).id
13 | val episodes = runBlocking { hi.getEpisodeListById(first) }
14 | println(episodes)
15 |
16 | val videoExtractor = HiAnimeVideoExtractor()
17 | // /*
18 | val servers = videoExtractor.extractServers(episodes.first().id)
19 | println("Servers: $servers")
20 |
21 | val sourceUrl = videoExtractor.extractVideoFromServer(servers.first().id)
22 | println("Source: $sourceUrl")
23 |
24 | val finalM3u8 = videoExtractor.extractMegacloudVideo(sourceUrl)
25 | println("FINAL M3U8 → $finalM3u8")
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/kitsue_snapshot/kitsuGetEpisodes.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.kitsue_snapshot
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.google.gson.Gson
5 | import kotlinx.coroutines.CompletableJob
6 | import kotlinx.coroutines.cancel
7 | import kotlinx.coroutines.runBlocking
8 |
9 | fun main(args: Array) {
10 | val kitsuApi = KitsuApi()
11 | runBlocking {
12 | val animeId = kitsuApi.searchId("one piece")
13 | println("Anime ID = $animeId")
14 |
15 | val episodes = kitsuApi.getEpisodes(animeId!!, 0)
16 | episodes.forEach {
17 | println("EP ${it.number}: ${it.title}")
18 | println("Thumbnail: ${it.thumbnail}")
19 | println("Desc: ${it.description}")
20 | println("--------------------------")
21 | }
22 |
23 |
24 | }
25 |
26 | }
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/med_home/MedHome.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.med_home
2 | import com.azamovhudstc.scarpingtutorial.utils.Utils
3 | import com.azamovhudstc.scarpingtutorial.utils.parser
4 | import com.lagradost.nicehttp.Requests
5 |
6 | import kotlinx.coroutines.runBlocking
7 |
8 | private val baseUrl ="https://test.jadidlar.uz/api"
9 |
10 | fun main(args: Array) {
11 | val medHome =MedHome()
12 | medHome.postRequest()
13 | }
14 | class MedHome {
15 | fun postRequest(){
16 | runBlocking {
17 | val niceHttp= Requests(baseClient = Utils.httpClient, responseParser = parser)
18 | val request =niceHttp.post("$baseUrl/accounts/token", data = mapOf("phone" to "+998992803809", "password" to "Azamov2456??") )
19 |
20 | println(request.body.string())
21 | println(request.code)
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/findingJson/main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.findingJson
2 |
3 | import com.azamovhudstc.scarpingtutorial.ParsedData
4 | import com.azamovhudstc.scarpingtutorial.utils.Utils
5 | import com.azamovhudstc.scarpingtutorial.utils.parser
6 | import com.lagradost.nicehttp.Requests
7 | import kotlinx.coroutines.coroutineScope
8 |
9 | suspend fun main() {
10 | coroutineScope {
11 | //So this sample Json is from https://swapi.dev/api/planets/1/
12 | //I am using this sample Json for testing
13 | // You can use Kotlin json converter and parse it to ParsedData
14 | val requests = Requests(baseClient = Utils.httpClient, responseParser = parser)
15 | val jsonString = requests.get("https://swapi.dev/api/planets/1/").parsed() //Like this
16 | //so okay i will run
17 | println(jsonString.films)
18 |
19 | }
20 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/model/EpisodeData.kt:
--------------------------------------------------------------------------------
1 |
2 | package com.azamovhudstc.scarpingtutorial.model
3 |
4 |
5 |
6 | data class EpisodeData(
7 | val current_page: Int?,
8 | val `data`: List?,
9 | val from: Int?,
10 | val last_page: Int?,
11 | val next_page_url: String?,
12 | val per_page: Int,
13 | val prev_page_url: String?,
14 | val to: Int,
15 | val total: Int
16 | )
17 | data class AnimePaheData(
18 | val current_page: Int,
19 | val `data`: List,
20 | val from: Int,
21 | val last_page: Int,
22 | val per_page: Int,
23 | val to: Int,
24 | val total: Int
25 | )
26 | data class DataD(
27 | val episodes: Int,
28 | val id: Int ?,
29 | val poster: String?,
30 | val score: Double?,
31 | val season: String?,
32 | val session: String?,
33 | val status: String?,
34 | val title: String?,
35 | val type: String?,
36 | val year: Int?
37 | )
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anibla/detail/Data.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anibla.detail
2 |
3 | data class Data(
4 | val __v: Int,
5 | val _id: String,
6 | val category: List,
7 | val country: String,
8 | val createdAt: String,
9 | val date: String,
10 | val description: Description,
11 | val image: String,
12 | val janr: List,
13 | val length: String,
14 | val name: Name,
15 | val num: String,
16 | val price: String,
17 | val rating: Int,
18 | val rejissor: String,
19 | val screens: Screens,
20 | val slug: String,
21 | val status: Boolean,
22 | val studia: String,
23 | val tags: List,
24 | val tarjimon: List,
25 | val tayming: List,
26 | val tip: String,
27 | val translator: List,
28 | val type: Int,
29 | val updatedAt: String,
30 | val url: String,
31 | val video: String,
32 | val view: Int,
33 | val year: String
34 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/idub/VideoInfo.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.idub
2 |
3 | data class VideoInfo(val title: String, val playerUrl: String, val trailerUrl: String) {
4 | override fun toString(): String {
5 | return """
6 | Video Title: $title
7 | Player URL: ${convertMoverEmbedToMp4(playerUrl)}
8 | Trailer URL: $trailerUrl
9 | """.trimIndent()
10 | }
11 | }
12 |
13 |
14 | fun convertMoverEmbedToMp4(embedUrl: String): String {
15 | val regex = Regex("https://mover\\.uz/video/embed/(\\w+)")
16 | val matchResult = regex.find(embedUrl)
17 |
18 | return if (matchResult != null) {
19 | val videoEndpoint = matchResult.groupValues[1]
20 | "https://mover.uz/${videoEndpoint}_m.mp4".replace(
21 | "https://mover.uz", "https://v.mover.uz"
22 | )
23 | } else {
24 | // Return the original URL if it doesn't match the expected pattern
25 | embedUrl
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/.idea/appInsightsSettings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/idub/TVShow.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.idub
2 |
3 | data class TVShow(
4 | val title: String,
5 | val date: String,
6 | val year: String,
7 | val country: String,
8 | val age: String,
9 | val description: String,
10 | val ratingKP: String,
11 | val ratingIMDb: String,
12 | val episodeCount: String,
13 | val seasonCount: String,
14 | val href: String,
15 | val imageLink: String
16 |
17 | ) {
18 | override fun toString(): String {
19 | return """
20 | Title: $title
21 | Date: $date
22 | Year: $year
23 | Country: $country
24 | Age: $age
25 | Description: $description
26 | KP Rating: $ratingKP
27 | IMDb Rating: $ratingIMDb
28 | Episode Count: $episodeCount
29 | Season Count: $seasonCount
30 | Href: $href
31 | Image Link: $imageLink
32 | ---------------------
33 | """.trimIndent()
34 | }
35 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Setup
2 |
3 | In build.gradle repositories:
4 |
5 | ```groovy
6 | maven { url 'https://jitpack.io' }
7 | ```
8 |
9 | In app/build.gradle dependencies:
10 |
11 |
12 | ```groovy
13 | implementation 'com.github.Blatzar:NiceHttp:0.4.4'
14 | ```
15 |
16 | ## Video tutorial
17 | https://t.me/azamovme/124
18 |
19 | ### Scraping a document with Nice Http
20 |
21 | ```kotlin
22 | suspend fun main() {
23 | val scannerForNext = Scanner(System.`in`)
24 | coroutineScope {
25 | val uzmoviBase = UzmoviBase()
26 | print("Enter Movie Name :")
27 | val movieName = scanner.nextLine()
28 | displayLoadingAnimation("Searching for movies", Color.GREEN)
29 | val list = uzmoviBase.searchMovie(movieName)
30 | printlnColored(" Selected Movie: ${list[0].title}", Color.GREEN)
31 | displayLoadingAnimation("Loading Episodes", Color.GREEN)
32 | uzmoviBase.movieDetails(list[0]) // Get Movie Details Scraping by href
33 |
34 | }
35 | }
36 |
37 | ```
38 |
39 | ## _Thanks For_ [Blatzar](https://github.com/Blatzar)
40 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/kitsue_snapshot/KitsuEpisode.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.kitsue_snapshot
2 |
3 |
4 | data class KitsuEpisode(
5 | val id: String,
6 | val number: Int,
7 | val title: String,
8 | val description: String,
9 | val thumbnail: String
10 | )
11 |
12 | data class KitsuEpisodeResponse(
13 | val data: List?
14 | )
15 |
16 | data class KitsuEpisodeData(
17 | val id: String?,
18 | val attributes: KitsuEpisodeAttributes?
19 | )
20 |
21 | data class KitsuEpisodeAttributes(
22 | val number: Int?,
23 | val canonicalTitle: String?,
24 | val description: String?,
25 | val titles: KitsuTitles?,
26 | val thumbnail: KitsuThumbnail?
27 | )
28 | data class KitsuSearchResponse(
29 | val data: List?
30 | )
31 |
32 | data class KitsuSearchItem(
33 | val id: String?
34 | )
35 |
36 | data class KitsuTitles(
37 | val en_jp: String?,
38 | val en_us: String?,
39 | val ja_jp: String?
40 | )
41 |
42 | data class KitsuThumbnail(
43 | val original: String?
44 | )
45 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/utils/parser.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.utils
2 |
3 | import com.fasterxml.jackson.databind.DeserializationFeature
4 | import com.fasterxml.jackson.databind.ObjectMapper
5 | import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
6 | import com.lagradost.nicehttp.ResponseParser
7 | import kotlin.reflect.KClass
8 |
9 | val parser = object : ResponseParser {
10 | val mapper: ObjectMapper = jacksonObjectMapper().configure(
11 | DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,
12 | false
13 | )
14 |
15 | override fun parse(text: String, kClass: KClass): T {
16 | return mapper.readValue(text, kClass.java)
17 | }
18 |
19 | override fun parseSafe(text: String, kClass: KClass): T? {
20 | return try {
21 | mapper.readValue(text, kClass.java)
22 | } catch (e: Exception) {
23 | null
24 | }
25 | }
26 |
27 | override fun writeValueAsString(obj: Any): String {
28 | return mapper.writeValueAsString(obj)
29 | }
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/cloudstream/main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.cloudstream
2 |
3 | import android.content.Context
4 | import com.lagradost.cloudstream3.LoadResponse.Companion.getImdbId
5 | import com.lagradost.cloudstream3.MainPageRequest
6 | import com.lagradost.cloudstream3.TvType
7 | import com.lagradost.cloudstream3.newEpisode
8 | import com.lagradost.cloudstream3.newMovieSearchResponse
9 | import com.lagradost.cloudstream3.plugins.CloudstreamPlugin
10 | import com.lagradost.cloudstream3.plugins.Plugin
11 | import kotlinx.coroutines.runBlocking
12 |
13 | fun main(args: Array) {
14 | runBlocking {
15 | val allMovieLandProvider = AllMovieLandProvider()
16 | // allMovieLandProvider.getMainPage(1, MainPageRequest("Info","https://allmovieland.ac/",true)).let {
17 | // println(it)
18 | // }
19 | allMovieLandProvider.load("https://allmovieland.ac/6806-hitpig.html").let {
20 | allMovieLandProvider.newMovieSearchResponse(it?.name?:"",it?.url?:"",it?.type?: TvType.Movie){
21 |
22 | }
23 | }
24 | }
25 |
26 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/TVShow.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 |
3 | data class TVShow(
4 | val dataId: String,
5 | val title: String,
6 | val year: String,
7 | val type: String,
8 | val bannerUrl: String,
9 | val ratingInfo: RatingInfo,
10 | val posterUrl: String,
11 | val overview: String,
12 | val released: String,
13 | val genres: List,
14 | val casts: List,
15 | val duration: String,
16 | val country: String,
17 | val production: String
18 | ) {
19 | override fun toString(): String {
20 | return """
21 | |TV Show:
22 | | Data ID: $dataId
23 | | Title: $title
24 | | Year: $year
25 | | Type: $type
26 | | Banner URL: $bannerUrl
27 | | Rating Info: $ratingInfo
28 | | Poster URL: $posterUrl
29 | | Overview: $overview
30 | | Released: $released
31 | | Genres: $genres
32 | | Casts: $casts
33 | | Duration: $duration
34 | | Country: $country
35 | | Production: $production
36 | """.trimMargin()
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/shared/SharedPreference.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.shared
2 |
3 | import android.content.Context
4 | import com.azamovhudstc.scarpingtutorial.utils.SharedPreference
5 |
6 |
7 | class LocalStorage(context: Context) : SharedPreference(context) {
8 | companion object {
9 | @Volatile
10 | lateinit var instance: LocalStorage
11 | fun getInstance(context: Context): LocalStorage {
12 | if (!::instance.isInitialized) {
13 | instance = LocalStorage(context)
14 | }
15 | return instance
16 | }
17 | }
18 |
19 | var token: String by Strings()
20 | var json by Strings()
21 | }
22 |
23 | fun String.saveToken(context: Context) {
24 | val sharedPreference = context.getSharedPreferences("shared", Context.MODE_PRIVATE)
25 | val editor = sharedPreference.edit()
26 |
27 | editor.putString("token", this.toString())
28 | editor.apply()
29 | println("Token Saqlandi: $this")
30 | }
31 |
32 | fun getToken(context: Context): String {
33 | val sharedPreference = context.getSharedPreferences("shared", Context.MODE_PRIVATE)
34 | return sharedPreference.getString("token", "") ?: "Token Not Found"
35 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/utils/banner.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.utils
2 |
3 | val banner =
4 | """"+---------------------------------------------------------------------------------+
5 | | |
6 | | _ _ _ _ ______ _ |
7 | | (_)(_)(_) | | / _____) (_) |
8 | | _ _ _ _____ | |__ ( (____ ____ ____ _____ ____ _ ____ ____ |
9 | | | || || || ___ || _ \ \____ \ / ___) / ___)(____ || _ \ | || _ \ / _ | |
10 | | | || || || ____|| |_) ) _____) )( (___ | | / ___ || |_| || || | | |( (_| | |
11 | | \_____/ |_____)|____/ (______/ \____)|_| \_____|| __/ |_||_| |_| \___ | |
12 | | |_| (_____| |
13 | | Telegram : https://t.me/native_applications |
14 | | Github : https://github.com/professorDeveloper |
15 | +---------------------------------------------------------------------------------+""".trimMargin()
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/WebViewResolver.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.playimdb
2 |
3 | import com.azamovhudstc.scarpingtutorial.helper.M3u8Helper
4 | import com.lagradost.cloudstream3.USER_AGENT
5 | import okhttp3.Interceptor
6 |
7 | import com.lagradost.cloudstream3.SubtitleFile
8 | import com.lagradost.cloudstream3.app
9 | import com.lagradost.cloudstream3.utils.ExtractorApi
10 | import com.lagradost.cloudstream3.utils.ExtractorLink
11 |
12 | class MoviehabNet : Moviehab() {
13 | override var mainUrl = "https://play.moviehab.asia"
14 | }
15 |
16 | open class Moviehab : ExtractorApi() {
17 | override var name = "Moviehab"
18 | override var mainUrl = "https://play.moviehab.com"
19 | override val requiresReferer = false
20 |
21 | override suspend fun getUrl(
22 | url: String,
23 | referer: String?,
24 | subtitleCallback: (SubtitleFile) -> Unit,
25 | callback: (ExtractorLink) -> Unit
26 | ) {
27 | val res = app.get(url)
28 | res.document.select("video#player").let {
29 | //should redirect first for making it works
30 | val link = app.get("$mainUrl/${it.select("source").attr("src")}", referer = url).url
31 | println(link)
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
20 | # Enables namespacing of each library's R class so that its R class includes only the
21 | # resources declared in the library itself and none from the library's dependencies,
22 | # thereby reducing the size of the R class for that library
23 | android.nonTransitiveRClass=true
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/playimdb/getDynamicM3U8.kt:
--------------------------------------------------------------------------------
1 | import org.jsoup.Jsoup
2 | import java.net.URLEncoder
3 |
4 | fun getDynamicM3U8(cx: Int = 0, cy: Int = 0): String? {
5 | val baseUrl = "https://z6bha.com" // real site base URL
6 | val deviceType = "Desktop/Windows"
7 | val browserName = "Chrome"
8 |
9 | val url = "$baseUrl/dl?b=view&file_code=mldhaxh6aeq5" +
10 | "&hash=49004318-54-86-1761160466-f8ee2c5662fbf958d8a2df58e3597227" +
11 | "&embed=1&referer=noxx.to" +
12 | "&cx=$cx&cy=$cy" +
13 | "&device=${URLEncoder.encode(deviceType, "UTF-8")}" +
14 | "&browser=${URLEncoder.encode(browserName, "UTF-8")}" +
15 | "&ww=1920&wh=1080"
16 |
17 | println(url)
18 | return try {
19 | val doc = Jsoup.connect(url)
20 | .ignoreContentType(true)
21 | .header("Content-Cache", "no-cache")
22 | .get()
23 | println(doc)
24 | val m3u8Url = doc.select("body").text() // the returned URL from server
25 | m3u8Url
26 | } catch (e: Exception) {
27 | e.printStackTrace()
28 | null
29 | }
30 | }
31 |
32 | /**
33 | * Example usage of the `getDynamicM3U8` function.
34 | *
35 | * Fetches a dynamic M3U8 URL using the provided coordinates (100, 200) and prints the result.
36 | */
37 | fun main() {
38 | val m3u8 = getDynamicM3U8(100, 200)
39 | println("Dynamic M3U8 URL: $m3u8")
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/hianime/ServerResponse.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.hianime
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.google.gson.Gson
5 | import org.jsoup.Jsoup
6 |
7 | data class ServerResponse(val link: String)
8 | data class EpisodeServers(val html: String)
9 | data class HiServer(val id: String, val label: String)
10 |
11 | class HiAnimeVideoExtractor {
12 |
13 | private val gson = Gson()
14 | private val base = "https://hianime.bz"
15 |
16 | fun extractServers(episodeId: Int): List {
17 | val json = Utils.get("$base/ajax/v2/episode/servers?episodeId=$episodeId")
18 | val resp = gson.fromJson(json, EpisodeServers::class.java)
19 |
20 | val doc = Jsoup.parse(resp.html)
21 |
22 | return doc.select(".server-item[data-id]").map {
23 | HiServer(
24 | id = it.attr("data-id"),
25 | label = it.select("a.btn").text()
26 | )
27 | }
28 | }
29 |
30 | fun extractVideoFromServer(serverId: String): String {
31 | val json = Utils.get("$base/ajax/v2/episode/sources?id=$serverId")
32 | val source = gson.fromJson(json, ServerResponse::class.java).link
33 | return source
34 | }
35 |
36 | fun extractMegacloudVideo(url: String): String {
37 | val extractor = MegacloudExtractor()
38 | val (m3u8, tracks) = extractor.extractVideoUrl(url)
39 | println("Subtitles: $tracks")
40 | return m3u8
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/asilmedia/model/FullMovieData.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.asilmedia.model
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 |
5 | data class FullMovieData(
6 | val year: String,
7 | val country: String,
8 | val duration: String,
9 | val posterImageSrc: String,
10 | val genres: List>,
11 | val directors: List>,
12 | val actors: List>,
13 | val options: List>,
14 | val imageUrls: List,
15 | val description: String,
16 | val videoUrl: String,
17 | val IMDB_rating:String,
18 | )
19 |
20 | {
21 | override fun toString(): String {
22 | return """
23 | Year: $year
24 | Country: $country
25 | Duration: $duration
26 | Poster Image Src: $posterImageSrc
27 |
28 | Genres:
29 | ${genres.joinToString("\n") { "${it.first} - ${it.second}" }}
30 |
31 | Directors:
32 | ${directors.joinToString("\n") { "${it.first} - ${it.second}" }}
33 |
34 | Actors:
35 | ${actors.joinToString("\n") { "${it.first} - ${it.second}" }}
36 |
37 | Options:
38 | ${options.joinToString("\n") { "${it.first} - ${it.second}" }}
39 |
40 | Image URLs:
41 | ${imageUrls.joinToString("\n")}
42 |
43 | Description: $description
44 |
45 | Video URL: $videoUrl
46 |
47 | IMDB_rating: $IMDB_rating
48 | """.trimIndent()
49 | }
50 |
51 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/theflixer/Functions.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.theflixer
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 |
5 | fun updateEndpoint(url: String): String {
6 | val baseUrl = "https://theflixertv.to"
7 | val path = url.removePrefix(baseUrl)
8 |
9 | return when {
10 | path.startsWith("/movie/") -> baseUrl + path.replace("/movie/", "/watch-movie/")
11 | path.startsWith("/tv/") -> baseUrl + path.replace("/tv/", "/watch-tv/")
12 | else -> url
13 | }
14 | }
15 |
16 | fun mapToFilm(map: Map): Film {
17 | return Film(
18 | title = map["title"] ?: "",
19 | year = map["year"] ?: "",
20 | type = map["type"] ?: "",
21 | posterUrl = map["posterUrl"] ?: "",
22 | watchUrl = map["watchUrl"] ?: ""
23 | )
24 | }
25 |
26 |
27 | fun addLineBetweenWords(text: String, line: String): String {
28 | val words = text.split(" ")
29 | val newText = words.joinToString(line)
30 | return newText
31 | }
32 |
33 | fun parseRatingInfo(id: String,mainUrl:String): RatingInfo? {
34 | val document = Utils.getJsoup("$mainUrl/ajax/vote_info/$id")
35 |
36 | return try {
37 | val title = document.select(".rs-title").text()
38 | val totalVotes = document.select(".rr-mark").text().split(" ")[0].toInt()
39 | val ratingPercentage = document.select(".progress-bar").attr("style")
40 | .split("width: ")[1]
41 | .split("%;")[0]
42 | .toDouble()
43 |
44 | RatingInfo(title, totalVotes, ratingPercentage)
45 | } catch (e: Exception) {
46 | e.printStackTrace()
47 | null
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/tonconsole/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.library'
3 | id 'org.jetbrains.kotlin.android'
4 | }
5 |
6 | android {
7 | namespace 'com.azamovhudstc.tonconsole'
8 | compileSdk 34
9 |
10 | defaultConfig {
11 | minSdk 24
12 |
13 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
14 | consumerProguardFiles "consumer-rules.pro"
15 | }
16 |
17 | buildTypes {
18 | release {
19 | minifyEnabled 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 | }
31 |
32 | dependencies {
33 |
34 | implementation 'androidx.core:core-ktx:1.13.1'
35 | implementation platform('org.jetbrains.kotlin:kotlin-bom:1.8.0')
36 | implementation 'androidx.appcompat:appcompat:1.7.0'
37 | implementation 'com.google.android.material:material:1.12.0'
38 | testImplementation 'junit:junit:4.13.2'
39 | androidTestImplementation 'androidx.test.ext:junit:1.1.5'
40 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
41 | implementation 'com.github.Blatzar:NiceHttp:0.4.4'// So wee Need this Libraries
42 | api "com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1"
43 | implementation 'com.google.code.gson:gson:2.10.1'
44 | implementation 'com.squareup.okhttp3:okhttp:3.5.0'
45 | implementation 'org.java-websocket:Java-WebSocket:1.4.0'
46 |
47 | implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1"
48 | implementation 'io.apisense:rhino-android:1.0'
49 |
50 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/itv/Main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.itv
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.azamovhudstc.scarpingtutorial.utils.parser
5 | import com.lagradost.nicehttp.Requests
6 | import kotlinx.coroutines.runBlocking
7 |
8 | val mainUrl = "https://api.itv.uz"
9 | fun main(args: Array) {
10 |
11 | runBlocking {
12 | val responseList = getFreeTvChannels()
13 | val list = responseList.data.filter { it.params.isFree }
14 | val freeChannel = list.get(2)
15 | getChannelDataByID(freeChannel)
16 | }
17 |
18 | }
19 |
20 |
21 |
22 | suspend fun getFreeTvChannels(): TvResponse {
23 | val niceHttp = Requests(baseClient = Utils.httpClient, responseParser = parser)
24 | val response =
25 | niceHttp.get("$mainUrl/v2/cards/channels/list?categoryId=8&itemsPerPage=0&moduleId=1")
26 | .parsed()
27 |
28 | return response
29 | }
30 |
31 |
32 | suspend fun getChannelDataByID(tvResponse: Data) {
33 | val niceHttp = Requests(baseClient = Utils.httpClient, responseParser = parser)
34 | val currentTimeMillis = System.currentTimeMillis()
35 |
36 | val request = niceHttp.get(
37 | "$mainUrl/v2/cards/channels/show?channelId=${tvResponse.channelId}",
38 | headers =
39 | mapOf(
40 | "Itoken" to "6d7e4735846e243ab46a794e332f9519",
41 | "Referer" to "https://itv.uz/",
42 | "Ilogin" to "itv65869f5e66f28",
43 | "Idevice" to "K60-NEu4XqqucXbyV6aIb",
44 | "lauth" to "true",
45 | "lplatform" to "WebSite",
46 | "Itime" to currentTimeMillis.toString()
47 | ),
48 | )
49 | println(request.body!!.string())
50 | ///
51 |
52 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/dos4.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos10.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos11.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos12.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos13.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos14.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos15.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos16.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos18.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos5.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos6.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos7.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos8.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos9.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos17.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 |
4 | import com.azamovhudstc.scarpingtutorial.utils.Utils
5 | import com.lagradost.nicehttp.Requests
6 | import kotlinx.coroutines.runBlocking
7 |
8 | fun main() {
9 | runBlocking {
10 |
11 | val requests = Requests(baseClient = Utils.httpClient)
12 | for (i in 1..10000) {
13 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
14 |
15 | val headers = mapOf(
16 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
17 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
18 | "Cache-Control" to "max-age=0",
19 | "DNT" to "1",
20 | "Priority" to "u=0, i",
21 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
22 | "Sec-Ch-Ua-Mobile" to "?0",
23 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
24 | "Sec-Fetch-Dest" to "document",
25 | "Sec-Fetch-Mode" to "navigate",
26 | "Sec-Fetch-Site" to "none",
27 | "Sec-Fetch-User" to "?1",
28 | "Upgrade-Insecure-Requests" to "1",
29 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
30 | )
31 |
32 | val response = requests.get(
33 | url = url,
34 | headers = headers
35 | )
36 | println("$i ${response.code}")
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos19.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 |
4 | import com.azamovhudstc.scarpingtutorial.utils.Utils
5 | import com.lagradost.nicehttp.Requests
6 | import kotlinx.coroutines.runBlocking
7 |
8 | fun main() {
9 | runBlocking {
10 |
11 | val requests = Requests(baseClient = Utils.httpClient)
12 | for (i in 1..10000) {
13 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
14 |
15 | val headers = mapOf(
16 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
17 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
18 | "Cache-Control" to "max-age=0",
19 | "DNT" to "1",
20 | "Priority" to "u=0, i",
21 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
22 | "Sec-Ch-Ua-Mobile" to "?0",
23 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
24 | "Sec-Fetch-Dest" to "document",
25 | "Sec-Fetch-Mode" to "navigate",
26 | "Sec-Fetch-Site" to "none",
27 | "Sec-Fetch-User" to "?1",
28 | "Upgrade-Insecure-Requests" to "1",
29 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
30 | )
31 |
32 | val response = requests.get(
33 | url = url,
34 | headers = headers
35 | )
36 | println("$i ${response.code}")
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/dos/ddos20.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.dos
2 |
3 |
4 | import com.azamovhudstc.scarpingtutorial.utils.Utils
5 | import com.lagradost.nicehttp.Requests
6 | import kotlinx.coroutines.runBlocking
7 |
8 | fun main() {
9 | runBlocking {
10 |
11 | val requests = Requests(baseClient = Utils.httpClient)
12 | for (i in 1..10000) {
13 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
14 |
15 | val headers = mapOf(
16 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
17 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
18 | "Cache-Control" to "max-age=0",
19 | "DNT" to "1",
20 | "Priority" to "u=0, i",
21 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
22 | "Sec-Ch-Ua-Mobile" to "?0",
23 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
24 | "Sec-Fetch-Dest" to "document",
25 | "Sec-Fetch-Mode" to "navigate",
26 | "Sec-Fetch-Site" to "none",
27 | "Sec-Fetch-User" to "?1",
28 | "Upgrade-Insecure-Requests" to "1",
29 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
30 | )
31 |
32 | val response = requests.get(
33 | url = url,
34 | headers = headers
35 | )
36 | println("$i ${response.code}")
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/ktor_http/Main.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.ktor_http
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main() {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/fck.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.lagradost.nicehttp.Requests
5 | import kotlinx.coroutines.runBlocking
6 |
7 | fun main(args: Array) {
8 | runBlocking {
9 |
10 | val requests = Requests(baseClient = Utils.httpClient)
11 | for (i in 1..10000) {
12 | val url = "https://count.getloli.com/@professorDeveloper?name=Sozo-tv&theme=rule34&padding=8&offset=0&align=top&scale=1&pixelated=1&darkmode=auto"
13 |
14 | val headers = mapOf(
15 | "Accept" to "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
16 | "Accept-Language" to "en-US,en;q=0.9,uz-UZ;q=0.8,uz;q=0.7",
17 | "Cache-Control" to "max-age=0",
18 | "DNT" to "1",
19 | "Priority" to "u=0, i",
20 | "Sec-Ch-Ua" to "\"Chromium\";v=\"142\", \"Google Chrome\";v=\"142\", \"Not_A Brand\";v=\"99\"",
21 | "Sec-Ch-Ua-Mobile" to "?0",
22 | "Sec-Ch-Ua-Platform" to "\"Windows\"",
23 | "Sec-Fetch-Dest" to "document",
24 | "Sec-Fetch-Mode" to "navigate",
25 | "Sec-Fetch-Site" to "none",
26 | "Sec-Fetch-User" to "?1",
27 | "Upgrade-Insecure-Requests" to "1",
28 | "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
29 | )
30 |
31 | val response = requests.get(
32 | url = url,
33 | headers = headers
34 | )
35 | println("$i ${response.code}")
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
18 |
21 |
22 |
23 |
24 |
30 |
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/kitsue_snapshot/KitsuApi.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.kitsue_snapshot
2 |
3 | import com.azamovhudstc.scarpingtutorial.utils.Utils
4 | import com.google.gson.Gson
5 | import kotlinx.coroutines.Dispatchers
6 | import kotlinx.coroutines.withContext
7 |
8 | class KitsuApi {
9 | private val gson = Gson()
10 | private val base = "https://kitsu.io/api/edge"
11 |
12 | suspend fun searchId(query: String): String? = withContext(Dispatchers.IO) {
13 | val encoded = query.replace(" ", "%20")
14 | val url = "$base/anime?filter[text]=$encoded"
15 |
16 | val json = Utils.get(url) // blocking → moves to IO thread
17 | val result = gson.fromJson(json, KitsuSearchResponse::class.java)
18 |
19 | result.data?.firstOrNull()?.id
20 | }
21 |
22 |
23 | suspend fun getEpisodes(animeId: String, page: Int): List =
24 | withContext(Dispatchers.IO) {
25 |
26 | val limit = 20
27 | val offset = page * limit
28 |
29 | val url = "$base/anime/$animeId/episodes?page[limit]=$limit&page[offset]=$offset"
30 |
31 | val json = Utils.get(url)
32 | val result = gson.fromJson(json, KitsuEpisodeResponse::class.java)
33 | val list = result.data ?: return@withContext emptyList()
34 |
35 | list.mapNotNull { ep ->
36 | val attr = ep.attributes ?: return@mapNotNull null
37 |
38 | KitsuEpisode(
39 | id = ep.id ?: "",
40 | number = attr.number ?: 0,
41 | title = attr.canonicalTitle ?: attr.titles?.en_us ?: attr.titles?.en_jp
42 | ?: attr.titles?.ja_jp ?: "Episode ${attr.number}",
43 | description = attr.description ?: "",
44 | thumbnail = attr.thumbnail?.original ?: ""
45 | )
46 | }
47 | }
48 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/azamovhudstc/scarpingtutorial/anime_pahe/AnimePaheExtractor.kt:
--------------------------------------------------------------------------------
1 | package com.azamovhudstc.scarpingtutorial.anime_pahe
2 |
3 | import org.jsoup.select.Elements
4 | //
5 | //class AnimePaheExtractor(override val server: VideoServer) : VideoExtractor() {
6 | // override suspend fun extract(): VideoContainer {
7 | // val scrapVideos = mutableListOf