Giter Club home page Giter Club logo

fwdportforwardingapp's People

Contributors

niallmcs avatar odonnellc avatar pegasign avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fwdportforwardingapp's Issues

Problem with game servers

web server ports 8080 works, but other ones like 27015, 15567 just cant connect. No multiple port uses, so mby you have suggestion.

Crash when quickly starting then stopping 2000 rules

07-18 23:58:03.815 27697-28123/? I/ForwardingService: Found the relevant Interface. Will attempt to fetch IP Address
07-18 23:58:03.825 27697-27697/? I/MainActivity: Forwarding Enabled: true
07-18 23:58:03.827 27697-28126/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.828 27697-28151/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.829 27697-28135/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.829 27697-28146/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.829 27697-28132/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.830 27697-28140/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.830 27697-28128/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.830 27697-28142/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.830 27697-28150/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.831 27697-28141/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.832 27697-28145/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.832 27697-28123/? D/ForwardingService: dummy0 vs lo
07-18 23:58:03.832 27697-28123/? D/ForwardingService: p2p0 vs lo
07-18 23:58:03.833 27697-28123/? D/ForwardingService: usb0 vs lo
07-18 23:58:03.833 27697-28123/? D/ForwardingService: sit0 vs lo
07-18 23:58:03.833 27697-28123/? D/ForwardingService: lo vs lo
07-18 23:58:03.833 27697-28123/? I/ForwardingService: Found the relevant Interface. Will attempt to fetch IP Address
07-18 23:58:03.833 27697-28137/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.834 27697-28133/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.834 27697-28153/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.835 27697-28130/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.835 27697-28154/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.836 27697-28124/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.836 285-625/? D/audio_hw_primary: out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
07-18 23:58:03.836 285-625/? V/msm8916_platform: platform_get_output_snd_device: enter: output devices(0x2)
07-18 23:58:03.836 285-625/? V/msm8916_platform: platform_get_output_snd_device: exit: snd_device(speaker)
07-18 23:58:03.836 27697-28152/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.836 27697-28139/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.837 27697-28131/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.837 27697-28143/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.837 27697-28147/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.837 27697-28134/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.838 27697-28129/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.838 27697-28149/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.838 27697-28138/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.838 27697-28136/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.838 27697-28148/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.839 27697-28127/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.839 27697-28125/? I/TcpForwarder: TCP Thread interrupted, will perform cleanup
07-18 23:58:03.847 27697-27697/? I/ForwardingService: Ended the ForwardingService. Cleanup finished.
07-18 23:58:03.858 27697-27697/? I/MainActivity: Response from ForwardingService, Forwarding status has changed.
07-18 23:58:03.860 27697-27697/? I/MainActivity: Forwarding status has changed to false
07-18 23:58:03.884 27697-28123/? E/AndroidRuntime: FATAL EXCEPTION: IntentService[ForwardingService]
                                                   Process: com.elixsr.portforwarder, PID: 27697
                                                   java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ExecutorCompletionService$QueueingFuture@53a4c74 rejected from java.util.concurrent.ThreadPoolExecutor@2d6159d[Terminated, pool size = 17, active threads = 0, queued tasks = 0, completed tasks = 30]
                                                       at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2014)
                                                       at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:794)
                                                       at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1340)
                                                       at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:152)
                                                       at com.elixsr.portforwarder.forwarding.ForwardingService.onHandleIntent(ForwardingService.java:198)
                                                       at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:148)
                                                       at android.os.HandlerThread.run(HandlerThread.java:61)
