Youtube禁止我国的IP地址,我们无法访问Youtube。
我尝试更改开源的Skytube,以便在没有外部VPN或代理应用程序的情况下访问Youtube。
我打算在另一个国家租用一台服务器来创建OpenVPN或PPTP VPN。
我可以创建一个仅将我的youtube流量隧道到VPN的内部应用VPN吗?怎样?
或者我必须通过NetHttpTransport添加一个代理java类?我是怎么做到的?
这是在Skytube中初始化Youtube连接的方法:
public static YouTube create() {
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = AndroidJsonFactory.getDefaultInstance();
return new YouTube.Builder(httpTransport, jsonFactory, new HttpRequestInitializer() {
private String getSha1() {
String sha1 = null;
try {
Signature[] signatures = SkyTubeApp.getContext().getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID, PackageManager.GET_SIGNATURES).signatures;
for (Signature signature: signatures) {
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(signature.toByteArray());
sha1 = BaseEncoding.base16().encode(md.digest());
}
} catch (Throwable tr) {
Logger.e(this, "...", tr);
}
return sha1;
}
@Override
public void initialize(HttpRequest request) throws IOException {
request.getHeaders().set("X-Android-Package", BuildConfig.APPLICATION_ID);
request.getHeaders().set("X-Android-Cert", getSha1());
}
}).setApplicationName("+").build();
}