Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


roytam1

My build of New Moon (temp. name) a.k.a. Pale Moon fork targetting XP

Recommended Posts

Yes, the mods are complete. Let me know if it causes any problems and you have to revert any of the changes.

I did not modify the app.support.baseURL pref because I couldn't find that one. Serpent doesn't need that one changed anyway; only New Moon. If / when I find it, I'll create another pull request to fix that pref.

Share this post


Link to post
Share on other sites

On 5/29/2019 at 4:29 AM, VistaLover said:

I was recently given a link to a specific facebook video (two orphaned bear cubs being given milk):

https://www.facebook.com/arcturosgr/videos/2355323964725837/UzpfSTU2MzI1NjMwNjoxMDE1NTgyNzQ4OTUzNjMwNw/

[...] as soon as I pressed the play button, I would only get sound but no video (player turns to black :realmad:).

I decided to investigate [...]

It's really nice that with LAV Filters and FFmpeg it's still possible to watch videos in New Moon, but I assumed most New Moon users here have a really old cpu which makes it nearly impossible to get a smooth video playback to begin with.
I stopped investigating years ago, as with my AMD Athlon XP 3200+ it's simply not possible to watch videos in-browser. Whenever I can I try to get my hands on the direct video-url and open it with MPC-HC instead so my gpu can do the decoding (dxva)!

Youtube-dl works for this url and so you could simply do:

FOR /F "delims=" %A IN ('youtube-dl.exe -gf dash_hd_src "https://www.facebook.com/arcturosgr/videos/2355323964725837/UzpfSTU2MzI1NjMwNjoxMDE1NTgyNzQ4OTUzNjMwNw/"') DO @mpc-hc.exe %A

I also wanted to see if I could extract the video-urls myself with my favorite scraper, and it appears I can :):