07-18 23:58:03.888 2216-4073/? W/ActivityManager:   Force finishing activity com.elixsr.portforwarder/.ui.MainActivity
07-18 23:58:03.889 2216-4073/? I/ActivityManager: moveHomeStack, setupComplete:true
07-18 23:58:04.027 2216-3295/? I/OpenGLRenderer: Initialized EGL, version 1.4```

Start forwarding on app startup

First, thanks for this amazing app!
Is it possible to start the port forwarding on Android startup or on the app startup? It could be an option in the settings.
It would be really helpful!

Unable to forward locally connected RPi port

I run a web server on my RPi using docker. It works on local connection using the local ip.
I use rule as
protocol: Both
From: rmnet0, port : 2280
Target: , port: 80

but I'm not able to see my webssite on the public ip

please help me out

Crash when quickly starting and stopping 1000 rules

08-18 19:42:26.496 2191-6187/? D/NetlinkSocketObserver: NeighborEvent{elapsedMs=5001910, 192.168.0.1, [400D108BFBD0], RTM_NEWNEIGH, NUD_STALE}
08-18 19:42:26.567 2191-2194/? I/art: Wrote stack traces to '/data/anr/traces.txt'
08-18 19:42:26.581 2191-2205/? E/ActivityManager: ANR in com.elixsr.portforwarder (com.elixsr.portforwarder/.ui.MainActivity)
                                                  PID: 32597
                                                  Reason: Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 14.  Wait queue head age: 5306.9ms.)
                                                  Load: 8.17 / 6.58 / 5.86
                                                  CPU usage from 181199ms to 0ms ago:
                                                    70% 5101/perfd: 53% user + 17% kernel / faults: 1375 minor
                                                    67% 2191/system_server: 26% user + 41% kernel / faults: 18660 minor 80 major
                                                    13% 206/logd: 13% user + 0.3% kernel / faults: 503 minor
                                                    11% 26674/com.google.android.apps.docs: 10% user + 1.2% kernel / faults: 63035 minor 166 major
                                                    3.1% 253/surfaceflinger: 1.7% user + 1.4% kernel / faults: 811 minor
                                                    3.1% 4490/com.google.android.gms: 2.3% user + 0.7% kernel / faults: 19590 minor 84 major
                                                    2.3% 4266/com.google.android.gms.persistent: 1.8% user + 0.5% kernel / faults: 17611 minor 61 major
                                                    2.1% 496/adbd: 0.4% user + 1.7% kernel / faults: 17 minor
                                                    1.6% 4034/com.google.android.googlequicksearchbox: 1.4% user + 0.2% kernel / faults: 9975 minor 371 major
                                                    1.2% 32372/com.google.android.googlequicksearchbox:search: 1% user + 0.1% kernel / faults: 28859 minor 43 major
                                                    0.5% 294/mediaserver: 0.2% user + 0.2% kernel / faults: 458 minor 2 major
                                                    0.5% 169/mmcqd/0: 0% user + 0.5% kernel
                                                    0.4% 4972/logcat: 0.1% user + 0.2% kernel / faults: 50 minor
                                                    0.3% 3333/com.android.systemui: 0.2% user + 0.1% kernel / faults: 4886 minor 7 major
                                                    0.3% 88/kswapd0: 0% user + 0.3% kernel
                                                    0.3% 26627/com.android.documentsui: 0.2% user + 0% kernel / faults: 4778 minor 1 major
                                                    0.2% 22516/mdss_fb0: 0% user + 0.2% kernel
                                                    0.1% 252/servicemanager: 0% user + 0.1% kernel / faults: 67 minor
                                                    0.1% 143/cfinteractive: 0% user + 0.1% kernel
                                                    0.1% 32340/kworker/0:0: 0% user + 0.1% kernel
                                                    0.1% 8/rcu_preempt: 0% user + 0.1% kernel
                                                    0.1% 114/hwrng: 0% user + 0.1% kernel
                                                    0.1% 22518/irq/326-synapti: 0% user + 0.1% kernel
                                                    0% 3/ksoftirqd/0: 0% user + 0% kernel
                                                    0% 16/ksoftirqd/2: 0% user + 0% kernel
                                                    0% 20/ksoftirqd/3: 0% user + 0% kernel
                                                    0% 129/spi0: 0% user + 0% kernel
                                                    0% 4021/com.android.phone: 0% user + 0% kernel / faults: 1694 minor 6 major
                                                    0% 5339/com.motorola.motocare: 0% user + 0% kernel / faults: 1872 minor 23 major
                                                    0% 12/ksoftirqd/1: 0% user + 0% kernel
                                                    0% 31597/kworker/u8:13: 0% user + 0% kernel
                                                    0% 21151/kworker/0:1: 0% user + 0% kernel
                                                    0% 22188/kworker/2:0: 0% user + 0% kernel
                                                    0% 30500/kworker/u8:6: 0% user + 0% kernel
                                                    0% 32/kworker/u9:0: 0% user + 0% kernel
                                                    0% 3314/wpa_supplicant: 0% user + 0% kernel / faults: 144 minor
                                                    0% 22396/kworker/1:2: 0% user + 0% kernel
                                                    0% 704/kworker/3:2: 0% user + 0% kernel
                                                    0% 4200/com.google.process.gapps: 0% user + 0% kernel / faults: 1657 minor 4 major
                                                    0% 26891/kworker/u8:3: 0% user + 0% kernel
                                                    0% 3312/VosRXThread: 0% user + 0% kernel
                                                    0% 54/system: 0% user + 0% kernel
                                                    0% 3310/VosMCThread: 0% user + 0% kernel
                                                    0% 3311/VosTXThread: 0% user + 0% kernel
                                                    0% 3907/com.google.android.inputmethod.latin: 0% user + 0% kernel / faults: 704 minor
                                                    0% 22536/kworker/u8:10: 0% user + 0% kernel
                                                    0% 30502/kworker/u8:8: 0% user + 0% kernel
                                                    0% 30504/kworker/u8:11: 0% user + 0% kernel
                                                    0% 1//init: 0% user + 0% kernel / faults: 471 minor
                                                    0% 52/kworker/0:1H: 0% user + 0% kernel
                                                    0% 30497/kworker/u8:2: 0% user + 0% kernel
                                                    0% 6/kworker/u8:0: 0% user + 0% kernel
                                                    0% 251/lmkd: 0% user + 0% kernel / faults: 33 minor
                                                    0% 307/zygote: 0% user + 0% kernel / faults: 5100 minor
                                                    0% 22379/kworker/u8:1: 0% user + 0% kernel
                                                    0% 26614/android:ui: 0% user + 0% kernel / faults: 2000 minor
                                                    0% 30499/kworker/u8:5: 0% user + 0% kernel
                                                    0% 3393/android.process.media: 0% user + 0% kernel / faults: 1795 minor
                                                    0% 282/netd: 0% user + 0% kernel / faults: 174 minor 1 major
                                                    0% 285/rild: 0% user + 0% kernel / faults: 287 minor
                                                    0% 416/qmuxd: 0% user + 0% kernel / faults: 97 minor
                                                    0% 4005/com.motorola.process.system: 0% user + 0% kernel / faults: 652 minor
                                                    0% 30503/kworker/u8:9: 0% user + 0% kernel
                                                    0% 195/f
08-18 19:42:26.660 2191-1564/? W/DropBoxManagerService: Dropping: data_app_anr (10 > 0 bytes)
08-18 19:42:26.767 2191-28280/? I/OpenGLRenderer: Initialized EGL, version 1.4
08-18 19:42:26.821 2191-2200/? I/art: Background sticky concurrent mark sweep GC freed 90094(5MB) AllocSpace `

