Closed dojafoja closed 5 years ago
I feel embarrassed and embarrassed that we have to shorten it is not because of me it is because of them I pay for my thing a mediafire server that they recommend us so legal
Is the new revision working ok now? It should open a internet browser when download is clicked for injects.
My colleagues say that the download works well with renvo to the browser but that if you put a proper name of the game does not work only with game 1 and so, they also ask if it will be possible to put categories to make it easier to identify them as nes SNES GBA n64 ds game cube Wii and Wiiu
but that is easier that direct download method was more professional but entering games was complicated
That's not true it does not need to be "Game1", "Game 2", etc. I only used those as examples. It should work with any name you want. Make sure you do not run the program from the IDLE editor. Only run the program by double clicking the filee gui.py. Running from the editor may not support certain Spanish encodings.
Please send me a copy of the customsources.json file that is not working for you. I will see why they are not showing up. It should accept any name for the game.
customsources.json.zip If this works, it's my friends who were sure they ate it,
The file you sent me is corrupted. When trying to extract the .zip archive I received this error: " C:\Users\Owner\Downloads\customsources.zip: The archive is either in unknown format or damaged"
I'm almost positive it is some kind of encoding issue. Unicode is tough to deal with in programming. Unicode is the one thing that I've had the most problems with. There are several Unicode encodings and none of them support every single character set. It really is tough sometimes. I really think that is the issue why they arent showing up. I am using utf-8 encoding which supports most character sets but not every single one.
Once you send me the file again I can test my theory.
it's not a zip I put it.zip to send rename it removes .zip
Oops! I didn't realize! Sorry about that.
OK I just pushed some new files. I think I fixed all the Unicode errors this time. You must now provide a "region" and "category" for the entries in the customsources.json file. This is so that they can be filtered by the program.
I also added a new method for doing the themes. There is now a file called themes.py that defines the themes. These theme entries will automatically show up in the program.
There is still a ton of unused code in the source now and I will need to clean it up quite a bit. But I think I'm close to being finished with everything.
When you are editing files such as customsources.json, I highly recommend that you use a good editor instead of Notepad. An editor such as Sublime Text. The file will look much cleaner and will be easier to understand in an editor like this.
my dear friend is that your work is something amazing, it was very nice the pile of topics that you added and everything when I grow up I want to be like you: p
Thank you! Do the world a favor and when you "grow up", be BETTER than me! Always do your best to help other people and eventually good things will come your way. The truth is that your team had some excellent ideas for the program and I enjoyed bringing your ideas to life.
I will clean up the source code in the next day or two and then call this project done. In order for this program to update from your Github, there are only a couple of steps to do.
__VERSION__
variable to a higher revision than the current one.thank you very much, really friend, we are immediately grateful, we have more ideas for the project but maybe later I will communicate them and you can help us
my friend asks me one of the team that if it is possible to mark the game and click it is sent to the browser to load the shortener, but it is possible that the link was captured without shortener then and downloaded in the same gui? As JDownloader does, it is nothing more than whether it is possible or not, because at the beginning the games were downloaded with a progress bar and everything
if it is possible that when clicking on the game there will be the browser after the advertisement appears, capture the link and download it just as jdownloader does ...
Bro there is some way to update customsources.json to add more games and that without updating the gui as the tickets are downloaded
I've spent the last 5 hours attempting and trying to do this and inspecting the HTML. It was also one of the first things that I tried. As far as I can see, the actual link is never exposed client-side. The download button sends identifying information about the user to the server via JavaScript. The link is resolved server-side and returned back to the function that requested it AFTER it is clicked. It's still never exposed because of their implementation. Their entire system is designed to prevent automatic downloads. I don't know how Jdownloader does it to be honest. My guess is that it is an intelligent design that traverses through the html and interacts with the JavaScript and maybe takes a Man In The Middle approach. Im not sure to be honest but its definitely beyond my abilities.
quiet friend just was question but thanks for trying
thank you very much for making all our follies come true
Ok I think I understand your question but I'm not sure. Are you asking for a way to download the customsources.json from inside the gui? In other words, you want the customsources.json to be downloaded in the same way that titlekeys.json is downloaded. A way to keep the list of Injects up to date without releasing a new version of the gui every time. This wouldn't be hard to do I suppose, I could just download from the master-branch and only extract customsources.json from the archive. I will implement it and report back very soon.
I just found a bug that could cause the wrong inject to be downloaded. If the user uses arrow keys to select instead of clicking, it could grab the wrong url. It will be fixed along with the customsources that I'm going to do.
perfect Bro we do not realize that we tried clicking, another question you think it is possible at some point to enable even an icon of each game to choose as it was displayed in Wiiu USB helper I know that Python is simpler but not less powerful I know you can do many things with it, I read that it is used a lot in large companies to do their jobs
The problem isn't really with Python. The problem is more with the tkinter GUI toolkit. There are other toolkits that can probably do something like that much better than tkinter, such as PyQt or maybe wxPython. It would require some serious tricks to make tkinter display a scrolled list of images that can be selected and managed with callbacks. It may be possible but it would be rather difficult and may not look as pretty as you would like it too.
I am still going to add the feature to update the customsources.json file from within the GUI, I just haven't gotten around to it yet but hopefully very soon.
I did write a small tool that will help you to add, remove, and modify entries in the customsources.json file. It's very easy to use and provides a very clean and easy to read json file. Just download this file and put it in the same directory as your customsources.json file. Run this program and you will see a nice, easy to read view of everything contained in customsources.json. You can add, remove, or modify as much as you want. Just remember to click the Save button when you are done or the changes won't be saved.
Something you should remember when naming the entries: Duplicate names are not allowed. This is to avoid confusing different regions of the same game. It's wise to stick with the naming convention that you are using now. Basically, it's wise to include the category and region in the name.
thanks Bro we are connected I was going to ask you for a tool to add games more comfortably and you went ahead, and because of the icons it was just a question. will continue to investigate more thoroughly about features that can be enabled in tkinter thanks for being so attentive with this project, practically super you improved your gui
I enjoy being challenged, it inspires me haha! I wanted to point something out to you that might not be very clear about using manage-sources program. Pay attention to the Selected item in the bottom left corner. An item doesn't need to be highlighted to be the Selected item. So for example if you click to remove selected, you will delete the Selected item. Even if it is not highlighted, because it is still the Selected item. I hope this makes sense.
This happens when you double click inside of an entry box such as the Name box. The program switches focus and nothing will be highlighted in the selection. But there will still be a selected item even though nothing is highlighted
Never mind what I just said. I just found a way so the selection box will never lose it's highlight. Use this version instead to prevent accidents: http://www.mediafire.com/file/ohio568bkn71e38/manage-sources.pyw/file
already thoroughly tested the manager of the links works perfect thank you very much the person in charge of putting the games thank you very much
The shortener that you use is NOT a redirection type of shortener. I tried several python libraries as well as every online service I could find. NONE of them can resolve the download link because it's not the kind of shortener that you might thinking of. It's a short URL that goes to an ad supported landing page. That landing page has a button that WHEN CLICKED runs a JavaScript funtion to get the actual link from their server. It sends identifying information about the user so that the click is counted towards you getting paid. It tracks how many times each IP address clicks the button, etc. Otherwise it would be easy to write a script to simply resolve the link and download the file thousands of times and get paid for it each time. Their service is designed to prevent this and NO simple unshorten tool will do the job. Jdownloader does NOT unshorten your URL, it is basically tricking their server into resolving the link by manipulating the fact that it uses JavaScript to request it. I unfortunately do not know how to trick their servers into giving it to me. It's very complex what Jdownloader is doing. Way beyond what I know. You are confusing what those unshorten tools are capable of. They simply resolve any redirection contained in the Header information. Ad supported "shorteners" are different. They are just pages with ads that have buttons to resolve the link through the server. Even if you found a way to download without clicking on that button, I almost guarantee that it wouldn't count towards you getting paid. If you want the files to be downloaded inside the GUI, you need to provide direct download links. That's all there is to it.
Here is the JavaScript for the request:
` var gethash = location.href.split('#'); var gethashvalue = gethash[1]; if (gethashvalue == "" || gethashvalue === undefined) { var gethashvaluelast = ""; } else { var gethashvaluelast = gethashvalue; }
$(document).ready(function (e) {
$('iframe.fly_fram').height($(document).height() - $('div.fly_head').height() - ($('div.fly_head_bottom').height() * 2));
IFrameLoaded();
});
function IFrameLoaded() {
var count = 6;
var clicked_count = 0;
var timer = function () {
count = count - 1;
if (count <= 0) {
clearInterval(counter);
var skip_ad = $('<div class="skip_btt"><a id="skip_btt" href="#' + gethashvaluelast + '">SKIP AD</a></div>');
$('div.fly_head span#redirectin').parent().css('margin', '6px').html(skip_ad);
var start_button = new Date().getTime();
skip_ad.click(function (e) {
if (clicked_count === 0) {
var tsts = new Date().getTime();
var po = e.pageX + ',' + e.pageY;
var posX = $(this).offset().left;
var posY = $(this).offset().top;
var pos = (e.pageX - posX)+ ',' + (e.pageY - posY);
var tsta_ = tsts - start_button;
var time=po+':'+pos+':'+tsta_;
clicked_count = clicked_count +1;
$.post('http://bc.vc/fly/ajax.php?wds=9dbc2f80835a5f180022a0b280fea6ac&time=' + time, {
xdf: {
afg: tZ,
bfg: cW,
cfg: cH,
jki: 'gKAdtO9zjHe6duRhlj-_FjNZYNanQ-82-_wBKBvcmbMYHwtBtFeOLKLlWLTrkvT_xk1Q-SObOxxyvKf7E11oRa96lGGZIVkkX5qVZlNpOUDEtAiYDd8j52AL98irfIs-20Q62cDPZGida1Lfa4T-R7xsfMLZdyh_rdCrKrseqKn4SOqrAayKax3s1Tn-IhXVQyrOzJ8iIFbVdT8_QPWzqkYKAI9Z6KAdjwsTR3bJHaa2670PfrjD94pmq8NN1nlsroevSSHtfp5FmiuJyqgtAmWP3Qxrm8rObUsITnyfMjk',
dfg: sW,
efg: sH
},
ojk: 'jfhg'
},
function (rr) {
var jj = eval('(' + rr + ')');
if (jj.message) {
if (gethashvaluelast !== "") {
top.location.href = jj.message.url + '#' + gethashvaluelast;
} else {
top.location.href = jj.message.url;
}
}
}
);
}
skip_ad.html("Loading Page...");
});
} else {
$('span#redirectin').text(count);
}
};
var counter = setInterval(timer, 1000);
}`
good friend hehe just wanted to help haha I thought the information was good: v but if you say that you can not can not but as it is already a success we hope the final version to release it
I'm trying to decide the best approach for downloading the customsources.json automatically in the gui. There are 2 ways I can do it.
Create a new Github repo just for the customsources.json. This way there could be version numbers and the program can check for new versions of customsources.json. This way the file would only be downloaded if you guys pushed a new version of the file. I could use the Version Parser already implemented into Funkii-UI.
Always download a copy of the file every time the program starts. A new file would be downloaded every time, even if it is already up-do-date. You would just push customsources.json to the master branch of ACO_WUP_DOWNLOADER. This approach wouldn't require any version numbering but it would download the entire repo and only extract a single file every time the program starts.
Let me know and I will get started on it. Shouldn't take too long at all.
Any thoughts on your preference? If I don't hear back from you soon then I'm going with option 2. I should have time today to get this done.
Excuse me for not answering I thought you had decided haha sorry. my colleagues say that option 1 is more feasible to create another repo and send to update because the Alucardians are people who cost them rice with mango and to avoid silly questions
Ok I think option 1 is better too. It just requires a little more work for you guys because you will need to release "versions" of the file. The program is already setup to parse version numbers from the Github repo so it's easy to add this feature.
I will add an option in the customsources manager to increment the version number easily. Then just draft a release on Github with the same version number as the one you set in the customsources.json file.
Simple..... I will get started on it right away.
perfect Bro I know that for you nothing is impossible you're a crack in this
friend if you notice that it is getting complicated use option 2
It's not that. I have been dealing with a medical situation bro! I spent all day Saturday in the hospital with a kidney stone. Sunday I was just exhausted. I started working on it today and have a version that is almostt functional. Something is failing while downloading the customsources.json and I need to look into what's going wrong. Its probably a typo or something. I will look into it tonight.
brother that you follow better in the kidneys is fatal hurts a lot give yourself the time you need
OK I am done with everything except for cleaning up the source code. I might just leave it how it is for now until I find time in the future to clean up the source code. I created 2 new repos on Github for testing purposes only. Everything seems to be working fine on my end. Here are the working repos: REPO FOR GUI REPO FOR CUSTOMSOURCES Please use the new version of manage-sources.pyw contained in the repo. It has an option to increment the version number of customsources.json The next step for you is to push everything to your Github in 2 separate repos. Do not name them too similar or it can confuse the version parser. I would recommend beginning the customsources repo name with something like "_". For example: " _CustomSources" This will also let everyone who views the repo know that it is used internally by another program.
To update the program OR the customsources, do this:
Let me know if you need more help getting everything setup. Don't forget to change the URL's in gui.py to match your repo URL's
thank you very much brother. When he arrives at my house he checked it and I have the team try to see if everything is perfect to see if we can also make it work hahaha because it costs us a lot
friend we are grateful with your work, but there is a misunderstanding, just revise the revisions but the custom.json is updated with the manager, and we do not want the users to have that because they would add link and it would become a mess we thought would be lowered from the same gui as the tiquet.json that has download button
I don't know what you are talking about. Maybe I don't understand the translation. The customsources.json is downloaded automatically from your Github if the version on Github is newer than the existing file on the users computer. The manage-sources.pyw is for you guys. It's NOT for your users. Do NOT include it in your repo. I don't understand why you think it needs to be included. I only included it so that you would have it. Everything is done automatically. If a new customsources.json revision exists on Github, it is automatically downloaded by the program and there is no need to click a button to download it.
I understand now everything makes sense hahaha apologize
No problem. Just to be clear, manage-sources.pyw does not push any files to your Github. You still have to do that yourself
brother really thank you very much for collaborating with us and doing such a wonderful job you are a genius in programming
In the world of free and open source software. It is considered disrespectful to remove the names of the original developers when modifying their work for redistribution under a different name. You can't just replace the icon and logo, translate English strings to Spanish and call it your own work. You took all credit away from me for Funkii-UI and the Funkiiu devs and gave all credits to you and your team. I'm totally fine with you modifying my work but please add credits in the Readme and in the source for the developers who's work you've taken. Thank you