|
|
|
|
@ -4,9 +4,11 @@ import android.annotation.SuppressLint; |
|
|
|
|
import android.content.Context; |
|
|
|
|
import android.net.wifi.WifiManager; |
|
|
|
|
import android.os.Environment; |
|
|
|
|
import android.util.Base64; |
|
|
|
|
|
|
|
|
|
import com.github.tvbox.osc.R; |
|
|
|
|
import com.github.tvbox.osc.api.ApiConfig; |
|
|
|
|
import com.github.tvbox.osc.event.RefreshEvent; |
|
|
|
|
import com.github.tvbox.osc.event.ServerEvent; |
|
|
|
|
import com.github.tvbox.osc.util.FileUtils; |
|
|
|
|
import com.github.tvbox.osc.util.OkGoHelper; |
|
|
|
|
@ -22,10 +24,13 @@ import java.io.FileInputStream; |
|
|
|
|
import java.io.FileOutputStream; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.io.InputStream; |
|
|
|
|
import java.io.UnsupportedEncodingException; |
|
|
|
|
import java.net.Inet4Address; |
|
|
|
|
import java.net.InetAddress; |
|
|
|
|
import java.net.NetworkInterface; |
|
|
|
|
import java.net.SocketException; |
|
|
|
|
import java.net.URLDecoder; |
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Arrays; |
|
|
|
|
@ -148,7 +153,20 @@ public class RemoteServer extends NanoHTTPD { |
|
|
|
|
rs = new byte[0]; |
|
|
|
|
} |
|
|
|
|
return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, "application/dns-message", new ByteArrayInputStream(rs), rs.length); |
|
|
|
|
} |
|
|
|
|
} else if (fileName.startsWith("/push/")) { |
|
|
|
|
String url = fileName.substring(6); |
|
|
|
|
if (url.startsWith("b64:")) { |
|
|
|
|
try { |
|
|
|
|
url = new String(Base64.decode(url.substring(4), Base64.DEFAULT | Base64.URL_SAFE | Base64.NO_WRAP), "UTF-8"); |
|
|
|
|
} catch (UnsupportedEncodingException e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
url = URLDecoder.decode(url); |
|
|
|
|
} |
|
|
|
|
EventBus.getDefault().post(new RefreshEvent(RefreshEvent.TYPE_PUSH_URL, url)); |
|
|
|
|
return NanoHTTPD.newFixedLengthResponse(NanoHTTPD.Response.Status.OK, NanoHTTPD.MIME_PLAINTEXT, "ok"); |
|
|
|
|
} |
|
|
|
|
} else if (session.getMethod() == Method.POST) { |
|
|
|
|
Map<String, String> files = new HashMap<String, String>(); |
|
|
|
|
try { |
|
|
|
|
|