xidel.exe -s --user-agent="Mozilla/5.0 Firefox/67.0" "https://www.facebook.com/arcturosgr/videos/2355323964725837/UzpfSTU2MzI1NjMwNjoxMDE1NTgyNzQ4OTUzNjMwNw/" --xquery "let $a:=json(replace((//script/extract(.,'\((\{bootloadable.+?)\);',1)[.])[1],'\\\x','\\\u00'))/(.//videoData)() return {'name'://span[@class='_6w6o'],'date':extract($raw,'data-utime=\"(.+?)\"',1) * duration('PT1S') + date('1970-01-01'),'duration':format-time(duration($a/parse-xml(dash_manifest)//@mediaPresentationDuration),'[H01]:[m01]:[s01].[f001]'),'formats':[{'format':'pg-sd','container':'mp4[h264+aac]','url':$a/sd_src},{'format':'pg-hd','container':'mp4[h264+aac]','url':$a/hd_src},for $x at $i in $a/parse-xml(dash_manifest)//Representation order by $x/boolean(@width),$x/@bandwidth count $i return {'format':'dash-'||$i,'container':concat(substring-after($x/../@mimeType,'/'),'[',extract($x/@codecs,'(^[\w]+)',1) ! (if (.='mp4a') then 'aac' else if (.='avc1') then 'h264' else .),']'),'resolution':$x/@width ! concat(.,'x',$x/@height),'samplerate':$x/@audioSamplingRate ! concat(. div 1000,'kHz'),'bitrate':round($x/@bandwidth div 1000)||'kbps','url':$x/BaseUrl}]}"
{
  "name": "Ο Μπράντλεϊ και ο Κούπερ πίνουν το πρωινό τους γάλα σε χρόνο ρεκόρ!",
  "date": "2019-05-28",
  "duration": "00:00:21.430",
  "formats": [
    {
      "format": "pg-sd",
      "container": "mp4[h264+aac]",
      "url": "https://video.fams1-1.fna.fbcdn.net/v/t42.9040-2/61843568_373590383500381_78334383798353920_n.mp4?_nc_cat=110&efg=eyJybHIiOjMyNCwicmxhIjo1MTIsInZlbmNvZGVfdGFnIjoic3ZlX3NkIn0%3D&rl=324&vabr=180&_nc_ht=video.fams1-1.fna&oh=2db0888690b363f77cd2347d0a1b2ddc&oe=5CF72C9D"
    },
    {
      "format": "pg-hd",
      "container": "mp4[h264+aac]",
      "url": "https://scontent.fams1-1.fna.fbcdn.net/v/t39.24130-6/61896969_1057774241083394_2143298778333200645_n.mp4?_nc_cat=107&efg=eyJ2ZW5jb2RlX3RhZyI6Im9lcF9oZCJ9&_nc_ht=scontent.fams1-1.fna&oh=af11dc0bdaa1e1c3677ec995c683ef63&oe=5D8CE345"
    },
    {
      "format": "dash-1",
      "container": "[aac]",
      "resolution": null,
      "samplerate": "44.1kHz",
      "bitrate": "49kbps",
      "url": "https://video.fams1-2.fna.fbcdn.net/v/t42.1790-2/61730896_653046878453207_4586614327225614336_n.mp4?_nc_cat=100&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfdjRhdWRpb2ZvcnNvdXJjZXBpcGVsaW5lXzEyOF9jcmZfMjNfbWFpbl8zLjBfZnJhZ18yX2F1ZGlvIn0%3D&_nc_ht=video.fams1-2.fna&oh=5432806f4c33af32edc22bf2c4795329&oe=5CF723DB"
    },
    {
      "format": "dash-2",
      "container": "[h264]",
      "resolution": "144x256",
      "samplerate": null,
      "bitrate": "94kbps",
      "url": "https://scontent.fams1-1.fna.fbcdn.net/v/t39.25447-6/61730728_299189114366438_1302159605964110084_n.mp4?_nc_cat=107&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2xxMl9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-1.fna&oh=2565a3b437594c6fd2a7e7e651aa4ea7&oe=5D9CD5BA"
    },
    {
      "format": "dash-3",
      "container": "[h264]",
      "resolution": "240x426",
      "samplerate": null,
      "bitrate": "226kbps",
      "url": "https://scontent.fams1-2.fna.fbcdn.net/v/t39.25447-6/61739980_450267335732795_2637262664050798254_n.mp4?_nc_cat=102&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2xxMV9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-2.fna&oh=fa642dce8efabd37bb0f0301b3b31bea&oe=5D517AB3"
    },
    {
      "format": "dash-4",
      "container": "[h264]",
      "resolution": "360x640",
      "samplerate": null,
      "bitrate": "457kbps",
      "url": "https://scontent.fams1-1.fna.fbcdn.net/v/t39.25447-6/61957295_2167711626615482_3010584285180055097_n.mp4?_nc_cat=110&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxMV9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-1.fna&oh=db5624b4ce1ad59185330b7829bfe667&oe=5D897F64"
    },
    {
      "format": "dash-5",
      "container": "[h264]",
      "resolution": "480x852",
      "samplerate": null,
      "bitrate": "736kbps",
      "url": "https://scontent.fams1-2.fna.fbcdn.net/v/t39.25447-6/61777483_2414353792131319_5709933467491253734_n.mp4?_nc_cat=102&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxNF9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-2.fna&oh=0137dbb04f320370fe13bfa645073c3c&oe=5D8B7C5B"
    },
    {
      "format": "dash-6",
      "container": "[h264]",
      "resolution": "720x1280",
      "samplerate": null,
      "bitrate": "1484kbps",
      "url": "https://scontent.fams1-1.fna.fbcdn.net/v/t39.25447-6/61788732_1213415742166317_6377004606775886417_n.mp4?_nc_cat=107&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxMl9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-1.fna&oh=9f8619407dea9ca6caf04b96ffa1d3e3&oe=5D95591A"
    },
    {
      "format": "dash-7",
      "container": "[h264]",
      "resolution": "1080x1920",
      "samplerate": null,
      "bitrate": "3146kbps",
      "url": "https://scontent.fams1-1.fna.fbcdn.net/v/t39.25447-6/61801829_107103767207074_4181022582485783456_n.mp4?_nc_cat=107&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfb2VwX2hxNV9mcmFnXzJfdmlkZW8ifQ%3D%3D&_nc_ht=scontent.fams1-1.fna&oh=d0c7ea5b7a870149b55a1bb0f674872d&oe=5D9E1271"
    }
  ]
}

 

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
On 6/2/2019 at 4:17 AM, VistaLover said:

Cheers :thumbup , you've come pretty close to the resolution of the reported issue; in fact, it's "instagram #2" deja-vu: the type of Javascript code to be sent to the client (browser) by the player.pl video portal is being determined by UA-sniffing; their poorly written site (which, by the way, is infested with third party scripts :angry:) does not like any of the three user-selectable UA strings (testing with New Moon 28.6.0a1) : 

Native: Mozilla/5.0 (Windows NT 6.0; rv:60.9) Goanna/4.2 PaleMoon/28.6.0a1

Gecko compat: Mozilla/5.0 (Windows NT 6.0; rv:60.9) Gecko/20100101 Goanna/4.2 PaleMoon/28.6.0a1

Firefox compat: Mozilla/5.0 (Windows NT 6.1; rv:60.9) Gecko/20100101 Goanna/4.2 Firefox/60.9 PaleMoon/28.6.0a1

The JS code sent with any of the above UA selections renders the SEZON buttons for the Odcinki series inoperable (non-clickable); further troubleshooting reveals that that's because UXP can't handle the Firefox Quantum 60.9-specific code it's being fed :angry:; a pure Firefox ESR 52.9 SSUAO for player.pl will make the SEZON buttons operable again, but when you first load the site you'll get a prompt to upgrade to a more recent (and supported) browser brand/version; you can dismiss that prompt and, hopefully, proceed to view...

However, I've found that to make those buttons work as expected but not get nagged at (for running an older, unsupported, browser), one should use the "Firefox compat" string modified to report a Fx 52.9 version:


general.useragent.override.player.pl;Mozilla/5.0 (Windows NT 6.1; rv:52.9) Gecko/20100101 Goanna/4.2 Firefox/52.9 PaleMoon/28.6.0a1

@Seba21

Please understand that your problem site is specific to Polish speakers and that most of its media content is geo-fenced for non-Polish IPs :angry:; so it's quite difficult for members here that don't understand Polish to navigate that site, troubleshoot it and offer advice/solutions :(

Be that as it may, I believe your issues can be cured by creating (in either New Moon 28 or Serpent 52) a Site-Specific-User-Agent-Override (SSUAO) for player.pl ; that procedure has been explained numerous times in this and other threads:

Load about:config in a tab, promise to be careful :)
Right-click in an empty space and choose to create a new "string" preference - a pop-up will be displayed
As name of the pref, input general.useragent.override.player.pl and click OK - second pop-up will be displayed
As value of the pref, input Mozilla/5.0 (Windows NT 6.1; rv:52.9) Gecko/20100101 Goanna/4.2 Firefox/52.9 PaleMoon/28.6.0a1 and click OK
Close the about:config tab
Reload the player.pl tab

... you should then be able to use your SEZON buttons... ;)

Many thanks. I do not use Pale Moon, only Serpent

For me working user agent for player.pl is:

general.useragent.override.player.pl;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.9) Gecko/20100101 Firefox/52.9

Due to the ads,scripts I do not watch through the browser. I only need to change seasons/episodes and download videos an external program. Now thanks to you I can do it

 

