[weboob] Weboob and JavaScript

Matthieu Weber matthieu+weboob at weber.fi.eu.org
Sun Dec 24 22:17:21 CET 2017

On Sun 24.12.2017 at 03:40:06PM -0500, Richard Stallman wrote:
> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>   > Sometimes, weboob needs to execute the JS from websites to work, because of
>   > weird anti-scrapping protections.  It is the case for PayPal, for which we use
>   > node.js to execute the javascript fetched from the website to authenticate.
> Using that approach is a serious problem.  The JS code from PayPal is
> nonfree, and running nonfree code means surrendering your freedom.
> Running the site's nonfree JS code makes it function, but it isn't a
> solution in the free world.
> How do you reach the conclusion that weboob needs to execute the nonfree JS
> code from that site?

> For instance, a good solution is writing your own code (perhaps in JS,
> perhaps in another language) to do the same job that the site's own JS
> code does.

The problem is that the JS code is changing regularly in order to make
the life of web scrappers like weboob more difficult (in a sense, it is
a form of DRM using JS code instead of encryption, aimed at preventing
competitors to provide an alterative client to Paypal's service), so a
one-time translation of that code will soon be obsolete.

A longer term solution would be to transpile the Javascript code into
python, but that would still rely on reading/using the non-free JS code,
and I guess that counts as surendering our freedom.

But now that I think of it, how is writing such a transpiler any
different from reverse-engineering the JS code to produce Python code
that does the same job? If reverse-engineering Paypal's code is not
surrendering our freedom, why would writing a transpiler that reads
Paypal's code and automaticlly does the reverse-engineering lead us to
surrender our freedom? 

 (~._.~)            Matthieu Weber - mweber at free.fr              (~._.~)
  ( ? )                http://weber.fi.eu.org/                    ( ? ) 
 ()- -()          public key id : 0x85CB340EFCD5E0B3             ()- -()
 (_)-(_) "Humor ist, wenn man trotzdem lacht (Otto J. Bierbaum)" (_)-(_)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.symlink.me/pipermail/weboob/attachments/20171224/9faaf974/attachment.sig>

More information about the weboob mailing list