
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
totoro-server
Advanced tools
Server side of totoro.
Latest stable version:v2.0
>= 0.10.12
$ npm install totoro-server -g
If it not works, you may add sudo
before the command, as follows.
To get the latest function (may not be stable)
$ git clone git@github.com:totorojs/totoro-server.git
$ cd totoro-server
$ npm install -g
Launch server.
$ totoro-server
You should see an output like bellow:
Start server <{{yourIP}}:9999>
Start a driver
Use any browser to visit {{yourIP}}:9999, then it registers as a web driver that can drive the browser of this kind run test.
If you use it on pc, be mind that allow popup from {{yourIP}}, refer to popup settings.
Want to run some test? See the quick start of totoro.
In a word, a driver is something open specified browser to visit specified URL and close it by directives from server.
If you know how to open and close a browser(or some other application), it's very very easy to write a driver for it.
All steps with pseudo-code.
Set command line options
-s, --server
: default is http://server.totorojs.org:9999
Link to server by socket and init.
var socket = socketClient.connect({{server}} + '/__labor')
// NOTE: the namespace of socket is '/__labor'
socket.on('connect', function() {
var initInfo = {
// if the app you drive is not a browser
// group is required, it could be any string you like
group: 'groupName',
device: { name: 'mac' },
os: { name: 'macosx', version: '13.1.0' },
agent: { name: 'chrome', version:'35.0.1916.114' }
}
socket.emit('init', initInfo)
})
Open or close specified browser when received corresponding directives.
socket.on('add', function(data) {
/*
* structure of data
* {
* orderId: {{orderId}},
* laborId: {{laborId}},
* laborTrait: {{labor trait info, the same as init info}},
* runner: {{test runner, typically be a url}}
* }
*/
var key = data.orderId + '-' + data.laborId
orders[key] = open(runner)
})
socket.on('remove', function(data) {
// the data structure is the same as 'add' event's but without the laborTrait
var key = data.orderId + '-' + data.laborId
close(orders[key])
;delete orders[key]
})
Close all browsers when dirver exits.
Server host。
Default: IP of this computer.
Server port。
Default: 9999
Show debug log.
Default: false
If you need a config file, just place totoro-srever-config.json
in the CWD, all options are written in lower camel case.
FAQs
Server side of totoro.
We found that totoro-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.