However, in order to have access to the instagram, I need to change general.useragent.compatMode.version to 56.9 and lower, because the default 60.9 only displays the camera icon in the middle of the screen - but you probably all so have, so you also have to change to lower to have access?

Or create next user agent only for instagram:

general.useragent.override.instagram.com;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.9) Gecko/20100101 Firefox/56.9

 

Edited by Seba21

Share this post


Link to post
Share on other sites
Posted (edited)
20 hours ago, Seba21 said:

However, in order to have access to the instagram, I need to change general.useragent.compatMode.version to 56.9 and lower, because the default 60.9 only displays the camera icon in the middle of the screen - but you probably all so have, so you also have to change to lower to have access?

The "instagram" issue in UXP browsers (NM28, Serpent 52) has been covered in fine detail in previous pages of this thread, when it first manifested itself ;); it's a case similar to player.pl, that is due to new UXP defaults (general.useragent.compatMode.version;60.9), instagram sends JS code the platform can't cope with...

The solution is similar to the one suggested for player.pl, i.e. use a SSUAO for instagram that advertises a Firefox < 60.0 version; DON'T touch the "general.useragent.compatMode.version" pref, just create:

general.useragent.override.instagram.com;Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0

:P

Edited by VistaLover
  • Upvote 1

Share this post


Link to post
Share on other sites

Mathwiz said:


I did not modify the app.support.baseURL pref because I couldn't find that one. Serpent doesn't need that one changed anyway; only New Moon. If / when I find it, I'll create another pull request to fix that pref.



For such stuff I simply unzip the 2 omnis and do a text search inside. Instant hit: palemoon.js in browser/omni.ja/defaults/preferences. But wouldn't it be a lot easier to just create a separate little prefs file in browser/defaults/preferences, as was already suggested? But perhaps I'm getting something wrong...
  • Upvote 1

Share this post


Link to post
Share on other sites
Posted (edited)

@Mathwiz:

https://github.com/roytam1/UXP/blob/master/application/palemoon/app/profile/palemoon.js

https://github.com/roytam1/UXP/blob/master/application/palemoon/app/profile/palemoon.js#L82

https://github.com/roytam1/UXP/blob/master/application/palemoon/app/profile/palemoon.js#L927

40 minutes ago, siria said:

But perhaps I'm getting something wrong

 We need the location of the code to be modified inside the Source Code, not inside the compiled application ;) ...

Edited by VistaLover

Share this post


Link to post
Share on other sites

VistaLover said: We need the location of the code to be modified inside the Source Code, not inside the compiled application


Hmm... but what makes this so hard to understand, seen from the outside (zero clue of confusing source/dev/compiling/github stuff): in the final product there are some pref files hidden inside omni.ja, which has internally the same folder structure, but there are also some pref files freely accessible outside, in the defaults/pref or browser/defaults/preferences folder. Those I can't find inside the omni's, no duplicates. Especially K-Meleon has several files, but NewMoon at least one. They must come from somewhere too? And especially, not being embedded anywhere, and their content not refering any dll's or exe's etc, they look like they don't have much to do with 'compiling', and it would be very easy to just add those in some simpler way - like just drag-drop them there in the final zip? And in that defaults folder they override any hidden prefs in the omni's, so wouldn't matter if those still contain other pref values.

  • Upvote 1

Share this post


Link to post
Share on other sites
13 hours ago, siria said:

And especially, not being embedded anywhere, and their content not refering any dll's or exe's etc, they look like they don't have much to do with 'compiling', and it would be very easy to just add those in some simpler way - like just drag-drop them there in the final zip?

if you want to save roytam1's time for doing this before every delivery, don't go this way.

Not to say of possible problems, if the Moonchilds/Tobins/whoever elses code he forks from gets changed and incompatible with this simple drag'n'drop.

So no, if we need to get this changed and help roytam to develop this, forking his github and doing pull request as he asked is the best way.

  • Like 1
  • Upvote 1

Share this post


Link to post
Share on other sites