Not working

This apps only worked once (or better say, "random")... Now always says "Could not bind port XXXX for tcp rule XXXX"... any ideas?

Android: 7.1.2

Feature Suggestion: Web Interface

I used FWD on a phone tethered to my router, it would be great to be able to add and remove forwarded ports via a web interface rather than only on the phone screen.

Root support missing

I am using an Apache web server in Termux on port 8080. My device is rooted and I want to forward port 80 to 8080 so my device can be accessed by port 80 (or any below 1024, e.g. 443) without running Apache as root (insecure).

It appeared however that Fwd does not support to allow ports < 1024. Can that be supported ?

Crash when importing rule with invalid target IP address "1000.0.00"

08-18 19:26:25.472 6263-6263/? E/UncaughtException: java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=-1, data=Intent { act=android.intent.action.VIEW dat=content://com.google.android.apps.docs.storage.legacy/enc=dKw0p6lN989gqy1pZq6Rcif-r8e0qxtoKPhcVspqh6l0Mh1M
                                                     (has extras) }} to activity {com.elixsr.portforwarder/com.elixsr.portforwarder.ui.preferences.SettingsActivity}: android.os.NetworkOnMainThreadException
                                                        at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
                                                        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763)
                                                        at android.app.ActivityThread.-wrap16(ActivityThread.java)
                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403)
                                                        at android.os.Handler.dispatchMessage(Handler.java:102)
                                                        at android.os.Looper.loop(Looper.java:148)
                                                        at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                     Caused by: android.os.NetworkOnMainThreadException
                                                        at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1287)
                                                        at java.net.InetAddress.lookupHostByName(InetAddress.java:431)
                                                        at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
                                                        at java.net.InetAddress.getByName(InetAddress.java:305)
                                                        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:100)
                                                        at java.net.InetSocketAddress.<init>(InetSocketAddress.java:85)
                                                        at com.elixsr.portforwarder.adapters.RuleListTargetJsonDeserializer.deserialize(RuleListTargetJsonDeserializer.java:26)
                                                        at com.elixsr.portforwarder.adapters.RuleListTargetJsonDeserializer.deserialize(RuleListTargetJsonDeserializer.java:16)
                                                        at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
                                                        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129)
                                                        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220)
                                                        at com.google.gson.Gson.fromJson(Gson.java:887)`

Crash when backing out of import rules

When using hardware back button

07-18 20:27:29.267 9017-9017/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.elixsr.portforwarder, PID: 9017
                                                 java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=0, data=null} to activity {com.elixsr.portforwarder/com.elixsr.portforwarder.ui.preferences.SettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
                                                     at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
                                                     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763)
                                                     at android.app.ActivityThread.-wrap16(ActivityThread.java)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:148)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
                                                     at com.elixsr.portforwarder.ui.preferences.SettingsFragment.onActivityResult(SettingsFragment.java:340)
                                                     at android.app.Activity.dispatchActivityResult(Activity.java:6466)```

