Giter Club home page Giter Club logo

Comments (11)

hdbreaker avatar hdbreaker commented on July 22, 2024 1

Hi @cyadron could you explain to me the steps to cross-compile the project to mipsle32?

from microsocks.

rofl0r avatar rofl0r commented on July 22, 2024

does it work when you add -fsigned-char to your CFLAGS ?

from microsocks.

cyadron avatar cyadron commented on July 22, 2024

Unfortunately no.
Still no go.
I am getting other error also (with the original and the fsigned-char version).
Proxy server cannot establish a connection with the target - Network unreachable.
But some sites load fine.

from microsocks.

rofl0r avatar rofl0r commented on July 22, 2024

well from a C language PoV the only difference between x86 and ARM is that ARM defaults to char == unsigned char.
so i'd suspect that your issues are related to the specific ARM box you use - maybe some firewall rules, or a bad connection ?

from microsocks.

cyadron avatar cyadron commented on July 22, 2024

I have tested another socks server on the same device and it loads the sites ok.
Any other idea?

from microsocks.

rofl0r avatar rofl0r commented on July 22, 2024

you could try this: #6 - increasing the stacksize

maybe for some reason the ARM implementation of GLIBC or whatever LIBC you use (which one is it?) wastes more RAM, and since google has a ton of DNS elements in its response it's sufficient to overwrite things and cause weird hickups.

from microsocks.

cyadron avatar cyadron commented on July 22, 2024

Until now I was using release 0.1.0.
Now I am using the latest commit but I still have the problem.
I have tried to set size_t stacksz = 512 * 1024; but nothing changed.
The C library is uclibc.
And I do get the warning that this library sucks when I cross-compile it but no other warning/errors.
The error specified by proxifier is:

  • Proxy server cannot establish a connection with the target - Address type not supported.

and I get no other output/error on the arm machine where microsocks is running.
Could the uclibc library create this problem?

from microsocks.

cyadron avatar cyadron commented on July 22, 2024

After more testing I find out that resolving hostnames through the socks server option causes problems.
If I use an external dns server the sites load fine.
I see that this is one difference between uclibc and glibc.
According to this paper:
https://mirrors.edge.kernel.org/pub/linux/libs/uclibc/Glibc_vs_uClibc_Differences.txt
uclibc does not support DNS resolution.
But since some sites load, I guess it is partially supported?

from microsocks.

rofl0r avatar rofl0r commented on July 22, 2024

yes, uclibc could be the culprit. i'd strongly suggest to use musl instead to build tiny static-linked binaries (build your own toolchain from the scripts in https://github.com/richfelker/musl-cross-make)

from microsocks.

cyadron avatar cyadron commented on July 22, 2024

Hi,

I finally built microsocks using musl.
I have used the option for static-linked binaries and I was able to compile microsocks.
I ended up with a binary 3 times bigger (64 KB).
But the good news is that it works. Resolving hostnames finally works.
So this workaround is good but I guess there is no way to make it work with the default compiler?

from microsocks.

rofl0r avatar rofl0r commented on July 22, 2024

hi, if you want a smaller binary you can try use the following flags in config.mak:

CFLAGS = -Os -flto
LDFLAGS = -s -flto

as for making it work with your uclibc toolchain: did you try latest git ? some bugs have been fixed since you opened your issue.

from microsocks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.