-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FreeFB Transport #2
Conversation
Untested code. Will "work" only on countries that has access to free.facebook.com I don't know if this works either. I need to test it but I don't have go runtime on my pc :)
Wow, 🆒 |
I don't know how to add the server side though 😅😅😅 |
I don't understand the whole code either yet. (Just scanned the code quickly and looked for parts that obviously need to change) About the response, does it make a request again for the response or not? If it doesn't it wouldn't work since chat using that domain isn't automatically refreshed. (It's a really light version of facebook with no ajax) |
Can we find a VPN that exits at a country that supports free.facebook.com? |
@benhylau That would be great, any ideas? 😕 |
I am trying to find the list of countries/providers. Do you know? |
Perhaps it's possible to look at the countries of these users: |
https://info.internet.org/en/blog/2016/05/10/announcing-the-launch-of-free-basics-in-nigeria/ Seems like access may be local provider specific, and not just by country. |
Right, this is interesting too: Have been trying some Nigerian proxies but no luck. I get a redirected to an "ineligible" page when trying locally:
I could write a small script to take an input proxy list and detect if any of them redirect to some other place / have access, find a volunteer who's willing to share his connection or rent a VPS in some of these countries 😄 |
Just tried a South African proxy, and the message it's pretty clear (and different from what I get locally), the error says that I do need a SIM card, it's complicated 😞 |
Yep it does need a sim card. I could test this by next week but I don't really know how to do the server side yet, if you could help me with that, I'll test it ASAP. |
How does the server tell from the HTTP request? |
The server knows it by doing a WHOIS on the IP afaik. I checked information on the IP of my mobile device and on a home internet connection and the pool is different. (I don't have a home internet connection but I checked in my friend's house) |
That'd mean my phone that reaches free. once connected to a hotspot will no longer reach free. I wonder if that's how it behaves |
Or maybe they have a list of IPs used for cellular. They use NAT so it won't be a very long list. |
Would be nice if we can grab a HTTP request that works. Because it's at the application server, I wonder if it's just a header they scan for. |
i have a sim card with free facebook access. Can i help? |
@Nilars |
@Nilars That would be awesome! |
Lol |
@Nilars I don't know how to set this up nor do I have the golang runtime on my pc. (100mb download is what stops me from testing this. I only have little data left.) |
@benhylau |
@Nilars On the server.go, have you setup environment variables? |
Compiling transpot_facebook.go result transport_facebook.a file |
Can you try running these commands in the src dir of my fork?
Then copy and paste the output to a gist then post a link here. |
Here is the last output on my vps when I ran those commands |
@1Conan |
Test out free fb client implementation
Ok, I finally understood how it works.
For the server side just replace main.go with (https://github.com/1Conan/transports/raw/master/examples/server.go) Then to set the email & pass on windows, use these commands
To find the username, open their profile and check the link. (https://www.facebook.com/usernameoffriend) Make sure you own the two accounts. Here is an example of the configuration for client and server
server
|
i noticed you use "github.com/matiasinsaurralde/transports" instead of "1Conan/transports" in your client file. |
Oh yah. I'll change it later when I go back home. |
not transports.WhatsappTransport error still showing. |
Change WhatsappTransport to FacebookTransport on the server then FreeFBTransport on the client. |
@1Conan |
compile and run fine on my first pc. TLS handshake error on my other pc!!! |
@Nilars (I'm downloading golang right now) |
Tested it. The latest commit fixes the crash I'm getting. @matiasinsaurralde is the function to reply to requests is implemented? I don't see it anywhere. It just says Polling and goes into an infinite for loop after that right? (So server side isn't implemented yet?) |
@1Conan |
@Nilars Also server side doesn't seem to be even implemented yet. |
This will only work for clients so the listen function is useless.
Untested code. Will "work" only on countries that has access to free.facebook.com
I don't know if this works either. I need to test it but I don't have go runtime on my pc :) (I don't know go lang either)
Just created this pull request so you could review it.
Looks like only a little bit of changes needed to be made. But the server side doesn't need any change.
Mind checking it? I'll download the go runtime then compile this sometime in the next few weeks.