tomeshnet / prototype-cjdns-pi

Prototype system for mesh networks on single board computers
https://chat.tomesh.net/#/room/#software:tomesh.net
GNU General Public License v3.0
218 stars 42 forks source link

Node.js version bump to 10.x (TLS) #392

Closed darkdrgn2k closed 5 years ago

darkdrgn2k commented 5 years ago

Confirm working with

Close #387

makew0rld commented 5 years ago

I can test this on my RPi 3, and I can also test that the previous LTS works, since it is being used on 32-bit machines. Are you okay with that, or would you like testing on other hardware too? I don't feel like it's necessary but maybe there are unforseen differences in code.

The other issue is that the upgrade model can be changed here.

makew0rld commented 5 years ago

Patchfoo on Github has been deleted, as can be seen in this PR. I would be against using an old version through Github, if the devs have chosen to deprecate that then I don't think it should be used. I will not be testing it for this PR, and I've made #398 to discuss this further.

makew0rld commented 5 years ago

CJDNS

pi@tomesh-d15b:~ $ node --version
v10.15.3
pi@tomesh-d15b:~ $ nodejs --version
v10.15.3
pi@tomesh-d15b:~ $ sudo systemctl start cjdns
pi@tomesh-d15b:~ $ sudo systemctl status cjdns
● cjdns.service - cjdns: routing engine designed for security, scalability, speed and ease of use
   Loaded: loaded (/lib/systemd/system/cjdns.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-04-27 17:31:43 BST; 3s ago
  Process: 5973 ExecStartPost=/usr/local/sbin/cjdns-setup (code=exited, status=0/SUCCESS)
  Process: 5968 ExecStartPre=/sbin/ip -6 route add blackhole fc00::/8 metric 500 (code=exited, status=2)
  Process: 5964 ExecStartPre=/bin/sh -ec if ! test -s /etc/cjdroute.conf;                  then umask 077;                  /usr/bin/cjdroute --genconf > /etc/cjdroute.conf;                 
 Main PID: 5972 (cjdroute)
   CGroup: /system.slice/cjdns.service
           ├─5972 /usr/bin/cjdroute --nobg
           └─5978 /usr/bin/cjdroute core /tmp client-core-37t0d619385tsfbwzmrqfmh1l0f3nl

Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 INFO RandomSeed.c:50 Trying random seed [sysctl(RANDOM_UUID) (Linux)] Success
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 INFO RandomSeed.c:50 Trying random seed [/proc/sys/kernel/random/uuid (Linux)] Success
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 INFO RandomSeed.c:50 Trying random seed [getentropy(2)] Success
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 INFO RandomSeed.c:64 Seeding random number generator succeeded with [4] sources
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 INFO LibuvEntropyProvider.c:59 Taking clock samples every [1000]ms for random generator
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 DEBUG Core.c:361 Getting pre-configuration from client
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 DEBUG Pipe.c:231 Pipe [/tmp/cjdns_pipe_client-core-37t0d619385tsfbwzmrqfmh1l0f3nl] established connection
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 DEBUG Core.c:364 Finished getting pre-configuration from client
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 DEBUG UDPAddrIface.c:279 Binding to address [127.0.0.1:11234]
Apr 27 17:31:43 tomesh-d15b cjdroute[5972]: 1556382703 DEBUG UDPAddrIface.c:318 Bound to address [127.0.0.1:11234]
pi@tomesh-d15b:~ $ yrd n -i
fc6e:691e:dfaa:b992:a10a:7b49:5a1a:5e09 0000.0000.0000.0015  v20  in   14kb/s out    6kb/s   ESTABLISHED  0/6/0  'node2.e-mesh.net'
fcaa:5785:a537:90db:6513:bba9:87a0:12a7 0000.0000.0000.0013  v20  in    4kb/s out    2kb/s   ESTABLISHED  0/0/0  'groundupworks.com'

SSB on its own

pi@tomesh-d15b:~ $ ssb-server start
ssb-server 14.1.12 /home/pi/.ssb logging.level:notice
my key ID: GvPzVp/+gBIyrHyFDqjNZFslUwaXT/DC+3Dq1k+ig9Q=.ed25519
WARNING-DEPRECATION: ssb-links not installed as a plugin. If you are using git-ssb, ssb-npm or patchfoo please consider installing it
ssb-friends: stream legacy api used
Trace: deprecated api used: ssb-ref.parseAddress** ()
    at Object.parseAddress (/usr/lib/node_modules/ssb-server/node_modules/ssb-ref/index.js:96:15)
    at Socket.<anonymous> (/usr/lib/node_modules/ssb-server/plugins/local.js:55:22)
    at Socket.emit (events.js:189:13)
    at Socket.<anonymous> (/usr/lib/node_modules/ssb-server/node_modules/broadcast-stream/index.js:51:12)
    at Socket.emit (events.js:189:13)
    at UDP.onMessage [as onmessage] (dgram.js:628:8)

SSB Web Pi I was able to create an account, but encountered this error when posting: Screenshot_2019-04-27 Untitled Document

pi@tomesh-d15b:~ $ ssb-server log
{
  "key": "%zX3bnx/pBKDAZMulFgLHS/bMrZZyduESItFM/CaWj8g=.sha256",
  "value": {
    "previous": null,
    "author": "@gAWo/Rz5U9xq03V798LBYo89RVJsDkW4RC/+pBl8IVE=.ed25519",
    "sequence": 1,
    "timestamp": 1556383819429,
    "hash": "sha256",
    "content": {
      "type": "post",
      "text": "testing"
    },
    "signature": "82xTPVCt+/PfI7UV1xDHSePqVRgDfYm6RCdx+a9p4cYRIoSzGKWTzF0237hREhCJ3KHly8Y8ISXJo59BxbZbCQ==.sig.ed25519"
  },
  "timestamp": 1556383819490
}

I am unsure why this error occured, and whether the new NodeJS version is really the problem. I will reflash and test this again, just in case, and if it still occurs I will downgrade to NodeJS 6 or whatever and try that too.

darkdrgn2k commented 5 years ago

SSB Web Pi has been updated to work correctly. Issue identified not related to node.js version but ssb version

makew0rld commented 5 years ago

Can this be merged then? Or is Patchfoo testing still needed?

darkdrgn2k commented 5 years ago

You can merge if you want.

no block here