This app is not compatible with any of my devices.

Hello. I'd like to try your app but Google's Play Store says:

This app is not available for any of your devices

This is surprising since my history of devices connected to this account is not narrow. I wonder what it takes for a device to be compatible. Can you clarify?

Thanks!

Publish on F-Droid

Hi,

Thanks for the app!

It would be great if this app was available on F-Droid as well for those who prefer it as an app store 🤟

Running Service

Hi!

can you keep forwarding service running even when the app is completely closed?

android 7.0

Using adb shell commands for port forwarding

Hey,
I'm using your app which is great!
But, I want to perform port forwarding through a pc which is connected to my android device via adb connect, I want to write some script which will automatically perform port forwarding given a known target, protocol, ports and etc.

  1. How can I do it? maybe modify your app, maybe using adb shell commands?

Basically I have a device which is connected via usb to my android and I want to ssh to it so I need to do port forward to it.

  1. How do I search for the IP of my tethered device via adb?

Apache can't listen

I have made a localhost Apache server on port 8080, and i forwarded it on public IP with port 8080, no problem while setup, but when i want to access it from browser, http://public_ip:8080
It doesn't show content, site work perfectly on localhost

When importing rules and they're valid until ran (e.g rm_nett), all rules beyond do not seem to get run

08-18 19:59:46.212 3240-6088/com.elixsr.portforwarder D/ForwardingService: lo vs wlan0
08-18 19:59:46.727 4074-4074/? W/Binder_7: type=1400 audit(0.0:1342): avc: denied { ioctl } for uid=1000 path="socket:[487543]" dev="sockfs" ino=487543 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=unix_stream_socket permissive=0
08-18 19:59:48.717 6507-6507/? W/Binder_F: type=1400 audit(0.0:1343): avc: denied { ioctl } for uid=1000 path="socket:[491731]" dev="sockfs" ino=491731 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=unix_stream_socket permissive=0
08-18 19:59:48.727 6507-6507/? W/Binder_F: type=1400 audit(0.0:1344): avc: denied { ioctl } for uid=1000 path="socket:[491731]" dev="sockfs" ino=491731 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=unix_stream_socket permissive=0
08-18 19:59:57.356 2191-6187/? D/NetlinkSocketObserver: NeighborEvent{elapsedMs=6052770, 192.168.0.1, [400D108BFBD0], RTM_NEWNEIGH, NUD_STALE}
08-18 19:59:57.452 3430-3467/? D/SLPC: slpc_poll_loop(): handled 1
08-18 19:59:57.452 3430-3467/? D/SLPC: slpc_poll_handle_event(): transition
08-18 19:59:57.453 3430-3467/? D/SLPC: slpc_poll_loop(): about to poll...
08-18 19:59:57.453 3430-3467/? D/sensorhub: sensorhub_poll() polling...
08-18 19:59:57.454 3430-3430/? D/ModalityService: ModalityListener(): callback onModalityChange() -> 2
08-18 19:59:57.454 2191-6249/? D/ModalityManager: onEndMovement(), package: android
08-18 19:59:57.454 2191-2191/? D/MotWifiScanMovementListener: MovementListener onEndMovement`

Crash when exporting on API 26

04-07 17:56:19.460 5086-5086/com.elixsr.portforwarder W/Ads: The webview is destroyed. Ignoring action. 04-07 17:56:20.014 5086-5086/com.elixsr.portforwarder E/AndroidRuntime: FATAL EXCEPTION: main Process: com.elixsr.portforwarder, PID: 5086 android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.elixsr.portforwarder/cache/fwd_rule_list3598144147339057752.json exposed beyond app through ClipData.Item.getUri() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958) at android.net.Uri.checkFileUriExposed(Uri.java:2356) at android.content.ClipData.prepareToLeaveProcess(ClipData.java:941) at android.content.Intent.prepareToLeaveProcess(Intent.java:9735) at android.content.Intent.prepareToLeaveProcess(Intent.java:9741) at android.content.Intent.prepareToLeaveProcess(Intent.java:9720) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1742) at android.app.Activity.startActivityForResult(Activity.java:5153) at android.app.Activity.startActivityFromFragment(Activity.java:5129) at android.app.Activity$HostCallbacks.onStartActivityFromFragment(Activity.java:7602) at android.app.Fragment.startActivity(Fragment.java:1179) at android.app.Fragment.startActivity(Fragment.java:1158) at com.elixsr.portforwarder.ui.preferences.SettingsFragment.exportRules(SettingsFragment.java:325) at com.elixsr.portforwarder.ui.preferences.SettingsFragment.access$400(SettingsFragment.java:72) at com.elixsr.portforwarder.ui.preferences.SettingsFragment$4.onPreferenceClick(SettingsFragment.java:206) at android.preference.Preference.performClick(Preference.java:1136) at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:249) at android.widget.AdapterView.performItemClick(AdapterView.java:318) at android.widget.AbsListView.performItemClick(AbsListView.java:1165) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3134) at android.widget.AbsListView$3.run(AbsListView.java:4049) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 04-07 17:56:20.118 1406-5140/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 1004859 , only wrote 1002240 04-07 17:56:20.122 1406-5140/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 1002384 , only wrote 1002240 04-07 17:56:20.133 5086-5086/com.elixsr.portforwarder E/UncaughtException: android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.elixsr.portforwarder/cache/fwd_rule_list3598144147339057752.json exposed beyond app through ClipData.Item.getUri() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1958) at android.net.Uri.checkFileUriExposed(Uri.java:2356) at android.content.ClipData.prepareToLeaveProcess(ClipData.java:941) at android.content.Intent.prepareToLeaveProcess(Intent.java:9735) at android.content.Intent.prepareToLeaveProcess(Intent.java:9741) at android.content.Intent.prepareToLeaveProcess(Intent.java:9720) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1742) at android.app.Activity.startActivityForResult(Activity.java:5153) at android.app.Activity.startActivityFromFragment(Activity.java:5129) at android.app.Activity$HostCallbacks.onStartActivityFromFragment(Activity.java:7602) at android.app.Fragment.startActivity(Fragment.java:1179) at android.app.Fragment.startActivity(Fragment.java:1158) at com.elixsr.portforwarder.ui.preferences.SettingsFragment.exportRules(SettingsFragment.java:325) at com.elixsr.portforwarder.ui.preferences.SettingsFragment.access$400(SettingsFragment.java:72) at com.elixsr.portforwarder.ui.preferences.SettingsFragment$4.onPreferenceClick(SettingsFragment.java:206) at android.preference.Preference.performClick(Preference.java:1136) at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:249) at android.widget.AdapterView.performItemClick(AdapterView.java:318) at android.widget.AbsListView.performItemClick(AbsListView.java:1165) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3134) at android.widget.AbsListView$3.run(AbsListView.java:4049) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 04-07 17:56:20.377 5086-5635/com.elixsr.portforwarder I/FirebaseCrash: Sending crashes 04-07 17:56:20.384 1732-2469/system_process W/ActivityManager: Force finishing activity c

Crash when importing json with broken syntax/missing half a rule object

07-23 20:08:24.836 8776-8776/com.elixsr.portforwarder E/AndroidRuntime: FATAL EXCEPTION: main
                                                                        Process: com.elixsr.portforwarder, PID: 8776
                                                                        java.lang.RuntimeException: Failure delivering result ResultInfo{who=android:fragment:0, request=1, result=-1, data=Intent { dat=content://com.google.android.apps.docs.storage/document/acc=6;doc=11404 flg=0x1 }} to activity {com.elixsr.portforwarder/com.elixsr.portforwarder.ui.preferences.SettingsActivity}: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 85 path $[0].isTcp
                                                                            at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
                                                                            at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763)
                                                                            at android.app.ActivityThread.-wrap16(ActivityThread.java)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:148)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                                         Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 85 path $[0].isTcp
                                                                            at com.google.gson.Gson.fromJson(Gson.java:902)
                                                                            at com.elixsr.portforwarder.ui.preferences.SettingsFragment.onActivityResult(SettingsFragment.java:346)
                                                                            at android.app.Activity.dispatchActivityResult(Activity.java:6466)
                                                                            at android.app.ActivityThread.deliverResults(ActivityThread.java:3716)
                                                                            at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763at android.app.ActivityThread.-wrap16(ActivityThread.javaat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403at android.os.Handler.dispatchMessage(Handler.java:102at android.os.Looper.loop(Looper.java:148at android.app.ActivityThread.main(ActivityThread.java:5443at java.lang.reflect.Method.invoke(Native Methodat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 85 path $[0].isTcp
                                                                            at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1559)
                                                                            at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1017)
                                                                            at com.google.gson.stream.JsonReader.nextName(JsonReader.java:787)
                                                                            at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215)
                                                                            at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
                                                                            at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
                                                                            at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
                                                                            at com.google.gson.Gson.fromJson(Gson.java:887)
                                                                            at com.elixsr.portforwarder.ui.preferences.SettingsFragment.onActivityResult(SettingsFragment.java:346at android.app.Activity.dispatchActivityResult(Activity.java:6466at android.app.ActivityThread.deliverResults(ActivityThread.java:3716at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763at android.app.ActivityThread.-wrap16(ActivityThread.javaat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403at android.os.Handler.dispatchMessage(Handler.java:102at android.os.Looper.loop(Looper.java:148at android.app.ActivityThread.main(ActivityThread.java:5443at java.lang.reflect.Method.invoke(Native Methodat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618

Feature Suggestion: DMZ

Hi, I'd like to be able to forward all unused ports to a tethered device IP (i.e a DMZ). This would be very useful in permanent installations where a phone is being used as the primary internet connection for a dwelling, tethered to a Linux or FreeBSD router.

Permission denied when using broadcast address

I wan to rout UDP packets coming on port X to the broadcast address of my LAN. I can setup the rul and start the service, but when a packet arrives the service stops saying "permission denied". This should not requrie any kind of root permissions, so I do not understand why Fwd is not able to to the forwarding.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.