Mcinwwl said:


if you want to save roytam1's time for doing this before every delivery, don't go this way.

Not to say of possible problems, if the Moonchilds/Tobins/whoever elses code he forks from gets changed and incompatible with this simple drag'n'drop.

So no, if we need to get this changed and help roytam to develop this, forking his github and doing pull request as he asked is the best way.


No not before every delivery. Just once. Putting the new file into the secret hiding place ;-) where the other independant non-compiled files in prefs folder are coming from too. Those are surely not manually copied every single time either.

If the original code gets changed, it will probably get exchanged in the forks too. Then all own fixes are lost if they were embedded deep in the source, and the issue must be investigated again and the fix applied again, or rather gets just forgotten. To me looks like more work not less. Provided of course the fixes are as harmless as exchanging the support URLs in a prefs file.

Of course I'm mighty glad of roytams immense work too, it blows my mind, my own browsing depends on him, and basically a single person has to 'save the world' (xp world) in his spare time ;-) No idea how he manages that, but sad enough for the state of the world today. Still just saying that I find it so extremely out of proportion, that a workload of 1000:1 for two people to reach the same goal is today considered as normal. And even as desirable. The prob is that other people are usually not bored to death either, what everyone seems to assume, and have to struggle for their own little spare time. So comparing a minute for a one-time action of copying a file, with the act of learning github, setting up an account, copying a giant mass of files, learning howt to edit and etc. from scratch, it's just so extremely... oh well, not my prob :)
(It's just that I'm too forced again and again to waste endless struggling time with stuff that experts could do with a fingersnip, but just don't care, in all areas of life)
  • Like 1
  • Upvote 1

Share this post


Link to post
Share on other sites
18 hours ago, siria said:

palemoon.js in browser/omni.ja/defaults/preferences.

Thanks. I'll make the necessary fix and create another pull request, probably tonight.

17 hours ago, siria said:

But wouldn't it be a lot easier to just create a separate little prefs file in browser/defaults/preferences, as was already suggested? But perhaps I'm getting something wrong...

Tried that; surprisingly, it didn't work! Apparently these particular prefs override whatever is in that folder.

(Same goes for SSUAOs BTW; any built-in SSUAOs override whatever is in browser/defaults/preferences, although that's not as critical, since the built-in SSUAOs are supposedly correct for the NM/Serpent version being used. Adding myuseragents.js to that folder still adds the SSUAOs that aren't built in.)

Besides, we want to change the build so that everyone gets these changes, and the easiest way to do that (at least, the easiest way for me) was to fix the built-in prefs in the first place, rather than adding another file to the build to override them.

15 hours ago, siria said:

K-Meleon has several files, but NewMoon at least one. They must come from somewhere too? And especially, not being embedded anywhere, and their content not refering any dll's or exe's etc, they look like they don't have much to do with 'compiling', and it would be very easy to just add those in some simpler way - like just drag-drop them there in the final zip?

I think you're talking about the channel-prefs.js file, which sets app.update.channel to "default" for @roytam1's builds (presumably sets it to "release" or "ESR" in official builds). Yes, if a .js in that folder worked (which, unfortunately, it doesn't), I could've added the prefs to that file instead, although the name "channel-prefs.js" would then be a bit misleading ;)

Share this post


Link to post
Share on other sites
2 hours ago, Mcinwwl said:

if you want to save roytam1's time for doing this before every delivery, don't go this way.

It won't be a problem for every release. It'll only be a problem if MCP someday changes the same files I changed, and even then, I think only if MCP changes the same lines of code (otherwise I think Github can easily merge MCP's changes with mine into the final source files). Pretty sure that's why @roytam1 wanted this done by a pull request in the first place.

If MCP does happen to change those same lines of code someday, @roytam1 will need to decide which of the two conflicting prefs to use in the final build, but that shouldn't be hard and is a one-time decision anyway.

Share this post


Link to post
Share on other sites
29 minutes ago, siria said:


Of course I'm mighty glad of roytams immense work too, it blows my mind, my own browsing depends on him, and basically a single person has to 'save the world' (xp world) in his spare time ;-) No idea how he manages that, but sad enough for the state of the world today. Still just saying that I find it so extremely out of proportion, that a workload of 1000:1 for two people to reach the same goal is today considered as normal. And even as desirable. The prob is that other people are usually not bored to death either, what everyone seems to assume, and have to struggle for their own little spare time. So comparing a minute for a one-time action of copying a file, with the act of learning github, setting up an account, copying a giant mass of files, learning howt to edit and etc. from scratch, it's just so extremely... oh well, not my prob :)

As long as this is the only manual thing to be done in this project and noone else will ever as for such favour, to be done once a week for every build... sure. But give'em a finger, they'll bite your leg off, I bet you that :)

