DefinedNet / mobile_nebula

Brings nebula to mobile devices (iOS, Android)
https://defined.net
125 stars 37 forks source link

Can't connect on ChromeOS; connecting results in crash #80

Closed noseshimself closed 1 year ago

noseshimself commented 1 year ago

After setting up a connection using the Android client on ChromeOS the aApplication seems to be crashing and I'm getting a pop-up from my Android subsystem.

image

Rendered Config:

pki:
  ca: |
    -----BEGIN NEBULA CERTIFICATE-----
...
    -----END NEBULA CERTIFICATE-----
  cert: |
    -----BEGIN NEBULA CERTIFICATE-----
...
    -----END NEBULA CERTIFICATE-----
  key: <hidden>
  blacklist: []
static_host_map:
  172.31.247.254:
  - lighthouse.nebula.bnc.net:4246
lighthouse:
  am_lighthouse: false
  serve_dns: false
  dns:
    host: ""
    port: 0
  interval: 0
  hosts:
  - 172.31.247.254
listen:
  host: 0.0.0.0
  port: 0
  batch: 64
  read_buffer: 0
  write_buffer: 0
punchy:
  punch: true
  respond: false
  delay: 1s
cipher: aes
local_range: ""
sshd:
  enabled: false
  listen: ""
  host_key: ""
  authorized_users: []
tun:
  dev: tun1
  drop_local_broadcast: true
  drop_multicast: true
  tx_queue: 500
  mtu: 1300
  routes: []
  unsafe_routes: []
logging:
  level: info
  format: text
stats:
  type: ""
  interval: ""
  prefix: ""
  protocol: ""
  host: ""
  listen: ""
  path: ""
  namespace: ""
  subsystem: ""
handshakes:
  try_interval: 100ms
  retries: 20
  wait_rotation: 5
firewall:
  conntrack:
    tcp_timeout: 120h
    udp_timeout: 3m
    default_timeout: 10m
    max_connections: 100000
  outbound:
  - port: any
    proto: any
    host: any
  inbound: []
relays:
  use_relays: true

I can't deliver logs but the error message when trying to access logs might be a hint in itself:

image

I sent an Android Feedback report but other developers already told me that Google is not reliably forwarding them to developers... Neither can I export the Android Feedback Report except as screen shots:

image

image

Event log: image image

It might be a good idea to leave the user the choice of writing the logs to a location below /storage/emulated/0 for easier access during development, maybe marking that as "insecure mode".

johnmaguire commented 1 year ago

Hi @noseshimself - thanks for the report. I've merged a fix that will ship with the next release of mobile Nebula.

In the meantime I suspect that https://github.com/DefinedNet/mobile_nebula/releases/tag/v0.0.41 is the last version unaffected by this bug. It does use an older version of Nebula and lacks some features of the latest mobile app however.

noseshimself commented 1 year ago

I'm rather sorry that I can't provide more debugging output (the same thing that keeps me from installing an older apk -- as soon as I enable Android debugging (== adb access) I have to completely reset the machine to turn it off again. With a lot of Android applications that don't know how to save configurations either on GDrive or storing them there directly that's capital punishment.

This is also the reason why I was recommending finding a way to generate debug logs in a place an unprivileged user (running a local shell or TotalCommander) is permitted to access.