diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 44bcb5cc..cfed8033 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -127,7 +127,7 @@ diff --git a/CHANGELOG.md b/CHANGELOG.md index c2265a84..c9df5dd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Security +## [2.22.0] - 2020-09-29 +### Changed +- ApplicationId has been changed from "com.mishiranu.dashchan" to "com.f77.dashchan". So, you can delete the forked "com.mishiranu.dashchan" application now and even to install the original app instead. There will be 2 apps. But the forked app may not see some new modified modules from the original app, if they have modified API, especially new captcha types. +- compileSdkVersion and libraries have been updated to the modern versions. +- README.md has been updated. Removed english instructions (there will be no any support for boards except "dvach" and the forked client app, so, they are not necessary). But yes, I will still write this changelog in english anyway, just because. + ## [2.21.0] - 2020-06-16 ### Added - There are 2 amoled themes now: old and contrast. @@ -164,6 +170,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added this changelog. - Rebuilt to a new Android SDK (29). +[2.22.0]: https://github.com/f77/Dashchan/compare/2.21.0...2.22.0 [2.21.0]: https://github.com/f77/Dashchan/compare/2.20.0...2.21.0 [2.20.0]: https://github.com/f77/Dashchan/compare/2.19.1...2.20.0 [2.19.1]: https://github.com/f77/Dashchan/compare/2.19.0...2.19.1 diff --git a/README.md b/README.md index acd9a23b..e45c8a63 100644 --- a/README.md +++ b/README.md @@ -1,172 +1,28 @@ # Dashchan Continued Dashchan Continued - форк приложения [Dashchan](https://github.com/Mishiranu/Dashchan). Создан для исправления некоторых багов и добавления некоторого дополнительного функционала. -Dashchan Continued is a fork of the [Dashchan](https://github.com/Mishiranu/Dashchan) app. -It is developing to fix some bugs and to add some additional functional. -# Install/RU -1. Если у вас установлено оригинальное приложение Dashchan, то потребуется его удалить, вместе со всеми расширениями. Можете перед этим сделать бекап (Настройки -> О программе -> Резервное копирование данных). -2. Скачать основное приложение: [Dashchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/Dashchan.apk). -3. Скачать необходимые расширения по ссылкам ниже. -Расширение двача с возможностью просмотра и изменения лайков постов в /po, /news и некоторых других разделах: [DashchanDvach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDvach.apk). +## Ссылки для загрузки +Измененный клиент: [DashchanContinued.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/Dashchan.apk) +Расширение двача с лайками: [Dvach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDvach.apk) -# Install/EN -1. If you have already installed original Dashchan app, you need to delete it, with all installed extensions. You can make a backup before (Preferences -> About -> Backup data). -2. Download the main app [Dashchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/Dashchan.apk). -3. Download needed extensions using links below. +## Список изменений клиента и отличий от оригинала: +[CHANGELOG.md](https://github.com/f77/Dashchan/blob/master/CHANGELOG.md) -# Configuration/RU -Если вы восстанавливали бекап настроек от оригинальлного приложения, то, возможно, вам потребуется их изменить для полноценной работы приложения: +## Некоторые заметки +- Начиная с версии `2.22.0` Dashchan Continued имеет отличное от оригинала имя пакета, таким образом, их можно устанавливать одновременно. Однако, не все оригинальные модули могут быть видимы приложением-форком, и наоборот, оригинал может не видеть сторонние версии модулей, это происходит из-за различий в API. В любом случае, это не ведет к каким бы то ни было потерям данных, максимум, приложения не будут или будут плохо работать с модулями, не предназначенными для них. **Теперь вы можете иметь одновременно установленными оба приложения: и Dashchan, и Dashchan Continued.** +- Если вы обновились и обнаружили, что теперь у вас 2 приложения Dashchan Continued, вам следует удалить то, которое стояло раньше (имя пакета `com.mishiranu.dashchan`), и оставить новое добавившееся (имя пакета `com.f77.dashchan`). Также следует удалить все установленные модули и скачать заново (с этой страницы скачивается только модуль `dvach` с лайками, все остальное, что вам треубется, со страницы [оригинального приложения](https://github.com/Mishiranu/Dashchan)). +- Оригинальное приложение, начиная с версии `3.0`, хранит бекап своих настроек в той директории, которую выбрал пользователь. Форк 2.0-версии (как и оригинал 2.0-версии) хранит бекапы настроек в директории `Downloads/Dashchan`. Таким образом, если вы выбрали в 3.0-приложении директорию `Downloads/Dashchan`, у них становится общая папка для бекапов и становится возможным восстановить настройки от одного приложения в другом. Однако, в некоторых случаях при данной операции могут возникнуть ошибки, так что делайте это на свой страх и риск. +- Когда-то для форка были изменены модули `arhivach`, `diochan`, `dvach`, `fiftyfive`. Однако, никаких приложений, кроме клиента и модуля `dvach`, качать с этой страницы не рекомендуется. + + +# Настройка +Если вы восстанавливали бекап настроек от оригинального приложения, то, возможно, вам потребуется их изменить для полноценной работы приложения: 1. Выключите частичную загрузку тредов, чтобы изменения лайков отображались сразу же после перезагрузки страницы. (Настройки -> Форумы -> 2ch.hk -> Частичная загрузка тредов). 2. Настройки -> Форумы -> 2ch.hk -> Тип капчи -> reCAPTCHA 2 3. Общие -> Использовать JavaScript для ReCAPTCHA -> убрать галочку. -# Dashchan -Dashchan is imageboards client for Android. - -Read the [project wiki](https://github.com/Mishiranu/Dashchan/wiki) for further information. - -## Packages List - -Client application: [Dashchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/Dashchan.apk). -Video player libraries: [DashchanWebm.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanWebm.apk). - -### Forums - -| Chan Name | Host | Extension Package Link | -| :-------------: | :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | -| allchan | allchan.su | [DashchanAllchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanAllchan.apk) | -| alphachan | alphachan.org | [DashchanAlphachan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanAlphachan.apk) | -| alterchan | alterchan.in | [DashchanAlterchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanAlterchan.apk) | -| anonfm | anon.fm | [DashchanAnonfm.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanAnonfm.apk) | -| apachan | apachan.net | [DashchanApachan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanApachan.apk) | -| bonzibuddy | 76chan.org | [DashchanBonziBuddy.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanBonziBuddy.apk) | -| brchan | brchan.org | [DashchanBrchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanBrchan.apk) | -| britfags | britfa.gs | [DashchanBritfags.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanBritfags.apk) | -| bunbunmaru | bunbunmaru.com | [DashchanBunbunmaru.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanBunbunmaru.apk) | -| cablesix | cable6.net | [DashchanCableSix.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanCableSix.apk) | -| candydollchan | candydollchan.org | [DashchanCandydollchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanCandydollchan.apk) | -| chaosach | chaos.cyberpunk.us | [DashchanChaosach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanChaosach.apk) | -| chiochan | 410chan.org | [DashchanChiochan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanChiochan.apk) | -| chuckdfwk | chuck.dfwk.ru | [DashchanChuckDfwk.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanChuckDfwk.apk) | -| cirno | iichan.hk | [DashchanCirno.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanCirno.apk) | -| dangeru | dangeru.us | [DashchanDangeru.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDangeru.apk) | -| diochan | diochan.com | [DashchanDiochan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDiochan.apk) | -| dobrochan | dobrochan.com | [DashchanDobrochan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDobrochan.apk) | -| dvach | 2ch.hk | [DashchanDvach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDvach.apk) | -| endchan | endchan.xyz | [DashchanEndchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanEndchan.apk) | -| erlach | erlach.co | [DashchanErlach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanErlach.apk) | -| exach | exach.com | [DashchanExach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanExach.apk) | -| fiftyfive | 55chan.org | [DashchanFiftyfive.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanFiftyfive.apk) | -| fourchan | 4chan.org | [DashchanFourchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanFourchan.apk) | -| freeportseven | freeport7.org | [DashchanFreeportSeven.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanFreeportSeven.apk) | -| gurochan | gurochan.ch | [DashchanGurochan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanGurochan.apk) | -| haibane | haibane.ru | [DashchanHaibane.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanHaibane.apk) | -| haruhichan | haruhichan.ovh | [DashchanHaruhichan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanHaruhichan.apk) | -| horochan | horochan.ru | [DashchanHorochan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanHorochan.apk) | -| infinite | 8ch.net | [DashchanInfinite.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanInfinite.apk) | -| krautchan | krautchan.net | [DashchanKrautchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanKrautchan.apk) | -| kropyvach | kropyva.ch | [DashchanKropyvach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanKropyvach.apk) | -| kurisach | kurisa.ch | [DashchanKurisach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanKurisach.apk) | -| lainchan | lainchan.org | [DashchanLainchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanLainchan.apk) | -| lolifox | lolifox.org | [DashchanLolifox.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanLolifox.apk) | -| makabapaid | 2channel.hk | [DashchanMakabaPaid.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanMakabaPaid.apk) | -| meguca | meguca.org | [DashchanMeguca.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanMeguca.apk) | -| nowere | nowere.net | [DashchanNowere.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNowere.apk) | -| nullchan | 0chan.hk | [DashchanNullchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNullchan.apk) | -| nulldvachin | 02ch.in | [DashchanNulldvachin.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNulldvachin.apk) | -| nulldvachnet | 02ch.net | [DashchanNulldvachnet.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNulldvachnet.apk) | -| nulleu | 0chan.ru.net | [DashchanNulleu.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNulleu.apk) | -| nullnyan | 0nyan.ml | [DashchanNullnyan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNullnyan.apk) | -| nullone | 0chan.one | [DashchanNullone.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNullone.apk) | -| nulltirech | 0-chan.ru | [DashchanNulltirech.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanNulltirech.apk) | -| onechanca | 1chan.ca | [DashchanOnechanca.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanOnechanca.apk) | -| owlchan | owlchan.ru | [DashchanOwlchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanOwlchan.apk) | -| ozuchan | ozuchan.ru | [DashchanOzuchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanOzuchan.apk) | -| ponyach | ponyach.ru | [DashchanPonyach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanPonyach.apk) | -| ponychan | ponychan.net | [DashchanPonychan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanPonychan.apk) | -| princessluna | princessluna.ru | [DashchanPrincessLuna.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanPrincessLuna.apk) | -| ronery | ronery.me | [DashchanRonery.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanRonery.apk) | -| sevenchan | 7chan.org | [DashchanSevenchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanSevenchan.apk) | -| shanachan | shanachan.org | [DashchanShanachan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanShanachan.apk) | -| sharechan | sharechan.org | [DashchanSharechan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanSharechan.apk) | -| synch | syn-ch.com | [DashchanSynch.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanSynch.apk) | -| taima | 420chan.org | [DashchanTaima.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTaima.apk) | -| tiretirech | 2--ch.ru | [DashchanTiretirech.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTiretirech.apk) | -| touhouchan | touhouchan.org | [DashchanTouhouchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTouhouchan.apk) | -| tumbach | tumba.ch | [DashchanTumbach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTumbach.apk) | -| twentyseven | 27chan.org | [DashchanTwentySeven.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTwentySeven.apk) | -| twowatch | 2watch.su | [DashchanTwowatch.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanTwowatch.apk) | -| uboachan | uboachan.net | [DashchanUboachan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanUboachan.apk) | -| valkyria | u18chan.com | [DashchanValkyria.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanValkyria.apk) | -| wizardchan | wizchan.org | [DashchanWizardchan.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanWizardchan.apk) | -| xyntach | xynta.ch | [DashchanXyntach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanXyntach.apk) | - -### Archives - -| Chan Name | Host | Extension Package Link | -| :-------------: | :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | -| archiveliom | loveisover.me | [DashchanArchiveLiom.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanArchiveLiom.apk) | -| archiverbt | rbt.asia | [DashchanArchiveRbt.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanArchiveRbt.apk) | -| arhivach | arhivach.org | [DashchanArhivach.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanArhivach.apk) | -| desustorage | desuarchive.org | [DashchanDesustorage.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanDesustorage.apk) | -| fourplebs | 4plebs.org | [DashchanFourplebs.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanFourplebs.apk) | -| local | ( local archive ) | [DashchanLocal.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanLocal.apk) | -| randomarchive | randomarchive.com | [DashchanRandomArchive.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanRandomArchive.apk) | -| yakujimoe | ii.yakuji.moe | [DashchanYakujiMoe.apk](https://github.com/f77/Dashchan-Extensions/raw/master/update/package/DashchanYakujiMoe.apk) | - -## Installation Guide - -1. Install extension packages -2. Install client application - -Remember that every time you install a new extension, you must restart the client application. - -## Updating Guide - -Go to Preferences ⇒ About ⇒ Check for updates. After fetching updating data you can view a number of updates in title bar. Usually you just need to click on the download button and wait until downloading ends. - -It is better to install extension packages and then install application package. If you download only an extension, don't forget to restart the application after updating. - -## Building Guide - -1. Install JDK 8 or higher -2. Install Android SDK, define `ANDROID_HOME` environment variable or set `sdk.dir` in `local.properties` -3. Install Android NDK, define `ANDROID_NDK_HOME` environment variable or set `ndk.dir` in `local.properties` -4. Install Gradle -5. Run `gradle assembleRelease` - -The resulting APK file will appear in `build/outputs/apk` directory. - -### Build Signed Binary - -You can create `keystore.properties` in the source code directory with the following properties: - -```properties -store.file=%PATH_TO_KEYSTORE_FILE% -store.password=%KEYSTORE_PASSWORD% -key.alias=%KEY_ALIAS% -key.password=%KEY_PASSWORD% -``` - -### API Keys - -Dashchan uses Google API and SoundCloud API. - -You can generate keys for these APIs and add them to `private.properties` file: - -```properties -api.key.google=%GOOGLE_API_KEY% -api.key.soundcloud=%SOUNDCLOUD_API_KEY% -``` - -### Building extenions - -The source code of extensions is available in the [Dashchan Extensions](https://github.com/f77/Dashchan-Extensions) repository. - -The source code of video player extension is available in the [Dashchan Webm](https://github.com/f77/Dashchan-Webm) repository. - ## License Dashchan is licensed under the [Apache License, version 2.0](LICENSE). diff --git a/build.gradle b/build.gradle index e0c3243e..0c1ee187 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:4.0.1' classpath 'com.trevjonez.AndroidGithubReleasePlugin:plugin:1.2.2' } } @@ -27,8 +27,8 @@ apply plugin: 'com.trevjonez.AndroidGithubReleasePlugin' dependencies { implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0-alpha01' - implementation 'androidx.drawerlayout:drawerlayout:1.1.0-rc01' - implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.drawerlayout:drawerlayout:1.1.1' + implementation 'androidx.appcompat:appcompat:1.2.0' compileOnly 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' implementation 'androidx.browser:browser:1.2.0' implementation 'io.noties.markwon:core:4.4.0' @@ -42,8 +42,8 @@ if (file('private.properties').exists()) { } android { - compileSdkVersion 29 - buildToolsVersion '29.0.2' + compileSdkVersion 30 + buildToolsVersion '30.0.2' sourceSets.main { manifest.srcFile 'AndroidManifest.xml' @@ -77,6 +77,8 @@ android { } defaultConfig { + applicationId "com.f77.dashchan" + versionName androidGitVersion.name() versionCode androidGitVersion.code() diff --git a/player-lib/build.gradle b/player-lib/build.gradle index 911ff58c..5e445a78 100644 --- a/player-lib/build.gradle +++ b/player-lib/build.gradle @@ -1,10 +1,10 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 29 + compileSdkVersion 30 defaultConfig { minSdkVersion 16 - targetSdkVersion 29 + targetSdkVersion 30 } buildTypes { release { @@ -15,7 +15,7 @@ android { } dependencies { - implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.exoplayer:exoplayer-core:2.11.5' implementation 'com.google.android.exoplayer:exoplayer-dash:2.11.5' implementation 'com.google.android.exoplayer:exoplayer-ui:2.11.5'