Skip to content

Commit 3e43707

Browse files
authored
Merge branch 'master' into trixiether/enhancement/archiveforplebs
2 parents 713472f + 03d6e7c commit 3e43707

File tree

15 files changed

+193
-1
lines changed

15 files changed

+193
-1
lines changed

.github/workflows/android.yml

+4
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ jobs:
4747
name: ArchB4K
4848
- module: archiveforplebs
4949
name: ArchiveForPlebs
50+
- module: archiveofsins
51+
name: ArchiveOfSins
52+
- module: palanqwin
53+
name: PalanqWin
5054

5155
steps:
5256
- uses: actions/checkout@v3

extensions/archiveofsins/build.gradle

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
apply plugin: 'chan-extension'
2+
3+
chan {
4+
nameUpper 'ArchiveOfSins'
5+
packageName 'com.trixiether.dashchan.chan.archiveofsins'
6+
versionName '1.0'
7+
apiVersion 1
8+
hosts 'archiveofsins.com'
9+
}
10+
11+
dependencies {
12+
implementation project(':engines:foolfuuka')
13+
}
14+
15+
android {
16+
signingConfigs {
17+
release {
18+
19+
def keystoreProperties = new Properties()
20+
try {
21+
file('keystore.properties').newInputStream().withCloseable { keystoreProperties.load(it) }
22+
} catch (IOException ignored) {
23+
keystoreProperties = null
24+
}
25+
26+
if (keystoreProperties == null) {
27+
//git workflow build
28+
System.out.println("keystoreProperties is null")
29+
def key_file = System.getenv("KEYSTORE_FILENAME")
30+
storeFile file(key_file != null ? key_file : "keystore/dashchan")
31+
storePassword System.getenv("KEYSTORE_PASSWORD")
32+
keyAlias System.getenv("RELEASE_SIGN_KEY_ALIAS")
33+
keyPassword System.getenv("RELEASE_SIGN_KEY_PASSWORD")
34+
35+
} else {
36+
//local build
37+
storeFile keystoreProperties['store.file']
38+
storePassword keystoreProperties['store.password']
39+
keyAlias keystoreProperties['key.alias']
40+
keyPassword keystoreProperties['key.password']
41+
}
42+
43+
}
44+
}
45+
buildTypes {
46+
release {
47+
signingConfig signingConfigs.release
48+
}
49+
}
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="100dp" android:viewportHeight="800" android:viewportWidth="800" android:width="100dp">
2+
<path android:fillColor="#000000" android:pathData="M604.5,251.5C604.5,254.83 604.5,258.17 604.5,261.5C597.17,261.5 589.83,261.5 582.5,261.5C569.97,181.83 529.3,121.67 460.5,81C413.82,56.22 365.48,52.22 315.5,69C282.87,83.8 262.7,108.63 255,143.5C252.1,170.45 259.43,194.12 277,214.5C294.53,233.37 314.36,249.21 336.5,262C380.57,286.04 425.24,309.04 470.5,331C510.08,351.95 547.08,376.61 581.5,405C640.22,460.84 661.39,528.67 645,608.5C630.71,661.59 601.21,704.09 556.5,736C507.92,768.96 454.08,784.8 395,783.5C356.8,783.38 319.97,776.21 284.5,762C267.39,754.78 250.05,748.11 232.5,742C206.92,735.19 185.75,742.03 169,762.5C164.54,768.59 160.7,775.09 157.5,782C150.84,782.5 144.18,782.67 137.5,782.5C137.5,690.5 137.5,598.5 137.5,506.5C144.17,506.5 150.83,506.5 157.5,506.5C167.3,561.74 188.8,611.74 222,656.5C249.48,689.65 282.98,714.81 322.5,732C368.42,749.56 414.42,749.89 460.5,733C492.44,717.73 513.6,693.23 524,659.5C531.08,623.47 522.41,591.81 498,564.5C475.94,541.73 450.78,523.23 422.5,509C389.39,491.56 356.06,474.56 322.5,458C289.32,440.59 257.66,420.92 227.5,399C193.69,372.53 168.19,339.7 151,300.5C120.35,203.8 144.52,123.96 223.5,61C273.14,26.84 328.14,12.84 388.5,19C417.25,21.77 444.92,28.77 471.5,40C490.15,49.16 509.15,57.49 528.5,65C538.4,69.06 548.4,69.39 558.5,66C567.15,62.21 572.65,55.71 575,46.5C578.13,37.32 580.63,27.98 582.5,18.5C588.17,18.5 593.83,18.5 599.5,18.5C601.26,96.16 602.92,173.83 604.5,251.5Z"/>
3+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.archiveofsins;
2+
3+
import chan.content.FoolFuukaChanConfiguration;
4+
5+
public class ArchiveOfSinsChanConfiguration extends FoolFuukaChanConfiguration {
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.trixiether.dashchan.chan.archiveofsins;
2+
3+
import chan.content.FoolFuukaChanLocator;
4+
5+
public class ArchiveOfSinsChanLocator extends FoolFuukaChanLocator {
6+
public ArchiveOfSinsChanLocator() {
7+
addChanHost("archiveofsins.com");
8+
setHttpsMode(HttpsMode.HTTPS_ONLY);
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.archiveofsins;
2+
3+
import chan.content.FoolFuukaChanMarkup;
4+
5+
public class ArchiveOfSinsChanMarkup extends FoolFuukaChanMarkup {
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.archiveofsins;
2+
3+
import chan.content.FoolFuukaChanPerformer;
4+
5+
public class ArchiveOfSinsChanPerformer extends FoolFuukaChanPerformer {
6+
}

extensions/palanqwin/build.gradle

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
apply plugin: 'chan-extension'
2+
3+
chan {
4+
nameUpper 'PalanqWin'
5+
packageName 'com.trixiether.dashchan.chan.palanq'
6+
versionName '1.0'
7+
apiVersion 1
8+
hosts 'archive.palanq.win'
9+
}
10+
11+
dependencies {
12+
implementation project(':engines:foolfuuka')
13+
}
14+
15+
android {
16+
signingConfigs {
17+
release {
18+
19+
def keystoreProperties = new Properties()
20+
try {
21+
file('keystore.properties').newInputStream().withCloseable { keystoreProperties.load(it) }
22+
} catch (IOException ignored) {
23+
keystoreProperties = null
24+
}
25+
26+
if (keystoreProperties == null) {
27+
//git workflow build
28+
System.out.println("keystoreProperties is null")
29+
def key_file = System.getenv("KEYSTORE_FILENAME")
30+
storeFile file(key_file != null ? key_file : "keystore/dashchan")
31+
storePassword System.getenv("KEYSTORE_PASSWORD")
32+
keyAlias System.getenv("RELEASE_SIGN_KEY_ALIAS")
33+
keyPassword System.getenv("RELEASE_SIGN_KEY_PASSWORD")
34+
35+
} else {
36+
//local build
37+
storeFile keystoreProperties['store.file']
38+
storePassword keystoreProperties['store.password']
39+
keyAlias keystoreProperties['key.alias']
40+
keyPassword keystoreProperties['key.password']
41+
}
42+
43+
}
44+
}
45+
buildTypes {
46+
release {
47+
signingConfig signingConfigs.release
48+
}
49+
}
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="640dp"
3+
android:height="704dp"
4+
android:viewportWidth="640"
5+
android:viewportHeight="704">
6+
<path
7+
android:pathData="M171,2c-34.9,1 -83.2,2.2 -107.2,2.6 -40.8,0.7 -43.9,0.8 -45.8,2.6 -3.3,3.1 -5.2,7.9 -5.8,14.4 -0.5,6.9 0.9,12.3 4.4,17 2.2,3 2.6,3.1 12.1,3.8 25.1,1.7 38.6,4.5 49.5,10.3 15.8,8.3 24.6,24.1 29,51.8 2,12.3 1.9,487.2 -0.1,500 -3.1,20.4 -8.9,34.4 -18,43.6 -11.1,11.1 -24.6,15.5 -55.1,17.9 -16.5,1.4 -17.8,2 -20.4,9.8 -3,8.7 -1.6,18.9 3.3,24.4l2.7,3 82.8,-1.1c61.6,-0.8 103.7,-0.8 164.9,-0l82.1,1.1 2.7,-3c4.9,-5.5 6.3,-15.9 3.4,-24.3 -2.7,-7.5 -4.4,-8.6 -14.8,-9.4 -35.3,-2.5 -50.9,-7.4 -62.1,-19.6 -9.6,-10.3 -15.1,-25.6 -17.6,-48.4 -0.8,-8.2 -1,-74.2 -0.8,-257 0.4,-227.5 0.5,-246.6 2.1,-254.5 5.4,-26.5 14.4,-37.4 35.4,-42.7 10.8,-2.8 45.2,-2.5 59.8,0.5 27.5,5.5 46.8,15.4 63.2,32.5 20.1,21 31.3,48.4 36.5,89.2 1.7,14.1 1.4,59.3 -0.5,77.1 -3.7,32.5 -10.5,55.2 -22.1,72.9 -15.5,23.5 -39,36.6 -73.1,40.5 -15.5,1.7 -53.2,0.9 -71.2,-1.5l-4.3,-0.6 0,5.3c0.1,14.7 7.5,30.3 18.1,37.9 5.1,3.6 17.2,4.9 46.1,4.9 56.6,-0 98.7,-5.5 135.8,-17.6 74,-24.3 119,-81.2 132.7,-167.9 2.2,-13.9 2.5,-53.1 0.5,-64.5 -6.9,-38.8 -22.4,-69.2 -48.4,-94.7 -29.9,-29.4 -67.5,-45.2 -131.3,-55.5 -13.7,-2.2 -15.8,-2.2 -109.5,-2.4 -70.9,-0.1 -111.9,0.3 -159,1.6z"
8+
android:fillColor="#000000"
9+
android:strokeColor="#00000000"/>
10+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.palanq;
2+
3+
import chan.content.FoolFuukaChanConfiguration;
4+
5+
public class PalanqWinChanConfiguration extends FoolFuukaChanConfiguration {
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.trixiether.dashchan.chan.palanq;
2+
3+
import chan.content.FoolFuukaChanLocator;
4+
5+
public class PalanqWinChanLocator extends FoolFuukaChanLocator {
6+
public PalanqWinChanLocator() {
7+
addChanHost("archive.palanq.win");
8+
setHttpsMode(HttpsMode.HTTPS_ONLY);
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.palanq;
2+
3+
import chan.content.FoolFuukaChanMarkup;
4+
5+
public class PalanqWinChanMarkup extends FoolFuukaChanMarkup {
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.trixiether.dashchan.chan.palanq;
2+
3+
import chan.content.FoolFuukaChanPerformer;
4+
5+
public class PalanqWinChanPerformer extends FoolFuukaChanPerformer {
6+
}

extensions/refugedobrochan/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apply plugin: 'chan-extension'
33
chan {
44
nameUpper 'RefugeDobrochan'
55
packageName 'com.trixiether.dashchan.chan.refugedobrochan'
6-
versionName '1.5'
6+
versionName '1.6'
77
apiVersion 1
88
hosts 'rf.dobrochan.net'
99
}

extensions/refugedobrochan/src/com/trixiether/dashchan/chan/refugedobrochan/RefugeDobrochanChanPerformer.java

+19
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
package com.trixiether.dashchan.chan.refugedobrochan;
22

3+
import android.net.Uri;
4+
import java.net.HttpURLConnection;
5+
import chan.content.InvalidResponseException;
36
import chan.content.VichanChanPerformer;
7+
import chan.http.HttpException;
8+
import chan.http.HttpRequest;
9+
import chan.http.HttpResponse;
410
import chan.http.MultipartEntity;
511
import chan.text.ParseException;
612

713
public class RefugeDobrochanChanPerformer extends VichanChanPerformer {
14+
@Override
15+
public ReadContentResult onReadContent(ReadContentData data) throws HttpException, InvalidResponseException {
16+
if (data.uri.toString().contains("/thumb/") && data.uri.toString().endsWith(".png")) {
17+
HttpResponse response = new HttpRequest(data.uri, data).setSuccessOnly(false).perform();
18+
if (response.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND)
19+
{
20+
Uri webpThumbUri = Uri.parse(data.uri.toString().replace(".png", ".webp"));
21+
return new ReadContentResult(new HttpRequest(webpThumbUri, data.direct).perform());
22+
}
23+
}
24+
return super.onReadContent(data);
25+
}
26+
827
@Override
928
protected void parseAntispamFields(String text, MultipartEntity entity) throws ParseException {
1029
RefugeDobrochanAntispamFieldsParser.parseAndApply(text, entity, "board", "thread", "name", "email",

0 commit comments

Comments
 (0)