mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-20 07:05:05 -04:00
Combine browser name and unique name
This commit is contained in:
parent
6044103bfc
commit
7469086cda
3 changed files with 51 additions and 9 deletions
|
@ -1,4 +1,5 @@
|
|||
const parser = require('ua-parser-js');
|
||||
const { uniqueNamesGenerator, animals, colors } = require('unique-names-generator');
|
||||
|
||||
class SnapdropServer {
|
||||
|
||||
|
@ -19,7 +20,13 @@ class SnapdropServer {
|
|||
this._keepAlive(peer);
|
||||
|
||||
// send displayName
|
||||
this._send(peer, { type: 'display-name', message: peer.name.displayName });
|
||||
this._send(peer, {
|
||||
type: 'display-name',
|
||||
message: {
|
||||
displayName: peer.name.displayName,
|
||||
deviceName: peer.name.deviceName
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_onHeaders(headers, response) {
|
||||
|
@ -188,19 +195,28 @@ class Peer {
|
|||
let ua = parser(req.headers['user-agent']);
|
||||
|
||||
|
||||
let displayName = ua.os.name.replace('Mac OS', 'Mac') + ' ';
|
||||
let deviceName = ua.os.name.replace('Mac OS', 'Mac') + ' ';
|
||||
if (ua.device.model) {
|
||||
displayName += ua.device.model;
|
||||
deviceName += ua.device.model;
|
||||
} else {
|
||||
displayName += ua.browser.name;
|
||||
deviceName += ua.browser.name;
|
||||
}
|
||||
|
||||
const displayName = uniqueNamesGenerator({
|
||||
length: 2,
|
||||
separator: ' ',
|
||||
dictionaries: [colors, animals],
|
||||
style: 'capital',
|
||||
seed: this.id.hashCode()
|
||||
})
|
||||
|
||||
this.name = {
|
||||
model: ua.device.model,
|
||||
os: ua.os.name,
|
||||
browser: ua.browser.name,
|
||||
type: ua.device.type,
|
||||
displayName: displayName
|
||||
deviceName,
|
||||
displayName
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -239,4 +255,16 @@ class Peer {
|
|||
};
|
||||
}
|
||||
|
||||
Object.defineProperty(String.prototype, 'hashCode', {
|
||||
value: function() {
|
||||
var hash = 0, i, chr;
|
||||
for (i = 0; i < this.length; i++) {
|
||||
chr = this.charCodeAt(i);
|
||||
hash = ((hash << 5) - hash) + chr;
|
||||
hash |= 0; // Convert to 32bit integer
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
});
|
||||
|
||||
const server = new SnapdropServer(process.env.PORT || 3000);
|
Loading…
Add table
Add a link
Reference in a new issue