29 minutes ago, siria said:

(It's just that I'm too forced again and again to waste endless struggling time with stuff that experts could do with a fingersnip, but just don't care, in all areas of life) 

It feels like yours real-life experience speaks through you.

Mine says that if you work in heavily automated environment, or work on solving complex problems, it's hard to keep track of all those simple things that should take a while. You simply forget, because you have no habbit, or your brain is still working on a different level.

And things that look simple from outside, might turn out into heavily complex stuff if you know the whole background.

-----

And I'm coming from a position, that actually roytam1 does a big favour to the community doing those builds. We can ask him for feature request, bug fixes and so on, but asking to change his working habbits is too much. Especially, when he once replied no.

That's my final word on the topic, piece.

Share this post


Link to post
Share on other sites
33 minutes ago, Mathwiz said:
18 hours ago, siria said:

palemoon.js in browser/omni.ja/defaults/preferences.

Thanks. I'll make the necessary fix and create another pull request, probably tonight.

... Have you looked at my own post on this subject?

18 hours ago, VistaLover said:

:dubbio:

Share this post


Link to post
Share on other sites

Mathwiz said:


(Same goes for SSUAOs BTW; any built-in SSUAOs override whatever is in browser/defaults/preferences, although that's not as critical, since the built-in SSUAOs are supposedly correct for the NM/Serpent version being used. Adding myuseragents.js to that folder still adds the SSUAOs that aren't built in.)


If overriding omni prefs with external pref files doesn't work, there's something wrong. Perhaps the folder path?? Try both locations, the ancient and the new one? Many years ago in Firefox the path for defaults was changed from "Firefox/defaults/pref" to "Firefox/browser/defaults/preferences". By the way the same structure as just seen inside omni.ja Yet here in the forum it keeps me riddling that still the old path gets recommended over and over, but then again, who knows. And meanwhile saw that actually Palemoon builds etc. still do come with the old path in the zip. And quite obviously, so many experienced people here who know 100x more than myself would long since have noticed if the old path wouldn't work anymore!
But since now you're saying the external overrides don't work, here's a quick theory: What if perhaps, who knows, the browser still considers both paths as valid, but if there's conflicting content, the values in the newer default path get priority? Regardless if inside omni.ja or outside?
  • Upvote 1

Share this post


Link to post
Share on other sites

Mathwiz said: I could've added the prefs to that file instead, although the name "channel-prefs.js" would then be a bit misleading


Yep, of course they should go into an own new file. Like newmoon.js or whatever, name can be freely chosen.

@Mcinwwl: I'm all for automation too if possible. Sorry that I mentioned exchanging the file in the final zip, that was misleading and rather meant to just show how harmless those files are. Or even if done that way, that copy process could certainly be automaticed too by skilled people. But what I originally meant was just to add that new file in the same place where the other sibling files are coming from too. Those sure are included automatically too.
The only thing that makes me not 100% sure is if possibly any checksums or whatever may have to match, no clue about such stuff.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...