forum

mylittleosu (beatmap download manager)

posted
Total Posts
33
Topic Starter
icetear

This program is no longer supported, no bug fixes will be made, sorry. I wrote it as a school project a while ago when it was relevant, though I don't think it is anymore.

Thanks to everyone who used and liked it.
Magnolia
im not putting my password in this.... js
use bloodcat or something
Topic Starter
icetear

HandHeldPillow wrote:

im not putting my password in this.... js
use bloodcat or something
Of course I can put the source code and sniffer logs if necessary.
But who will understand it? Anyway, who knows what is sniffer, can test my program by himself.
http://en.wikipedia.org/wiki/Packet_analyzer
Magnolia
still why not just use bloodcat for it. bloodcat doesnt require login
Topic Starter
icetear

HandHeldPillow wrote:

still why not just use bloodcat for it. bloodcat doesnt require login
Never used bloodcat, seriously, I know only that it's mirror of ranked maps
Unranked maps also available on the bloodcat?
Kiciuk
To delete
Nathanael
I'm suspicious with this. Why do a person needs to input his/her password?
Topic Starter
icetear

Nathanael wrote:

I'm suspicious with this. Why do a person needs to input his/her password?
Because this program download maps from osu server, and it require your login and password
You also can use cookies for login, just follow the instruction from "If you have troubles with login:"
Genesis Rose
The reason he needs to use your guy's password is because peppy still hasn't developed an oauth system so you can log into the website yourself and pass authorization to the application. So you have to risk passing your password through a third party program in order to authorise in third party apps.

TL;DR:


Peppy has said he wants to make an oauth system, but wants to do it right(!) and is currently too busy maintaining the games source to work on it.


In the meantime peppy should implement a simple auth key for applications like this. Similar to this:
(table: userAuth, col int uniqueID, col int userOsuID, col str devApiKey, col str userAuthKey, col time expiresOn)
1. User accesses app.
2. App requests auth, sends user to osu auth page with devApiKey and callback URL.
3. osu auth page requests the user to log in (or if already logged in skip) and ask the user to give application permission to access your account.
4. On deny send user to callback with userAuthKey 0. On accept generate userAuthKey and expiresOn, store them with devApiKey in db, send userAuthKey, userOsuID, and expiresOn to callback url.
5. Accept userAuthKey, userOsuID, and devApiKey as a replacement for userSession for Beatmap System/Forums/Messaging. Do not allow api sessions access to settings or donations. Return error if userAuthKey is expired or incorrect.
6. Add a simple revoke api page in settings that allows users to set the expiresOn on their own userAuthKey's to 0.
7. Ban api keys that abuse.

A modular system like this can easily be expanded and is just as secure as sessions. (As you can see the login failsafe for this app is a session hijack. Which has just as much power as a player login, where an api hijack can be limited by permissions and a revocation. Both are subject to expiration.)


Edit: To the developer: Release your source code if you are ever accessing players accounts outside of an oauth system or you are labeling your program as a potential phishing exploit.
Topic Starter
icetear
Source code added. If somebody wants to make own build, and have some troubles, feel free to ask me, i'll help.

Some users have troubles with login, i am working on this.
If somebody can help me with synapse lib, call me on Skype.
peppy
The login is needed here to pretend to be the osu! website. oauth won't help, because that's not an intended use for oauth. I would strongly recommend against putting your login in any app which isn't osu!.
Genesis Rose

peppy wrote:

The login is needed here to pretend to be the osu! website. oauth won't help, because that's not an intended use for oauth. I would strongly recommend against putting your login in any app which isn't osu!.
My comment was on a session alternative but oh well.
Topic Starter
icetear
MyLittleOsu 1.0.0.3

Added missing .dll files (ssleay32.dll, libeay32.dll, libssl32.dll) you also can download it here https://www.openssl.org/
Removed FastMM_FullDebugMode.dll, I don't more need it, I used it for http://en.wikipedia.org/wiki/Memory_leak detecting.
Now to login using cookies, just leave "Username" and "Password" blank, and click "Login", added video how to do this.

Notice that:
There is no way to get the password from the cookie, if you afraid to use "Username" and "Password", use cookies.

