hack gitcode

This commit is contained in:
FongMi 2023-10-19 00:41:23 +08:00
parent b194e6c4a0
commit 37f73b5d04
4 changed files with 54 additions and 2 deletions

View File

@ -101,6 +101,6 @@ public class OkHttp {
} }
public static OkHttpClient.Builder getBuilder() { public static OkHttpClient.Builder getBuilder() {
return new OkHttpClient.Builder().dns(dns()).connectTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).hostnameVerifier(SSLCompat.VERIFIER).sslSocketFactory(new SSLCompat(), SSLCompat.TM); return new OkHttpClient.Builder().addInterceptor(new OkhttpInterceptor()).dns(dns()).connectTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).hostnameVerifier(SSLCompat.VERIFIER).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
} }
} }

View File

@ -0,0 +1,52 @@
package com.github.catvod.net;
import com.github.catvod.utils.Utils;
import com.google.common.net.HttpHeaders;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.io.IOException;
import java.util.zip.Inflater;
import java.util.zip.InflaterInputStream;
import okhttp3.Interceptor;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okio.BufferedSource;
import okio.Okio;
public class OkhttpInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Response response = chain.proceed(getRequest(chain));
String encoding = response.header(HttpHeaders.CONTENT_ENCODING);
if (response.body() == null || encoding == null || !encoding.equals("deflate")) return response;
InflaterInputStream is = new InflaterInputStream(response.body().byteStream(), new Inflater(true));
return response.newBuilder().headers(response.headers()).body(new ResponseBody() {
@Override
public MediaType contentType() {
return response.body().contentType();
}
@Override
public long contentLength() {
return response.body().contentLength();
}
@NonNull
@Override
public BufferedSource source() {
return Okio.buffer(Okio.source(is));
}
}).build();
}
private Request getRequest(@NonNull Chain chain) {
Request request = chain.request();
if (request.url().host().equals("gitcode.net")) return request.newBuilder().addHeader(HttpHeaders.USER_AGENT, Utils.CHROME).build();
return request;
}
}

Binary file not shown.

View File

@ -1 +1 @@
8a9d215c9f79d7e5ce9e223b40ed81e8 e7ecd94c00583729f5ee1a87370573ef