misterhat / livelook Goto Github PK
View Code? Open in Web Editor NEWsoulseek client in javascript
License: GNU Affero General Public License v3.0
soulseek client in javascript
License: GNU Affero General Public License v3.0
I've been looking for this solution for a long time and I'm happy to see it's using Vue and Vuetify on the frontend!!
Any way I can help there?
I'm also familiar with JS backends and vuex as well (haven't check if vuex is being used but just throwing that out there).
Please let me know!
Hi,
first of all, thanks for putting so much work into this project.
I can successfully log in with username/password, but from then on, everything goes south.
My login looks like this:
livelookClient = new LiveLook({
username: credentialsUsed.user,
password: credentialsUsed.pass,
sharedFolder: "/Users/steff/Dropbox/__BACKUP_MACBOOK/Music",
server: "server.slsknet.org",
port: 2242, // port for server above, NOT the port we listen on
waitPort: 2234, // port for peer server. will retry multiple options if fail
autojoin: ["nicotine"],
maxPeers: 100,
uploadSlots: 2, // maximum uploads allowed at one time
uploadThrottle: 56 * 1024, // speed to throttle uploads in bytes
// downloadThrottle: 56 * 1024,
})
Here's an excerpt of the logs (I OMITTED
sensitive info):
Client sending login ["MY_USERNAME_OMITTED","MY_PASSWORD_OMITTED"]
Client recevied {"type":"login","success":1,"motd":""}
Client sending sharedFoldersFiles [469,7940]
Client sending sendUploadSpeed [614400]
Client sending joinRoom ["nicotine"]
Client sending setWaitPort [2234]
peer server is listening on port 2234
Client recevied roomList but it's too darn long
Client recevied {"type":"parentMinSpeed","minSpeed":1}
Client recevied {"type":"parentSpeedRatio","ratio":50}
Client recevied {"type":"wishlistInterval","interval":720}
Client recevied privilegedUsers but it's too darn long
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"MY_USERNAME_OMITTED","status":2,"speed":614400,"downloadNum":28,"files":7940,"folders":469,"slotsFree":0,"country":"ES"}
Client recevied joinRoom but it's too darn long
Client recevied roomTickerState but it's too darn long
Client sending haveNoParent [true]
Client sending parentIp [""]
Client sending branchLevel [0]
Client sending branchRoot [""]
Client sending childDepth [0]
Client sending acceptChildren [null]
Client sending haveNoParent [true]
Client sending acceptChildren [false]
Client recevied {"type":"getUserStatus","username":"Raspoutine","status":1,"privileged":0}
Client recevied {"type":"userLeftRoom","room":"nicotine","username":"thechosenjon"}
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"thechosenjon","status":1,"speed":5808078,"downloadNum":169,"files":15066,"folders":1425,"slotsFree":0,"country":"US"}
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"iHMHMMHOMRGH34","status":2,"speed":0,"downloadNum":0,"files":0,"folders":0,"slotsFree":0,"country":"US"}
Client recevied {"type":"getUserStats","username":"iHMHMMHOMRGH34","speed":0,"downloadNum":0,"files":0,"directories":0}
Client recevied {"type":"userLeftRoom","room":"nicotine","username":"globster"}
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"CORNED BEEF","status":2,"speed":2933739,"downloadNum":46,"files":0,"folders":0,"slotsFree":0,"country":"GB"}
Client recevied {"type":"getUserStats","username":"CORNED BEEF","speed":2933739,"downloadNum":46,"files":0,"directories":0}
Client recevied {"type":"userLeftRoom","room":"nicotine","username":"bjtoadkoops"}
Client recevied {"type":"getUserStats","username":"musodown","speed":0,"downloadNum":0,"files":133,"directories":13}
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"bjtoadkoops","status":2,"speed":0,"downloadNum":0,"files":276,"folders":2,"slotsFree":0,"country":"AU"}
Client recevied {"type":"getUserStats","username":"pierosnoopy","speed":1071844,"downloadNum":133,"files":5527,"directories":791}
Client recevied {"type":"getUserStatus","username":"oceanmaster","status":1,"privileged":0}
Client recevied netInfo but it's too darn long
we got netinfo!!! potential parents [
{ username: 'vivatgrendel', ip: 'IP_OMITTED', port: 52683 },
{ username: 'imathers', ip: 'IP_OMITTED', port: 52499 },
{ username: 'Szochu', ip: 'IP_OMITTED', port: 33045 },
{ username: 'felikx', ip: 'IP_OMITTED', port: 58423 },
{ username: 'listeningmusic', ip: 'IP_OMITTED', port: 57367 },
{ username: 'imminiman', ip: 'IP_OMITTED', port: 26213 },
{ username: 'vicario95', ip: 'IP_OMITTED', port: 59836 },
{ username: 'blastocystosis', ip: 'IP_OMITTED', port: 64524 },
{ username: 'jbvidigal', ip: 'IP_OMITTED', port: 56636 },
{ username: 'Semuhinen', ip: 'IP_OMITTED', port: 56445 }
]
trying to connect to parent { username: 'vivatgrendel', ip: 'IP_OMITTED', port: 52683 }
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"dxxxd35423","status":2,"speed":0,"downloadNum":0,"files":0,"folders":0,"slotsFree":0,"country":"IT"}
Client recevied {"type":"getUserStats","username":"dxxxd35423","speed":0,"downloadNum":0,"files":0,"directories":0}
Client recevied {"type":"getUserStatus","username":"Norway","status":1,"privileged":0}
Client sending connectToPeer [1915140431,"vivatgrendel","D"]
peer server client id 0
peer server client sent us a pierce firewall
new parent connected
Client sending haveNoParent [false]
Client sending parentIp ["IP_OMITTED"]
Client sending branchLevel [0]
Client sending branchRoot [""]
Client sending childDepth [0]
Client sending acceptChildren [true]
successfully connected to parent!
pierce fw with token 1915140431
DistribPeer sending pierceFirewall [1915140431]
distrib 24.36.215.115 recvd {"type":"branchLevel","level":4}
parent peer sent us a new branch level { type: 'branchLevel', level: 4 }
Client sending branchLevel [4]
distrib 24.36.215.115 recvd {"type":"branchRoot","root":"space traveller"}
parent peer sent us a new parent (branch root) { type: 'branchRoot', root: 'space traveller' }
Client sending branchRoot ["space traveller"]
Client recevied {"type":"getUserStats","username":"Murf303","speed":1278551,"downloadNum":184,"files":19296,"directories":2214}
found 6 for genesis
Client sending getPeerAddress ["bollws"]
Client recevied {"type":"getPeerAddress","username":"bollws","ip":"IP_OMITTED","port":59691}
found 15 for The Low End Theory
Client sending getPeerAddress ["adesuaq"]
Client recevied {"type":"getPeerAddress","username":"adesuaq","ip":"IP_OMITTED","port":54243}
found 1 for 茎(STEMルビ)~大名遊ビ編~
Client sending getPeerAddress ["esperanza"]
Client recevied {"type":"getPeerAddress","username":"esperanza","ip":"IP_OMITTED","port":57495}
Peer sending peerInit ["MY_USERNAME_OMITTED","P",1119336006]
Peer sending fileSearchResult [{"username":"MY_USERNAME_OMITTED","token":13,"fileList":[{"file":"\\Users\\steff\\Dropbox\\__BACKUP_MACBOOK\\Music\\_Samples\\V.A. - What It Is! Funky Soul And Rare Grooves\\109 - The Freedom Sounds - Soul Sound System (Feat. Wayne Henderson).mp3","size":13434080,"extension":"mp3","bitrate":320,"duration":334,"vbr":false}],"slotsFree":true,"speed":614400,"queueSize":0}]
Client sending connectToPeer [846364741,"bollws","P"]
Client recevied {"type":"userJoinedRoom","room":"nicotine","username":"croakster","status":1,"speed":1828424,"downloadNum":159,"files":2760,"folders":301,"slotsFree":0,"country":"FI"}
Client recevied {"type":"getUserStats","username":"croakster","speed":1828424,"downloadNum":159,"files":2760,"directories":301}
Client sending connectToPeer [1445212749,"adesuaq","P"]
Client recevied {"type":"getUserStatus","username":"Schlurf","status":1,"privileged":0}
Client recevied {"type":"getUserStatus","username":"LaMorge","status":2,"privileged":0}
events.js:291
throw er; // Unhandled 'error' event
^
Error: peer took longer than 5 seconds to connect to us
at Timeout._onTimeout (/Users/steff/Github/rssfetcher/node_modules/livelook/index.js:520:18)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
Emitted 'error' event on LiveLook instance at:
at /Users/steff/Github/rssfetcher/node_modules/livelook/index.js:865:33
at Timeout._onTimeout (/Users/steff/Github/rssfetcher/node_modules/livelook/index.js:520:13)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
[nodemon] app crashed - waiting for file changes before starting...
My router settings look like this:
What can be the problem here? I'm helpful for any advice, thanks.
When I try to npm install --save livelook
it returns this:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/livelook - Not found
npm ERR! 404
npm ERR! 404 'livelook@*' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
Hi, very neat project!
I'm having trouble making this work reliably tho, does it only support mp3 files at the moment or am I missing something?
Thanks
What is the best way to iterate through an array of strings? Do I need to set a timeout perhaps?
(login, etc)
livelook.login((err, res) => {
for (let line of Lines) {
// console.log(line);
livelook.searchFiles(line);
}
});
not sure how this could work. the stream throttling module we're using would just store the download data in RAM, so we're really just slowing down how fast it's written to disk. is this all people want with download speed throttling?
museek has support for obfuscating the packets, which could be useful on some networks.
it takes a long time to populate the shareList initially. we need an option to pass it in the constructor from last time.
need somebody with a upnp-enabled router to test the automatic upnp routing. mine only works with nat pmp.
make sure to do a length check on packets from peers to prevent memory problems from bad actors
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.