HandHeldPillow, thx for feedback, i'll try to add bloodcat support when i have free time.
Ev0luTioN_old
Yeah try add Bloodcat pliz no limit download and more fast download,

Good program i like :)

Could you fix this bug because it is embarrassing to try to find the map in ctb and at the same time the taiko or otherwise thank you :)

I have try download 58 beatmap osu!mania all beatmap it's ctb need fix :)

Request for you:1) Would it be possible to add a detector Beatmap that currently has not re-download the same Beatmap?
2)Could you do in the future to avoid a updater download the software again several times?
Topic Starter
icetear

Ev0luTioN wrote:

Yeah try add Bloodcat pliz no limit download and more fast download,
Seems I have to do this in anyway, but now I have nothing to say, never used bloodcat, I need time.

Ev0luTioN wrote:

Good program i like :)
Thank)

Ev0luTioN wrote:

Could you fix this bug because it is embarrassing to try to find the map in ctb and at the same time the taiko or otherwise thank you :)
I have try download 58 beatmap osu!mania all beatmap it's ctb need fix :)
Fixed, please redownload .exe file.

Ev0luTioN wrote:

Request for you:1) Would it be possible to add a detector Beatmap that currently has not re-download the same Beatmap?
2)Could you do in the future to avoid a updater download the software again several times?
1. You mean before downloading maps, check the folder for the file with the same name and if it is, check its size, if the size does not match, download a new file?
2. I am also thinking about that, I'll try to add this in future releases.
Ev0luTioN_old

icetear wrote:

1. You mean before downloading maps, check the folder for the file with the same name and if it is, check its size, if the size does not match, download a new file?
Yes way to avoid still have the same Beatmap

icetear wrote:

Fixed, please redownload .exe file.
Thank you it's work now :)

Otherwise would it be possible to put the creator in the search Beatmap? in all places of loading Beatmap for example osu! this is impossible because there are too many to load? Because I'd like to do some research on some creator :)
Topic Starter
icetear

Ev0luTioN wrote:

Otherwise would it be possible to put the creator in the search Beatmap?
Unfortunately this is not possible, because I can use only this parameters for searching, ask peppy about that.

Ev0luTioN wrote:

in all places of loading Beatmap for example osu! this is impossible because there are too many to load?
I don't know.

Ev0luTioN wrote:

Because I'd like to do some research on some creator :)
Try this, but it is so obvious, isn't it?)
Ev0luTioN_old

icetear wrote:

Ev0luTioN wrote:

Otherwise would it be possible to put the creator in the search Beatmap?
Unfortunately this is not possible, because I can use only this parameters for searching, ask peppy about that.
I had forgotten that there was not this option sorry but thank you for the answer





icetear wrote:

Ev0luTioN wrote:

Because I'd like to do some research on some creator :)
Try this, but it is so obvious, isn't it?)
Yes indeed I have not pondered this excuses to me again but thank you
TheAussie


even though its the correct format.
Topic Starter
icetear

Takeda Shingen wrote:



even though its the correct format.
Write me on Skype, i'll help.

2All
Now I'm working on Bloodcat support, please be patient.
I do not have much time, because I'm also working on my coursework.
Anyway, I'll try to finish it as soon as possible. :)
Vuelo Eluko
interesting program,
Topic Starter
icetear
MyLittleOsu 1.1.2.14

  • Fixed login progblem with .png avatars and users without avatar;
    Added Bloodcat support;
    Added multiselect for links list;
    Added MyLittleOsu.ini config file;
Now you can download from http://bloodcat.com/osu/, I mean, using my program.
You can change any default options by editing MyLittleOsu.ini and you also can change default login background, if you don't like it :)

If you found any bug, or something like that (or just want to ask something), feel free to call me on Skype.
Topic Starter
icetear
Hi everybody, sorry for long time without updates, was busy with study.
I rewrote the program from scratch, now it has more features and it has become more convenient.
Last version of the program took 2106 lines of code with a few comments, the new version is 3626 rows, without comments.
Hope you like the program. ;)
Links and screenshots in the first post.

Virustotal

