crossbario / crossbar-examples Goto Github PK
View Code? Open in Web Editor NEWCrossbar.io Examples
License: Apache License 2.0
Crossbar.io Examples
License: Apache License 2.0
A nice use case for the HTTP bridge: trigger Jenkins from WAMP events. Add an example for this. Depending on Jenkins HTTP API, maybe that will require more options in the HTTP bridge of CB, but that shouldn't be a problem.
Migrated from : https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
Hi,
I am able to successfully run a crossbar node. Then, I want to start a client which is not on the same machine as Django and crossbar node, and I got the AssertionError as follows:
(The monitor.py
is the same as client.py
)
ubuntu@some-ip:~/wamp_monitor$ python monitor.py
Traceback (most recent call last):
File "monitor.py", line 143, in <module>
app.run(url="ws://%s:80/ws" % SERVER, debug=False, debug_wamp=False)
File "/usr/local/lib/python2.7/dist-packages/autobahn/twisted/wamp.py", line 381, in run
debug=debug, debug_wamp=debug_wamp, debug_app=debug_app)
File "/usr/local/lib/python2.7/dist-packages/autobahn/twisted/wamp.py", line 134, in __init__
assert(type(url) == six.text_type)
AssertionError
Any suggestion?
Thanks
I'm getting this response from the rest callee example.
{"args":["no callee registered for procedure 'com.myapp.rest'"],"error":"wamp.error.no_such_procedure"}
Something changed on Crossbar?
problems when trying the slider-demo on android:
symptoms: slider goes to 100% on first press, in some cases I was able to point the slider(only master volume) to specific values but mostly the behaviour was unpredictable or nothing happened.
As im looking to implement this on mobile-devices I got a little concerned.
running on:
android 6.0.1
chrome 53.0.2785
2015-05-13 11:56:06+0800 [Controller 5214] Crossbar.io 0.10.4 starting
2015-05-13 11:56:06+0800 [Controller 5214] Running on CPython using EPollReactor reactor
2015-05-13 11:56:06+0800 [Controller 5214] Starting from node directory /home/moxlotus/Documents/realtimemonitor/.crossbar
2015-05-13 11:56:06+0800 [Controller 5214] Starting from local configuration '/home/moxlotus/Documents/realtimemonitor/.crossbar/config.json'
2015-05-13 11:56:06+0800 [Controller 5214] Traceback (most recent call last):
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/bin/crossbar", line 9, in
2015-05-13 11:56:06+0800 [Controller 5214] load_entry_point('crossbar==0.10.4', 'console_scripts', 'crossbar')()
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/cli.py", line 665, in run
2015-05-13 11:56:06+0800 [Controller 5214] options.func(options)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/cli.py", line 404, in run_command_start
2015-05-13 11:56:06+0800 [Controller 5214] node.start()
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/node.py", line 108, in start
2015-05-13 11:56:06+0800 [Controller 5214] config = check_config_file(configfile, silence=True)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1876, in check_config_file
2015-05-13 11:56:06+0800 [Controller 5214] check_config(config, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1850, in check_config
2015-05-13 11:56:06+0800 [Controller 5214] check_worker(worker, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1754, in check_worker
2015-05-13 11:56:06+0800 [Controller 5214] check_router(worker, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1499, in check_router
2015-05-13 11:56:06+0800 [Controller 5214] check_router_transport(transport, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1253, in check_router_transport
2015-05-13 11:56:06+0800 [Controller 5214] check_listening_transport_web(transport)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 871, in check_listening_transport_web
2015-05-13 11:56:06+0800 [Controller 5214] check_paths(paths)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 926, in check_paths
2015-05-13 11:56:06+0800 [Controller 5214] check_web_path_service(p, paths[p], nested)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 822, in check_web_path_service
2015-05-13 11:56:06+0800 [Controller 5214] raise Exception("invalid type '{}' for sub-path service in Web transport path service '{}' configuration\n\n{}".format(ptype, path, config))
2015-05-13 11:56:06+0800 [Controller 5214] Exception: invalid type 'pusher' for sub-path service in Web transport path service 'notify' configuration
2015-05-13 11:56:06+0800 [Controller 5214]
2015-05-13 11:56:06+0800 [Controller 5214] {u'realm': u'realm1', u'role': u'anonymous', u'type': u'pusher'}
How can this be solved?
root@ubuntu:/home/adel/crosstest/static# crossbar start
2016-02-25T03:00:13-0800 [Controller 14190] Automatically choosing optimal Twisted reactor
2016-02-25T03:00:13-0800 [Controller 14190] Running on Linux and optimal reactor (epoll) was installed.
2016-02-25T03:00:13-0800 [Controller 14190] Stale Crossbar.io PID file (pointing to non-existing process with PID 14181) /home/adel/crosstest/static/.crossbar/node.pid removed
2016-02-25T03:00:13-0800 [Controller 14190] __ __ __ __ __ __ __ __
2016-02-25T03:00:13-0800 [Controller 14190] / |__)/ \/__
/`|) /\ |) |/
2016-02-25T03:00:13-0800 [Controller 14190] *,| */././|)/~~| . |__/
2016-02-25T03:00:13-0800 [Controller 14190]
2016-02-25T03:00:13-0800 [Controller 14190] Version: 0.11.2
2016-02-25T03:00:13-0800 [Controller 14190]
2016-02-25T03:00:13-0800 [Controller 14190] Starting from node directory /home/adel/crosstest/static/.crossbar
2016-02-25T03:00:14-0800 [Controller 14190] Loading node configuration file '/home/adel/crosstest/static/.crossbar/config.json
2016-02-25T03:00:14-0800 [Controller 14190] *** Configuration validation failed ***
2016-02-25T03:00:14-0800 [Controller 14190] invalid authentication method key 'tls' - must be one of ['ticket', 'cookie', 'wampcra', 'anonymous']
i ve tried the 2 examples of tls authentication.. but just check the last error .. despite im running the same version of crossbar 0.11.2 like oberstet run his example !! cant understand wats going.
NB : im newbie on crossbar .. i dont know much on config and workers and containers ..want simple explanation of wat i ve to do THANK YOU
(python351_1) oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples/sharedregs/python$ crossbar start
2016-01-25T21:46:19+0100 [Controller 9389] Automatically choosing optimal Twisted reactor
2016-01-25T21:46:19+0100 [Controller 9389] Running on Linux and optimal reactor (epoll) was installed.
2016-01-25T21:46:19+0100 [Controller 9389] __ __ __ __ __ __ __ __
2016-01-25T21:46:19+0100 [Controller 9389] / `|__)/ \/__`/__`|__) /\ |__) |/ \
2016-01-25T21:46:19+0100 [Controller 9389] \__,| \\__/.__/.__/|__)/~~\| \. |\__/
2016-01-25T21:46:19+0100 [Controller 9389]
2016-01-25T21:46:19+0100 [Controller 9389] Crossbar.io Version: 0.12.0
2016-01-25T21:46:19+0100 [Controller 9389] Node Public Key: 109be48b5710b2363a517200e434929ec14ca111d27fe53e4d704a64350063a8
2016-01-25T21:46:19+0100 [Controller 9389]
2016-01-25T21:46:19+0100 [Controller 9389] Running from node directory '/home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar'
2016-01-25T21:46:19+0100 [Controller 9389] Controller process starting (CPython-EPollReactor) ..
2016-01-25T21:46:19+0100 [Controller 9389] Node configuration loaded from 'config.json'
2016-01-25T21:46:19+0100 [Controller 9389] Node ID 'thinkpad-t430s' set from hostname
2016-01-25T21:46:19+0100 [Controller 9389] Using default node shutdown triggers ['shutdown_on_worker_exit']
2016-01-25T21:46:19+0100 [Controller 9389] Joined realm 'crossbar' on node management router
2016-01-25T21:46:19+0100 [Controller 9389] Starting Router with ID 'worker1'...
2016-01-25T21:46:19+0100 [Router 9393] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:20+0100 [Controller 9389] Router with ID 'worker1' and PID 9393 started
2016-01-25T21:46:20+0100 [Router 9393] Realm 'realm1' started
2016-01-25T21:46:20+0100 [Controller 9389] Router 'worker1': realm 'realm1' (named 'realm1') started
2016-01-25T21:46:20+0100 [Controller 9389] Router 'worker1': role 'role1' (named 'anonymous') started on realm 'realm1'
2016-01-25T21:46:20+0100 [Router 9393] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Controller 9389] Router 'worker1': component 'component1' started
2016-01-25T21:46:20+0100 [Router 9393] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Controller 9389] Router 'worker1': component 'component2' started
2016-01-25T21:46:20+0100 [Router 9393] Site starting on 8080
2016-01-25T21:46:20+0100 [Controller 9389] Router 'worker1': transport 'transport1' started
2016-01-25T21:46:20+0100 [Controller 9389] Starting Container with ID 'worker2'...
2016-01-25T21:46:20+0100 [Container 9397] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:20+0100 [Controller 9389] Container with ID 'worker2' and PID 9397 started
2016-01-25T21:46:20+0100 [Controller 9389] Container 'worker2': component 'component1' started
2016-01-25T21:46:20+0100 [Controller 9389] Container 'worker2': component 'component2' started
2016-01-25T21:46:20+0100 [Controller 9389] Starting Container with ID 'worker3'...
2016-01-25T21:46:20+0100 [Container 9397] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Container 9397] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Container 9401] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:21+0100 [Controller 9389] Container with ID 'worker3' and PID 9401 started
2016-01-25T21:46:21+0100 [Controller 9389] Container 'worker3': component 'component1' started
2016-01-25T21:46:21+0100 [Controller 9389] Container 'worker3': component 'component2' started
2016-01-25T21:46:21+0100 [Controller 9389] Using guest worker executable '/home/oberstet/python351_1/bin/python' (executable path detected from environment)
2016-01-25T21:46:21+0100 [Controller 9389] Starting Guest with ID 'worker4'...
2016-01-25T21:46:21+0100 [Controller 9389] Guest with ID 'worker4' and PID 9407 started
2016-01-25T21:46:21+0100 [Controller 9389] Guest 'worker4': started
2016-01-25T21:46:21+0100 [Controller 9389] Using guest worker executable '/home/oberstet/python351_1/bin/python' (executable path detected from environment)
2016-01-25T21:46:21+0100 [Controller 9389] Starting Guest with ID 'worker5'...
2016-01-25T21:46:21+0100 [Controller 9389] Guest with ID 'worker5' and PID 9408 started
2016-01-25T21:46:21+0100 [Controller 9389] Guest 'worker5': started
2016-01-25T21:46:21+0100 [Container 9401] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Container 9401] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Guest 9407] 2016-01-25 21:46:21+0100 [-] Log opened.
2016-01-25T21:46:21+0100 [Guest 9408] 2016-01-25 21:46:21+0100 [-] Log opened.
2016-01-25T21:46:21+0100 [Guest 9407] 2016-01-25 21:46:21+0100 [-] Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>. Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest 9408] 2016-01-25 21:46:21+0100 [-] Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>. Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest 9407] 2016-01-25T21:46:21+0100 Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>. Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest 9407] 2016-01-25 21:46:21+0100 [-] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Guest 9408] 2016-01-25T21:46:21+0100 Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>. Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest 9408] 2016-01-25 21:46:21+0100 [-] MyComponent: add2() registered!
2016-01-25T21:57:56+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:57:57+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)
2016-01-25T21:57:57+0100 [Container 9397] add2 called on MyComponent (PID 9397, Session 5149267214028377)
2016-01-25T21:57:57+0100 [Container 9397] add2 called on MyComponent (PID 9397, Session 1539605536192093)
2016-01-25T21:57:58+0100 [Container 9401] add2 called on MyComponent (PID 9401, Session 7740305374783621)
2016-01-25T21:57:58+0100 [Container 9401] add2 called on MyComponent (PID 9401, Session 6278628218830184)
2016-01-25T21:57:58+0100 [Guest 9407] 2016-01-25T21:46:21+0100 MyComponent: add2() registered!
2016-01-25T21:57:58+0100 [Guest 9407] 2016-01-25 21:57:58+0100 [-] add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:57:58+0100 [Guest 9408] 2016-01-25T21:46:21+0100 MyComponent: add2() registered!
2016-01-25T21:57:58+0100 [Guest 9408] 2016-01-25 21:57:58+0100 [-] add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:57:58+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:57:59+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)
2016-01-25T21:57:59+0100 [Container 9397] add2 called on MyComponent (PID 9397, Session 5149267214028377)
2016-01-25T21:57:59+0100 [Container 9397] add2 called on MyComponent (PID 9397, Session 1539605536192093)
2016-01-25T21:57:59+0100 [Container 9401] add2 called on MyComponent (PID 9401, Session 7740305374783621)
2016-01-25T21:57:59+0100 [Container 9401] add2 called on MyComponent (PID 9401, Session 6278628218830184)
2016-01-25T21:57:59+0100 [Guest 9407] 2016-01-25T21:57:58+0100 add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:57:59+0100 [Guest 9407] 2016-01-25 21:57:59+0100 [-] add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:58:00+0100 [Guest 9408] 2016-01-25T21:57:58+0100 add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:58:00+0100 [Guest 9408] 2016-01-25 21:58:00+0100 [-] add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:58:00+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:58:00+0100 [Router 9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)
Create an overlay image for the Yun that contains a program that:
https://github.com/crossbario/crossbar-examples/tree/master/encryption/tls
It correctly loads both the server and client certs:
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker._appsession_loader] Starting class 'backend.BackendSession'
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] TLS client using explicit trust (2 certificates)
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] TLS client trust root CA certificate loaded from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/ca.cert.pem'
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] TLS client trust root CA certificate loaded from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/intermediate.cert.pem'
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] Loaded client TLS key from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/client.key'
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] Loaded client TLS certificate from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/client.crt' (cn='b'client_0'', sha256=b'7E:66:9A:C1:'..)
However, then it blows up (this only shows up at --loglevel=debug
, which is also a (user experience) problem):
2017-04-17T15:44:40+0200 [Container 12143 autobahn.twisted.websocket.WebSocketClientProtocol] connection to tcp4:127.0.0.1:8083 established
2017-04-17T15:44:40+0200 [Container 12143 autobahn.twisted.websocket.WebSocketClientProtocol] GET /ws HTTP/1.1
User-Agent: AutobahnPython/0.18.2
Host: localhost:8083
Upgrade: WebSocket
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: JjsCCJLnEbk+qU4tp9AHug==
Sec-WebSocket-Protocol: wamp.2.cbor.batched,wamp.2.cbor,wamp.2.msgpack.batched,wamp.2.msgpack,wamp.2.ubjson.batched,wamp.2.ubjson,wamp.2.json.batched,wamp.2.json
Sec-WebSocket-Version: 13
2017-04-17T15:44:40+0200 [Container 12143 autobahn.twisted.websocket.WebSocketClientProtocol] Connection made to tcp4:127.0.0.1:8083
2017-04-17T15:44:40+0200 [Controller 12134 crossbar.router.router.Router] Validate 'call_result' for 'crossbar.worker.worker-002.start_component'
2017-04-17T15:44:40+0200 [Controller 12134 crossbar.controller.node.Node] Container 'worker-002': component 'component-001' started
2017-04-17T15:44:40+0200 [Controller 12134 crossbar.controller.node.Node] Local node configuration applied successfully!
2017-04-17T15:44:40+0200 [Container 12143 autobahn.twisted.websocket.WebSocketClientProtocol] Connection to/from tcp4:127.0.0.1:8083 lost (<class 'OpenSSL.SSL.Error'>): [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])
2017-04-17T15:44:40+0200 [Container 12143 autobahn.twisted.websocket.WebSocketClientProtocol] _connectionLost: [Failure instance: Traceback: <class 'OpenSSL.SSL.Error'>: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/posixbase.py:597:_doReadOrWrite
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/tcp.py:208:doRead
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/tcp.py:214:_dataReceived
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/protocols/tls.py:315:dataReceived
--- <exception caught here> ---
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/protocols/tls.py:235:_checkHandshakeStatus
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/SSL.py:1426:do_handshake
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/SSL.py:1174:_raise_ssl_error
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/_util.py:48:exception_from_error_queue
]
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] Lost connection to component 'component-001' with code '1006'.
2017-04-17T15:44:40+0200 [Container 12143 crossbar.worker.worker.NativeWorkerSession] connection was closed uncleanly (peer dropped the TCP connection without previous WebSocket closing handshake)
There are a number of demos that contained directly included AutobahnJS versions:
(cpy351_1) oberstet@corei7ub1310:~/scm/crossbario/crossbarexamples$ find . -name "autobahn.*" -type f
./demos/editform/web/js/autobahn.js
./demos/editform/web/js/autobahn.min.jgz
./demos/editform/web/js/autobahn.min.js
./demos/visitors_counter/js/autobahn.min.js
./iotcookbook/app/alarm/frontend/js/autobahn.min.jgz
./iotcookbook/app/alarm/frontend/js/autobahn.min.old.js
./iotcookbook/app/alarm/frontend/js/autobahn.min_old.js
./iotcookbook/app/weights/wpadlab/web/autobahn.min.js
I have already removed those now!
Make sure, stuff still works. The right was is to have this in the HTML:
<script>AUTOBAHN_DEBUG = false;</script>
<script src="http://autobahn.s3.amazonaws.com/autobahnjs/latest/autobahn.min.jgz"></script>
Using crossbar 0.11.1, I tried the example : authenticate/wampcradynamic/python with python 3.4.
Many exceptions are thrown in the crossbar console and the web client can't connect.
on_challenge isn't even fired.
Works fine on Python 2.7
Edit: it may be twisted that isn't compatible with Python 3.
Is this possible to have an example working on python 3?
It would be useful if on_register
meta event not only sends the registration ID, but also other registration details, such as the URI etc.
It looks like it is possible to get the required details from the registraion ID by making extra API calls, but it would be lot easier if the event itself sends that data as, say kwargs
or some other (instead of forcing the user to make additional calls).
For example, for fail-over scenarios, such as the example shown here, monitoring the pairs on_register
and unregister
can help decide the monitoring function to decide if any action is needed or not (e.g. restart the failed server) without having to make additional calls (burdening the server and also causing latency).
Hi,
finally after the whole installations and configurations I am able to run you examples like the yun_potentiometer. They run great and I love the fast response which is without crossbar/autobahn not possible.
Now I want to implement my I2C sensors. Unfortunetely I completly failed with this target.
I tried it with sysex commands, but due to lags of information which (and how) parameters I have to use to read for example the address 0x58, I can't continue.
Thanks for your help.
https://demo.crossbar.io/ should work eg with IE9 etc. We just need to enable WAMP-over-Longpoll in CB and add respective transport configs to the demos.
Is it possible to publish the messages in "retain" mode (where, the subscribers who join late do not miss the earlier posted messages and get them immediately upon subscription).
For example, publisher created with "retain" mode (and optional buffer length, say n
), keeps track of the last n
posted messages and pushes them immediately to all new subscribers as and when they signup.
It would be very useful function to support, as it helps in syncing the producer-consumer properly.
MQTT is good example of where this is supported, and is very useful, especially in bridged/forwarded cluster scenarios.
Disclaimer: I am new to Crossbar which might explain the issues I am running into. It definitely explains of course why I am trying to run the examples... :)
I am using a Crossbar install via pip. The version an system details are as follows:
Crossbar.io : 17.3.1 (Crossbar.io COMMUNITY)
Autobahn : 0.18.1 (with JSON, MessagePack, CBOR, UBJSON)
Twisted : 17.1.0-EPollReactor
LMDB : 0.92/lmdb-0.9.18
Python : 2.7.13/CPython
OS : Linux-4.10.8-200.fc25.x86_64+debug-x86_64-with-fedora-25-Twenty_Five
Machine : x86_64
Release key : RWRGxs0uB6vQemWGPeBt7nLG53ADoOtZy/Vve3BjlaXDqkCiVhCs7Zrv
I tried to run crossbar init --template hello:python --appdir hello
with this setup but it does not work. There no templates other than the default
template installed. I did install Crossbar with [all].
Since this did not work, I turned to this repo with the examples. The toplevel Readme asserts:
The examples are self-contained and ready to run. Each of the example directories contains an Crossbar.io configuration. In order to run the example, just got to its directory and do crossbar start. Hence
cd hello/python
crossbar start
[startup omitted]
File "/usr/lib/python2.7/site-packages/autobahn/wamp/protocol.py", line 1251, in subscribe
assert(topic is None or type(topic) == six.text_type)
topic
is not None
but crossbar.worker.worker-002.container.on_component_stop
and apparently a unicode string because that's what six.text_type
asserts.
I don't think that has anything to do with the particular Python example but with Crossbar/Autobahn Python itself but I have no idea where the on_component_stop
method comes form.
Here is what crossbar upgrade
and crossbar check
just did:
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$ make upgrade
find . -name "config.json" -exec crossbar upgrade --cbdir={} \;
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/userconfig/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/subscriber/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/callee/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/caller_performance/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/webhooks/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/caller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher_tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/alarm/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadeuro/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadlab/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/xboxcontroller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/sampleplayer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/speechsynth/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/tempmon/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/camera/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/ambientlight/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/potentiometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/accelerometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/serial_to_wamp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tilt/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/weighingpad/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/lights/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tutorial/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/buttons/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/accelerometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/camera/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/browserremote/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/livewidgets/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/revealremote/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/event-history/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/longpoll_curl/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/reactjs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/encryption/tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/encryption/cryptobox/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/kivy/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/cpp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/expressjs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/metaapi/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/wsgi/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/docker/disclose/crossbar/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/oracle/publisher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/caller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/publisher/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/django/realtimemonitor/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/longpoll/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/call_from_handler/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/jsonresource/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/dbconn/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/validate/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/votegame/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/flash/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/disclose/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/patternregs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/wss/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/sliders/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/gauges/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/notification/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/videocontrol/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/colorpicker/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/dashboard/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/beatbox/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/nodejs/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/kivy/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/browser/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/web/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/chat/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/spread/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/non_functional/cursor_sync/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/pubsub/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/visitors_counter/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/editform/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/nodejs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/java/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp_tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/csharp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/tessel/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/erlang/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/php/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/browser/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/patternsubs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/benchmark/rpc_roundtrip/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/benchmark/websocket/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/advanced/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cookie/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/totp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/nodejs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/php/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/static/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/dynamic/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/fileupload/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/worker-templates/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/realm-templates/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/management-api/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure7/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure3/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure6/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure2/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure1/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/working/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure4/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure8/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure5/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure3/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure6/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure2/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure1/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/working/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure4/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure5/.crossbar/config.json
Upgrading configuration from version 1 to version 2
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$ make check
find . -name "config.json" -exec crossbar check --cbdir={} \;
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/userconfig/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/subscriber/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/callee/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/caller_performance/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/webhooks/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/caller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher_tls/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/alarm/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadeuro/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadlab/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/xboxcontroller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/sampleplayer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/speechsynth/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/tempmon/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/camera/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/ambientlight/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/potentiometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/accelerometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/serial_to_wamp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tilt/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/weighingpad/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/lights/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tutorial/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/buttons/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/accelerometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/camera/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/browserremote/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/livewidgets/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/revealremote/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/event-history/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/longpoll_curl/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/reactjs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/encryption/tls/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/encryption/cryptobox/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/kivy/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/cpp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/expressjs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/metaapi/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/wsgi/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/docker/disclose/crossbar/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/oracle/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/caller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/django/realtimemonitor/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/longpoll/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/call_from_handler/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/jsonresource/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/dbconn/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/validate/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/votegame/config.json
Error: encountered unknown attribute 'processes' in top-level configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/flash/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/disclose/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/patternregs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/wss/python/.crossbar/config.json
Error: 'ca_certificates' contains non-existant path 'server_cert.pem'
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/sliders/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/gauges/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/notification/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/videocontrol/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/colorpicker/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/dashboard/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/beatbox/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/kivy/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/browser/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/web/config.json
Error: encountered unknown attribute 'enable_hixie76' in WebSocket options
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/chat/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/spread/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/non_functional/cursor_sync/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/pubsub/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/visitors_counter/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/editform/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/java/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp_tls/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/csharp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/tessel/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/erlang/.crossbar/config.json
Error: encountered unknown attribute 'serializer' in RawSocket transport configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/php/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/browser/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/patternsubs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/benchmark/rpc_roundtrip/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/benchmark/websocket/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/static/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/dynamic/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/advanced/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cookie/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/totp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/static/.crossbar/config.json
Environment variable $MYTICKET not set - needed in configuration 'auth.ticket.principals["client2"].ticket'
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/static/.crossbar/config.json
Environment variable $MYSECRET not set - needed in configuration 'auth.wampcra.users["homer"].secret'
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/php/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/static/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/static/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/fileupload/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/worker-templates/.crossbar/config.json
Error: encountered unknown attribute 'template' in container configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/realm-templates/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/management-api/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure7/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure3/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure6/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure2/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure1/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/working/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure4/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure8/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure5/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure3/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure6/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure2/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure1/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/working/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure4/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure5/.crossbar/config.json
Ok, node configuration looks good!
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$
All demos (stuff for demo.crossbar.io) should have a statusline that is filled like this:
plus: the statusline should signal "reconnection" (trying .. when next?)
The qr code can take several minutes to load : https://demo.crossbar.io/videocontrol/
My guess is that it's because the video is now served by your server and not from a proper streaming server.
hello! I have working project with dynamic auth. hire is my crossbar config and next authenticator.py
Now I need to add anonymous role for registration script. And my question is can I have anonymous auth with this configuration and how should i call anonymous auth from client code??
I writed simple test with anonymous auth and got error. Looks like anonymous auth is not as simple as just create connection without authid and onchallenge
it('#connect(anonimus)', function (done) {
let anonymousConnection= new AutobahnConnection({
url: `${config.WAMP.schema}://${config.WAMP.host}:${config.WAMP.port}/${config.WAMP.path}`,
realm: "kopa",
authmethods: ['anonymous'],
})
anonymousConnection.onopen= ()=>done()
anonymousConnection.onclose= (reason, data)=>done(data)
anonymousConnection.open();
})
{"reason":"wamp.error.not_authorized","message":"internal error: role auto-activation not yet implemented","retry_delay":null,"retry_count":null,"will_retry":false}
config.json
{
"version": 2,
"workers": [
{
"type": "router",
"options": {
"pythonpath": [
".",
"/usr/lib/python3/dist-packages"
]
},
"realms": [
{
"name": "kopa",
"roles": [
{
"name": "server",
"permissions": [
{
"uri": "ru",
"match": "prefix",
"allow": {
"call": true,
"register": true,
"publish": true,
"subscribe": true
},
"disclose": {
"caller": true,
"publisher": true
},
"cache": true
}
]
},
{
"name": "kopnik",
"permissions": [
{
"uri": "ru",
"match": "prefix",
"allow": {
"call": true,
"register": true,
"publish": true,
"subscribe": true
},
"disclose": {
"caller": true,
"publisher": true
},
"cache": false
}
]
},
{
"name": "anonymous",
"permissions": [
{
"uri": "ru.kopa.registration",
"allow": {
"call": true,
"register": false,
"publish": false,
"subscribe": false
}
}
]
},
{
"name": "authenticator",
"permissions": [
{
"uri": "com.example.authenticate",
"match": "prefix",
"allow": {
"call": false,
"register": true,
"publish": false,
"subscribe": false
},
"disclose": {
"caller": false,
"publisher": false
},
"cache": false
}
]
},
]
}
],
"transports": [
{
"type": "web",
"endpoint": {
"type": "tcp",
"port": 8080
},
"paths": {
"/": {
"type": "static",
"directory": "../../kp-client"
},
"ws": {
"type": "websocket",
"serializers": [
"json"
],
"auth": {
"ticket": {
"type": "dynamic",
"authenticator": "com.example.authenticate"
},
"anonymous": {
"type": "static",
"role": "frontend"
}
}
}
}
}
],
"components": [
{
"type": "class",
"classname": "authenticator.AuthenticatorSession",
"realm": "kopa",
"role": "authenticator"
}
]
}
]
}
autenticator.py
import os
from pprint import pprint
import six
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.wamp import ApplicationSession
from autobahn.wamp.exception import ApplicationError
try:
import psycopg2
except ImportError:
from psycopg2cffi import compat, connect
compat.register()
import bcrypt
import os
import json
import sys
CFG_FILENAME='../cfg/config.json'
class AuthenticatorSession(ApplicationSession):
@inlineCallbacks
def onJoin(self, details):
def authenticate(realm, authid, details):
try:
ticket = details['ticket']
print("authenticating: realm='{}', authid='{}', ticket='{}'".format(realm, authid, ticket))
db_conn = None
conf_name = os.environ.get('NODE_ENV', 'development')
if not os.path.exists(CFG_FILENAME):
raise Exception('Config file not found')
data = open(CFG_FILENAME, 'r').read()
params = json.loads(data).get(conf_name)
if params is None:
raise Exception('Config section %s not found' % conf_name)
db_conn = connect(
host=params.get('host'),
database=params.get('database'),
user=params.get('username'),
password=params.get('password')
)
cursor = db_conn.cursor()
#cursor.execute('SELECT password FROM public."Kopnik" WHERE email=\'%(authid)s\' ' % {'authid':authid})
cursor.execute("SELECT password FROM public.\"Kopnik\" WHERE email= %s", [authid])
rowcount = cursor.rowcount
db_conn.commit()
# юзвера нет в бд
if rowcount == 0:
if authid == params.get("server").get("username") and ticket == params.get("server").get("password"):
print('Authentication successfull')
return u'server'
raise ApplicationError("com.example.incorrect_username_or_password", "Incorrect username or password {}".format(authid))
for item in cursor.fetchall():
if bcrypt.hashpw(bytes(ticket), item[0]) == item[0]:
print('Authentication successfull')
return u'kopnik'
raise ApplicationError("com.example.incorrect_username_or_password", "Incorrect username or password {}".format(authid))
except Exception as e:
print(e)
raise e
try:
yield self.register(authenticate, 'com.example.authenticate')
print("WAMP-Ticket dynamic authenticator registered!")
except Exception as e:
print("Failed to register dynamic authenticator: {0}".format(e))
The colors used have been updated.
New file is in 'organize/design'.
Upload this to 'https://tavendo-common-static.s3-eu-west-1.amazonaws.com/css/materialize_cb.min.css.gz'
Test whether the color definitions work for the demo.
Hi,
I'm encrypting my crossbar component as the tls encryption says, but in the client side I'm getting the following error:
autobahn.js:5398 WebSocket connection to 'wss://192.168.0.106:7000/ws' failed: WebSocket opening handshake was canceled
I only configured the .crossbar/config.json file, but should I configure any other file (On client side) to make it work?
When I run this on localhost, everything works fine.
disclose_me
is now removed. There is still this:
(cpy351_1) oberstet@corei7ub1310:~/scm/crossbario/crossbarexamples$ find . -name "*.js" -type f -exec grep -Hi "disclose" {} \;
./demos/editform/web/js/editform.js: self.session.call(callURI, [], saveSet, { disclose_me: true }).then(
./demos/editform/web/js/editform.js: self.session.call("form:delete", [listItem.id()], {}, { disclose_me: true }).then(
./demos/editform/web/js/editform.js: self.session.call("form:reset", [], {}, { disclose_me: true }).then(
Can you put a example of the frontend.py and index.html on the encryption example ?
I would suggest either MIT or Apache 2.0
Add a make test
which recursively walks the repo, finds config.json
files, and checks the configuration using the checkconfig()
function from Crossbar.io
It would be useful to have an example of how to publish an event to specific users who have authenticated sessions and are currently connected.
There is a bad url in this page: http://crossbar.io/docs/Authorization/#dynamic-authorization at the line: "For fully-worked examples, see crossbarexample/authorization." and the link leads here: "https://github.com/crossbario/crossbar-examples/tree/master/authorization/dynamic>" instead of here: "https://github.com/crossbario/crossbar-examples/tree/master/authorization/dynamic". It is a typo.
Hi Guys,
I've tried the long poll example but unfortunately i can't make it work.
This is the errors that i got on console
"XMLHttpRequest cannot load http://local.crossbar-longpoll.dev:8080/lp/open. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://local.crossbar-longpoll.dev' is therefore not allowed access. The response had HTTP status code 501."
I believed this is a CORS issue but i'm not sure how to fix this for crossbar example and make it work.
I have also created my own using on Voryx/Thruway and run "crossbar start" inside NGINX and websocket is working perfectly with autobahn js but i'm facing same issue that i encountered on the example for the longpoll transports. I have tried to set headers on thruway but it's not working and i believed that thruway doesn't support long poll, so how to work around the long poll? i have also checked the documentation of crossbario and found that i can set allowed_origins for websocket type, is there an available options like allowed_origins for longpoll transport?
I have also found on net while searching for a solution on my issue that i can comment out line 5572 on autobahn.js "req.setRequestHeader("Content-type", "application/json; charset=utf-8");", i tried it and it does work but i think it's not a good idea.
did i miss something on configuration or anything to make the long poll transport works for old browser versions.
Your help and advice will be much appreciated
more power :) ;)
Thanks,
I am trying to figure out how to get user id from php session, so I decided to examine dynamic wamp-cra php authentication example, but in web console I see:
Ok, AutobahnJS loaded 0.11.2
index.html:29 onchallenge wampcra Objectchallenge: "{"authid": "joe", "authrole": "frontend", "authmethod": "wampcra", "authprovider": "dynamic", "session": 617402676297463, "nonce": "FcpJPBnDse0pfUzHq/VYNihAZ2AvRNQZl0Ktmza3A3kWGeL74zTZRSz5fAzAX8xM", "timestamp": "2017-03-12T08:37:16.069Z"}"__proto__: Object
index.html:33 authenticating via 'wampcra' and challenge '{"authid": "joe", "authrole": "frontend", "authmethod": "wampcra", "authprovider": "dynamic", "session": 617402676297463, "nonce": "FcpJPBnDse0pfUzHq/VYNihAZ2AvRNQZl0Ktmza3A3kWGeL74zTZRSz5fAzAX8xM", "timestamp": "2017-03-12T08:37:16.069Z"}'
index.html:55 connected session with ID 617402676297463
index.html:56 authenticated using method 'wampcra' and provider 'dynamic'
index.html:57 authenticated with authid 'joe' and authrole 'frontend'
index.html:78 registration failed - this is expected, error: "wamp.error.not_authorized"
index.html:97 event published to topic com.example.topic1
index.html:100 publication to topic com.example.topic2 failed, error: "wamp.error.not_authorized"
index.html:97 event published to topic com.foobar.topic1
index.html:100 publication to topic com.foobar.topic2 failed, error: "wamp.error.not_authorized" index.html:63 call result 5
Is this expected?
Quite easy to do. And we can do it polyglot. And we can extend it right into real databases (PostgreSQL).
Petri has created this https://github.com/koodaamo/twiliosms_wampservice, which allows to send SMS via a WAMP RPC and receive SMS as WAMP events. Awesome! We should have an example for this ..
There are small issues with the Python realm and the JS ws URI. Pull request coming up.
Low priority, but we could easily have private chat to show off the subscriber black/white-listing.
The component runs work on a background worker thread pool (it calls a function which runs Numba code using http://twistedmatrix.com/documents/current/api/twisted.internet.threads.deferToThread.html).
This demonstrates native code speed plus multi-core.
Then extend the example for scaling out to multiple nodes using Crossbar.io shared registrations.
There are a bunch of files containing {{ appname }}
instead of hello
. I guess the correct solution is to fix whatever tool it is that made this example. But I don't have access to that tool. So in the meantime it would be nice if the most basic example actually worked...... Pull request coming up.
I have followed all the steps mentioned in readme but i am getting this error
2016-11-10T15:50:18+0530 [Controller 10452]
2016-11-10T15:50:18+0530 [Controller 10452] Running from node directory 'C:\Users\surya\Desktop\java.crossbar'
2016-11-10T15:50:18+0530 [Controller 10452] Controller process starting (CPython-SelectReactor) ..
2016-11-10T15:50:18+0530 [Controller 10452] Using default node shutdown triggers [u'shutdown_on_worker_exit']
2016-11-10T15:50:18+0530 [Controller 10452] Joined realm 'crossbar' on node management router
2016-11-10T15:50:18+0530 [Controller 10452] Configuring node from local configuration ...
2016-11-10T15:50:18+0530 [Controller 10452] Starting 2 workers ...
2016-11-10T15:50:18+0530 [Controller 10452] Starting Router with ID 'worker-001'...
2016-11-10T15:50:19+0530 [Router 6456] Worker process starting (CPython-IOCPReactor) ..
2016-11-10T15:50:20+0530 [Controller 10452] Router with ID 'worker-001' and PID 6456 started
2016-11-10T15:50:20+0530 [Router 6456] Realm 'realm1' started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': realm 'realm-001' (named 'realm1') started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': role 'role-001' (named 'anonymous') started on realm 'realm-001'
2016-11-10T15:50:20+0530 [Router 6456] role role-001 on realm realm-001 started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': transport 'transport-001' started
2016-11-10T15:50:20+0530 [Controller 10452] Using guest worker executable 'c:\programdata\oracle\java\javapath\java.exe' (executable path detected from environment)
2016-11-10T15:50:20+0530 [Controller 10452] Starting Guest with ID 'worker-002'...
2016-11-10T15:50:20+0530 [Controller 10452] Guest with ID 'worker-002' and PID 3320 started
2016-11-10T15:50:20+0530 [Controller 10452] Guest 'worker-002': started
2016-11-10T15:50:20+0530 [Controller 10452] Local node configuration applied.
2016-11-10T15:50:20+0530 [Router 6456] Site starting on 8080
2016-11-10T15:50:21+0530 [Guest 3320] Error: Could not find or load main class ws.wamp.jawampa.CrossbarExample
2016-11-10T15:50:21+0530 [Controller 10452] Guest worker-002 exited with error A process has ended with a probable error condition: process ended with exit code 1.
I just cloned the auth example with cookie:
https://github.com/crossbario/crossbarexamples/blob/master/authenticate/cookie/.crossbar/config.json
It raises:
Exception: Web transport 'WebSocket' path service - encountered unknown attribute 'cookie'
Removing the offending line leads to:
Exception: invalid authentication method key 'cookie' - must be one of ['ticket', 'wampcra', 'anonymous']
@oberstet : i need cookies for the polymer demo as I'm making a auction simulation so is there a workaround so I don't need to wait for the patch ?
Hook up the matrix display we have to the Yun and make it display real-time Web site visitor count.
I pulled the last version from your repository, as also the autobahn-python repository. After installing both, I get the following error on startup:
[Controller 76141] Traceback (most recent call last):
[Controller 76141] File "/usr/local/lib/python2.7/site-packages/crossbar-0.13.0-py2.7.egg/crossbar/controller/node.py", line 497, in start
[Controller 76141] yield self._startup(self._config)
[Controller 76141] TypeError: __init__() got an unexpected keyword argument 'debug'
I tried to uninstall and reinstall the libraries, but this didn't help. The error occurs when I try to run a example from the repo.
Do you have any guess, how I can fix it?
Apparently the JSON config is not ok for the currently newest crossbar. Running crossbar check
on
https://github.com/crossbario/crossbarexamples/blob/master/work/votegame/config.json
produces:
Error: encountered unknown attribute 'processes' in top-level configuration
When I execute the client.py in django realtime monitoring example with python 2.7 I have the next error:
Traceback (most recent call last):
File "client.py", line 139, in
app.run(url="ws://%s:8000/ws" % SERVER, debug=False, debug_wamp=False)
File "C:\Users\Daniel\PythonProjects\DjangoCrossbar\env\lib\site-packages\autobahn\twisted\wamp.py", line 394, in run
debug=debug, debug_wamp=debug_wamp, debug_app=debug_app)
File "C:\Users\Daniel\PythonProjects\DjangoCrossbar\env\lib\site-packages\autobahn\twisted\wamp.py", line 133, in init
assert(type(url) == six.text_type)
AssertionError
I saw a similar issue in "Fix demos for unicode URIs on 10 Sep 2014" but I don't know if it is the same.
https://github.com/estan/gauges
We want this in the repo to be more easily finable.
Link to the QT version from the Web demo.
Migrated from crossbario/crossbar#271:
Followed the guide: http://crossbar.io/docs/Database-Programming-with-PostgreSQL/ using psycopg2 as database driver.
Although that guide doesn't mention how to run the example, or how to assemble the source files from working with Crossbar I assume I need the three files: server, html and config.json and that I make a directory structure from other crossbar examples for remote procedures.
I tried both twisted adbapi and txpostgres (I'd prefer txpostgres so database connections are in "asynchronous mode").
What I tried and the directory structure I created:
created directory ~/hello with sub-directories .crossbar and web
What I double-checked:
psycopg2-2.6 (latest) installed from source and all tests run successfully. Pip install txpostgres, tested fine txpostgres examples of module usage from http://txpostgres.readthedocs.org/en/latest/usage.html
It's like my crossbar binary can't see that I've installed psycopg2 and txpostgres
I was trying to use eligible_authid in this way:
$session->publish('com.user.' . $details->caller_authid . '.update_points', [$user->points], null, ["eligible_authid" => [$details->caller_authid]]);
but I was receiving ProtocolError: invalid type <type 'unicode'> for value in 'eligible_authid' option in PUBLISH
. I did not know this is Crossbar or Thruway issue so I decided to try example. But when I execute crossbar start
then I am getting:
invalid attribute value 'universal' for attribute 'type' in transport item
When a user surf to https://demo.crossbar.io, the VM the user is directed to will be based on geo-DNS (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latency) (the instance "closest" to the user / with lowest latency) will be selected automatically.
For testing purposes, a user might want to directly connect to the underlying instances.
We should have a jump-page or a section on the demo landing pages that lists the URLs of the instances - currently:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.