P.S. And no! This program don't steal your passwords, please read ictr_loginthread.pas and Login.pas (Source)
P.S.S. If you find any mistake in docs or any bug in application, please, inform me, else how could I fix it? Thanks ;)
P.S.S.S. Contact me using skype: icetear.gm, and email: icetear.gm@gmail.com and ofcourse this forum.
Topic Starter
icetear
Hi all, few days ago I found that now even searching on osu.ppy.sh require login, so search in my program don't work for some time (this does not apply to bloodcat.com), now its fixed (you need login before search and/or download beatmaps from osu.ppy.sh, program will inform you if you aren't)

Second, I add two checkboxes on login form, "Remember Me" that writes your login and password to MyLittleOsu.ini in raw format (not encrypted) and "Enable Autologin" that will perform login in background every time you start the program (to disable this change appropriate value in *.ini file)
auto_login=1

So, there is no serious changes, just few (important) bug fixes.

P.S. Now default theme is black, to change it back to white change
theme=0

P.S.S. My sweet regex (pattern for one beatmap) for searchin on osu.ppy.sh without API ;)
SPOILER
(?:</div>)?<div\x20class=\x27beatmap\x27\x20id=\x27(\d+)\x27\x20style=\x27width:420px;\x27>(?:(?:[^\n]*\n){8}<a\x20href=\x27/d/(\1n)\x27\x20class=\x27require-login\x20novid\x20beatmap_download_link\x27>NoVid</a>)?(?:[^\n]*\n){3,10}(?:<i\x20class=\x27icon-film\x27></i>\x20)?(?:<i\x20class=\x27icon-picture\x27></i>\x20)?<span\x20class=\x27artist\x27>([^\n]*?)</span>\x20-\x20<a\x20href=\x27/s/\d+\x27\x20class=\x27title\x27>([^\n]*)</span></a>(?:[^\n]*\n){3}<div><span\x20class=\x27light\x27>mapped\x20by</span>\x20<a\x20href=\x27/u/\d+\x27>([^\n]*)</a></div>(?:[^\n]*\n)(?:<div\x20class=\x27initiallyHidden\x27><span\x20class=\x27light\x27>from</span>\x20([^\n]*)</div>)?(?:[^\n]*\n)?<div\x20class=\x27difficulties\x20initiallyHidden\x27>([^\n]*)\x20(?:\.{3})?</div>(?:[^\n]*\n){4}<a\x20href=\x27/p/beatmaplist\?g=\d+\x27>([^\n]*)</a>(?:[^\n]*\n)<a\x20href=\x27/p/beatmaplist\?la=\d+\x27>([^\n]*)</a>(?:[^\n]*\n){5,8}<i\x20class=\x27icon-heart\x27></i>\x20(\d+)(?:[^\n]*\n)<i\x20class=\x27icon-play\x27></i>\x20(\d{1,3}(?:,\d{3}){0,2})
Askor91_old
Awesome program, I love it ;)
Topic Starter
icetear
Re-read first post.
[Mugi]
Thanks for this. this is actually extremely useful. i get why everyone complains about the whole asking for password thing, but damn wtf would you even do with that many osu accounts?? there's not much you can do with that.anyways, if anyone is worried, I can confirm this is safe.
FireSix
The software don't work for me anymore, when i try to search it say "incorrect beatmap pattern" on everything i try to research.
FireSix
This program was very helpful for me i'm sad it doesn't work
xDraga

FireSix wrote:

The software don't work for me anymore, when i try to search it say "incorrect beatmap pattern" on everything i try to research.
Same for me.
Topic Starter
icetear
** Fixed
* Issue with beatmap parsing which was caused by some changes on the official site https:\\osu.ppy.sh\, if more precisely pages contained "empty" maps and also some extra newlines and spaces which program didn't expect to see, I added some regex to clean up the page before parsing
** Note
* Program may show that it displays for example 100 out of 121 beatmaps after a clean search without any filters, it's caused by presence of "empty" results, it's the same on the official site, so it's not an issue

New links in the first post.
PoshPoro
Can you update it?
Topic Starter
icetear
Probably something changed about the website, I'll look if I can fix it.
Ideally the whole application should be rewritten, unfortunately due to my studying at the university I have no time for this.

Update: It will be easier to write a new program than to fix this one, due to obsolete technologies used in it's creation. Thread can be closed.
Please sign in to reply.

New reply