• Using lynx with a proxy server - and ssh with -D

    From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Fri Apr 10 15:02:05 2026
    From Newsgroup: comp.unix.programmer

    I'm trying to get lynx to use my host machine as a proxy server, because certain sites don't work from my home IP address (Thanks to AI bots and CloudFlare and other modern Internet BS!).

    I think I have the lynx side right, but I'm not sure about the ssh side.

    My reading of "man ssh" tells me that I should be able to do (on my local machine):

    $ ssh -D 3281 <host>

    and this should setup a SOCKS4/5 server on the host (as well as getting you
    to a shell prompt on the host).

    While that is running, I do (on my local machine):

    $ http_proxy=http://localhost:3281 lynx http://lists.gnu.org/archive/html/bug-gawk/2026-04/index.html

    And I get (Note: I have verified with "lsof" that the "ssh" process is listening on port 3281):

    --- Cut Here ---
    Looking up localhost:3281
    Making HTTP connection to localhost:3281
    Sending HTTP request.
    HTTP request sent; waiting for response.
    Alert!: Unexpected network read error; connection aborted.
    Can't Access
    `http://lists.gnu.org/archive/html/bug-gawk/2026-04/index.html'
    Alert!: Unable to access document.

    lynx: Can't access startfile
    Status: 1
    $
    --- Cut Here ---

    Just for completeness, I then logged out of the "ssh -D" connection (thus removing the listening process on port 3281) and did it again:

    --- Cut Here ---
    $ http_proxy=http://localhost:3281 lynx http://lists.gnu.org/archive/html/bug-gawk/2026-04/index.html

    Looking up localhost:3281
    Making HTTP connection to localhost:3281
    Alert!: Unable to connect to remote host.

    lynx: Can't access startfile http://lists.gnu.org/archive/html/bug-gawk/2026-04/index.html
    Status: 1
    $
    --- Cut Here ---

    So, it is pretty clear that in the first case, it is finding something, but failing to complete. I think I am missing something in either the "ssh" command or on the host machine.

    Can anyone help? Note that I got most of my info from digging into the
    Lynx documentation (not the man page - the man page doesn't tell you much
    other than to look in the Lynx Users Guide - which is an html file stored
    in /usr/share/doc). The "ssh" info came from "man ssh".

    Note: It sounds like maybe I need to be running some kind of proxy server (beyond what "ssh" provides) on the host; can anyone suggest one?
    --
    After Using Gender Slur Against AOC, GOP Rep. Yoyo Won't Apologize 'For Loving God'.

    That's so sweet...
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Adam Sampson@ats@offog.org to comp.unix.programmer on Fri Apr 10 16:50:48 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:

    $ ssh -D 3281 <host>
    $ http_proxy=http://localhost:3281 lynx ...

    A SOCKS proxy isn't the same as an HTTP proxy - with the latter, you
    just send HTTP requests to it, whereas SOCKS is a different protocol. If
    you want Lynx to connect via a SOCKS proxy, you can say:

    lynx -socks5_proxy localhost:3281 ...
    --
    Adam Sampson <ats@offog.org> <http://offog.org/>
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Fri Apr 10 17:17:45 2026
    From Newsgroup: comp.unix.programmer

    In article <y2aa4vau84n.fsf@offog.org>, Adam Sampson <ats@offog.org> wrote: >gazelle@shell.xmission.com (Kenny McCormack) writes:

    $ ssh -D 3281 <host>
    $ http_proxy=http://localhost:3281 lynx ...

    A SOCKS proxy isn't the same as an HTTP proxy - with the latter, you
    just send HTTP requests to it, whereas SOCKS is a different protocol. If
    you want Lynx to connect via a SOCKS proxy, you can say:

    lynx -socks5_proxy localhost:3281 ...

    Thanks for the response; looks like some progress is being made, but we're
    not there yet.

    My version of lynx doesn't have -socks5_proxy; using it (as shown above) generates a "usage error screen" and there is no mention of it in "man lynx".

    Out of curiosity, is it possible to get the same effect using an
    environment variable?

    Note that "man lynx" has this to say:

    --- Cut Here ---
    Depending on your system configuration and
    supported protocols, the environment variables
    recognized by lynx may include

    cso_proxy
    finger_proxy
    ftp_proxy
    gopher_proxy
    http_proxy
    https_proxy
    news_proxy
    newspost_proxy
    newsreply_proxy
    nntp_proxy
    no_proxy
    rlogin_proxy
    snews_proxy
    snewspost_proxy
    snewsreply_proxy
    telnet_proxy
    tn3270_proxy
    wais_proxy

    See Lynx Users Guide for additional details and...

    --- Cut Here ---

    Now, it turns out that "man lynx" on the host system *DOES* mention -socks5_proxy.

    So, it begins to look like the version (of lynx) I have on my local machine
    is either too old and wasn't compiled with SOCKS support. Looks like I may need to do a self-compile of lynx and see if that helps.

    Is there any easy way to tell conclusively whether or not a given version
    of lynx has SOCKS support?

    ObEditorial: It would be strange for the distro managers to compile it
    without SOCKS support. I mean, like, why bother to save a few kb of disk space...? But, stranger things have happened...
    --
    The randomly chosen signature file that would have appeared here is more than 4 lines long. As such, it violates one or more Usenet RFCs. In order to remain in compliance with said RFCs, the actual sig can be found at the following URL:
    http://user.xmission.com/~gazelle/Sigs/TedCruz
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Fri Apr 10 19:02:14 2026
    From Newsgroup: comp.unix.programmer

    Kenny McCormack <gazelle@shell.xmission.com> wrote:
    So, it begins to look like the version (of lynx) I have on my local machine is either too old and wasn't compiled with SOCKS support. Looks like I may need to do a self-compile of lynx and see if that helps.

    Is there any easy way to tell conclusively whether or not a given version
    of lynx has SOCKS support?

    On Fedora 43, it looks like this:

    ~ $ lynx --version
    Lynx Version 2.9.2 (31 May 2024)
    libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 3.5.4, ncurses 6.5.20250614(wide)
    Built on linux-gnu (Jul 24 2025 00:00:00).

    Copyrights held by the Lynx Developers Group,
    the University of Kansas, CERN, and other contributors.
    Distributed under the GNU General Public License (Version 2).
    See https://lynx.invisible-island.net/ and the online help for more information.

    See http://www.openssl.org/ for information about OpenSSL.

    ~ $ ldd $(which lynx)
    linux-vdso.so.1 (0x00007f1d7d1c1000)
    libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f1d7d186000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f1d7d15e000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f1d7d14a000)
    libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f1d7d0fa000)
    libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f1d7d0bb000)
    libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f1d7d08e000)
    libssl.so.3 => /lib64/libssl.so.3 (0x00007f1d7cd15000)
    libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f1d7c600000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1d7c40d000)
    libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f1d7d069000)
    libunistring.so.5 => /lib64/libunistring.so.5 (0x00007f1d7cb68000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1d7d1c3000)

    I see no socks library linked there so I guess this version does
    not have socks5 support.


    On FreeBSD 15:

    fbsd15:~ $ lynx --version
    Lynx Version 2.8.9rel.1 (08 Jul 2018)
    libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 3.5.4, ncurses 6.5.20240427(wide)
    Built on freebsd15.0 (Apr 4 2026 01:30:05).

    Copyrights held by the Lynx Developers Group,
    the University of Kansas, CERN, and other contributors.
    Distributed under the GNU General Public License (Version 2).
    See https://lynx.invisible-island.net/ and the online help for more information.

    See http://www.openssl.org/ for information about OpenSSL.

    fbsd15:~ $ ldd $(which lynx)
    /usr/local/bin/lynx:
    libz.so.6 => /lib/libz.so.6 (0x2dd0d3cca000)
    libidn.so.12 => /usr/local/lib/libidn.so.12 (0x2dd0d51f0000)
    libncursesw.so.9 => /lib/libncursesw.so.9 (0x2dd0d5dad000)
    libtinfow.so.9 => /lib/libtinfow.so.9 (0x2dd0d45d7000)
    libssl.so.35 => /usr/lib/libssl.so.35 (0x2dd0d6af5000)
    libcrypto.so.35 => /lib/libcrypto.so.35 (0x2dd0d9800000)
    libdl.so.1 => /usr/lib/libdl.so.1 (0x2dd0d8306000)
    libintl.so.8 => /usr/local/lib/libintl.so.8 (0x2dd0d8ffd000)
    libc.so.7 => /lib/libc.so.7 (0x2dd0da8af000)
    libthr.so.3 => /lib/libthr.so.3 (0x2dd0d75df000)
    libsys.so.7 => /lib/libsys.so.7 (0x2dd0db890000)
    [vdso] (0x2dd0d316e000)

    No socks5 there either.

    ObEditorial: It would be strange for the distro managers to compile it without SOCKS support. I mean, like, why bother to save a few kb of disk space...? But, stranger things have happened...

    It seems to me that both Fedora 43 and FreeBSD 15 have left it out.

    Looking at git history, I found this:

    1998-06-25 (2.8.1dev.17)
    * add configure option --with-socks5 (request by Brian Hauber
    <bhauber@frenzy.com>) - TD

    So install the socks library and use that ./configure flag when
    building your custom lynx.

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Fri Apr 10 19:29:19 2026
    From Newsgroup: comp.unix.programmer

    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    [...]
    So install the socks library and use that ./configure flag when
    building your custom lynx.

    Finding that socks library could be the most difficult part.

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Fri Apr 10 19:43:20 2026
    From Newsgroup: comp.unix.programmer

    In article <10rbhfm$1a8v1$1@dont-email.me>,
    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    Kenny McCormack <gazelle@shell.xmission.com> wrote:
    So, it begins to look like the version (of lynx) I have on my local machine >> is either too old and wasn't compiled with SOCKS support. Looks like I may >> need to do a self-compile of lynx and see if that helps.

    Is there any easy way to tell conclusively whether or not a given version
    of lynx has SOCKS support?
    ...
    1998-06-25 (2.8.1dev.17)
    * add configure option --with-socks5 (request by Brian Hauber
    <bhauber@frenzy.com>) - TD

    So install the socks library and use that ./configure flag when
    building your custom lynx.

    Guess so. Thanks for checking this.

    I will get on it.

    Still seems weird to me that they make it an optional thing.
    --
    Conservatives want smaller government for the same reason criminals want fewer cops.
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Fri Apr 10 20:48:00 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:
    Is there any easy way to tell conclusively whether or not a given version
    of lynx has SOCKS support?

    Support for -socks5_proxy was introduced in 2.9.0dev.5:

    https://salsa.debian.org/lynx-team/lynx/-/commit/0ad88bf5208de408f5061ee3a3da67fad45e9235?page=2#9c1ac60ddb3bad1733b0954a5f7fd736df90a992

    So in principle anything after that should work, unless someonerCOs gone
    to the effort to take it back out again. What version do you have and
    where did it come from?

    (I canrCOt find an upstream VCS to reference because Lynx is still being developed in the 1980s or something, so this is DebianrCOs git tree. The
    code is not meaningfully different.)


    kalevi@kolttonen.fi (Kalevi Kolttonen) writes:
    ~ $ ldd $(which lynx)
    [..]

    That is the wrong tool for the job, and it gives the wrong answer in
    this case.

    $ ldd $(type -p lynx) | grep -i socks
    $ lynx -dump -socks5_proxy localhost:1234 http://www.example.com
    Example Domain

    This domain is for use in documentation examples without needing
    permission. Avoid use in operations.

    [1]Learn more

    References

    1. https://iana.org/domains/example
    $ lynx -version
    Lynx Version 2.9.2 (31 May 2024)
    [...]
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Fri Apr 10 20:26:14 2026
    From Newsgroup: comp.unix.programmer

    In article <wwvpl46d2bz.fsf@LkoBDZeT.terraraq.uk>,
    Richard Kettlewell <invalid@invalid.invalid> wrote: >gazelle@shell.xmission.com (Kenny McCormack) writes:
    Is there any easy way to tell conclusively whether or not a given version
    of lynx has SOCKS support?

    Support for -socks5_proxy was introduced in 2.9.0dev.5:

    https://salsa.debian.org/lynx-team/lynx/-/commit/0ad88bf5208de408f5061ee3a3da67fad45e9235?page=2#9c1ac60ddb3bad1733b0954a5f7fd736df90a992

    So in principle anything after that should work, unless someones gone
    to the effort to take it back out again. What version do you have and
    where did it come from?

    I think we are close. On a machine that is running:

    --- Cut Here ---
    $ lynx --version
    Lynx Version 2.9.0 (15 Jan 2024)
    libwww-FM 2.14, SSL-MM 1.4.1, GNUTLS 3.8.3, ncurses 6.4.20240113(wide)
    Built on linux-gnu.

    Copyrights held by the Lynx Developers Group,
    the University of Kansas, CERN, and other contributors.
    Distributed under the GNU General Public License (Version 2).
    See https://lynx.invisible-island.net/ and the online help for more information.
    $
    --- Cut Here ---

    And the command line:

    $ lynx -socks5_proxy localhost:3281 https://lists.gnu.org/archive/html/bug-gawk/2026-04/index.html

    If I run this without the below ssh command running, I get, as expected:

    Alert!: Unable to connect to remote host.
    But, if I launch this ssh command in another window:

    $ ssh -D 3281 localhost

    then re-run the above lynx command, it connects. Yey!!!

    Now, I just need to fetch source code and re-compile lynx on my local
    machine, and it should all be good.

    Thanks for all the help.

    BTW, I'm still curious if there is a direct way to find out if your (i.e.,
    a particular binary) version of lynx has been socksified. I suppose the
    answer is try the -socks5_proxy command line option and see if you get an
    error message.

    BTW2, I hope you are right that it is on-by-default if you have a recent
    enough version of the lynx source code to compile. It should not be an optional thing.
    --
    You know politics has really been turned upside down when you have someone in the
    government with a last name of Cheney (Liz, Senator from Wyoming) who is the voice of
    reason.
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.unix.programmer on Fri Apr 10 22:04:49 2026
    From Newsgroup: comp.unix.programmer

    On Fri, 10 Apr 2026 19:29:19 -0000 (UTC), Kalevi Kolttonen wrote:

    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    [...]
    So install the socks library and use that ./configure flag when
    building your custom lynx.

    Finding that socks library could be the most difficult part.

    Do you even need to build the app specially?

    <https://packages.debian.org/trixie/tsocks> <https://packages.debian.org/trixie/redsocks>
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Fri Apr 10 22:35:51 2026
    From Newsgroup: comp.unix.programmer

    In article <10rbs61$1d7qv$4@dont-email.me>,
    Lawrence DOliveiro <ldo@nz.invalid> wrote:
    On Fri, 10 Apr 2026 19:29:19 -0000 (UTC), Kalevi Kolttonen wrote:

    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    [...]
    So install the socks library and use that ./configure flag when
    building your custom lynx.

    Finding that socks library could be the most difficult part.

    Yes. That seems to be the hard part. I've been doing a little
    investigating and it doesn't seem to be as straightforward as the usual
    "find the lib*-dev" package and install it and then do the usual
    configure/make thing". For one thing, it does seem like the socks library
    is linked statically (i.e., as a .a file) rather than dynamically (as a .so file). This makes it hard to figure out where it comes from.

    Note: I did one ./configure on this thing and it failed because it couldn't find "ncurses" on the system. This is understandable, b/c this particular system did not have libncurses-dev installed. I'm going to try it again on
    a different system which I know does have libncurses-dev. But I still
    don't know whether or not it will be able to find and use socks.

    Do you even need to build the app specially?

    <https://packages.debian.org/trixie/tsocks> ><https://packages.debian.org/trixie/redsocks>

    Ah yes. All the world's a VAX.

    The naivety of youth.
    --
    That's the Trump playbook. Every action by Trump or his supporters can
    be categorized as one (or more) of:

    outrageous, incompetent, or mentally ill.
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Sat Apr 11 09:38:40 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    gazelle@shell.xmission.com (Kenny McCormack) writes:
    Is there any easy way to tell conclusively whether or not a given version >>> of lynx has SOCKS support?

    Support for -socks5_proxy was introduced in 2.9.0dev.5:
    https://salsa.debian.org/lynx-team/lynx/-/commit/0ad88bf5208de408f5061ee3a3da67fad45e9235?page=2#9c1ac60ddb3bad1733b0954a5f7fd736df90a992

    So in principle anything after that should work, unless someones gone
    to the effort to take it back out again. What version do you have and >>where did it come from?
    [...]
    BTW, I'm still curious if there is a direct way to find out if your
    (i.e., a particular binary) version of lynx has been socksified. I
    suppose the answer is try the -socks5_proxy command line option and
    see if you get an error message.

    $ if lynx -help | grep -qe -socks5_proxy; then echo supported; else nope; fi
    supported

    This doesnrCOt cover a case where someone has disabled it but for some
    reason left the option in the help outout, but if your software comes
    from someone that malicious and/or incompetent then itrCOs time to review
    your supply chain.

    BTW2, I hope you are right that it is on-by-default if you have a recent enough version of the lynx source code to compile. It should not be an optional thing.

    Look at the link above, thererCOs no conditional compilation involved.

    Finding that socks library could be the most difficult part.

    Yes. That seems to be the hard part.

    You donrCOt need it.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sat Apr 11 10:29:37 2026
    From Newsgroup: comp.unix.programmer

    In article <wwva4v9vqlr.fsf@LkoBDZeT.terraraq.uk>,
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    ...
    Look at the link above, theres no conditional compilation involved.

    Unfortunately, there is.

    Finding that socks library could be the most difficult part.

    Yes. That seems to be the hard part.

    You don't need it.

    I did quite a bit of messing around with this last night. Without the --with-socks[5] option to ./configure, it won't use socks.

    With that option, ./configure fails, saying it can't find socks.h.
    When I installed some package that provided socks.h (but not, alas, either socks.a or socks.so - for various variations thereof), then it failed
    saying it could not find -lsocks[5].

    Sadly, I think there is a bug/incompleteness in the Debian package
    management ecosystem. I did a lot of searching, and could not find any socks[5] libraries (either .a or .so) in any package in the repo.

    So, it looks like it is not possible to compile (socksified) lynx from
    source, using only stuff found in the Debian (Ubuntu) repos. I think I
    will need to look elsewhere (Github or something like that) for the socks source code.
    --
    There are many self-professed Christians who seem to think that because
    they believe in Jesus' sacrifice they can reject Jesus' teachings about
    how we should treat others. In this country, they show that they reject
    Jesus' teachings by voting for Republicans.
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Sat Apr 11 13:49:45 2026
    From Newsgroup: comp.unix.programmer

    Richard Kettlewell <invalid@invalid.invalid> wrote:
    [...] You donrCOt need [socks library]

    That seems to be correct. On Fedora 43, I did:

    dnf download --srpm lynx

    and inspected lynx.spec. It has:

    %configure --libdir=/etc \
    --disable-font-switch \
    --disable-rpath-hack \
    --enable-addrlist-page \
    --enable-charset-choice \
    --enable-cgi-links \
    --enable-cjk \
    --enable-debug \
    --enable-default-colors \
    --enable-externs \
    --enable-file-upload \
    --enable-gzip-help \
    --enable-internal-links \
    --enable-ipv6 \
    --enable-japanese-utf8 \
    --enable-justify-elts \
    --enable-locale-charset \
    --enable-kbd-layout \
    --enable-libjs \
    --enable-nls \
    --enable-nsl-fork \
    --enable-persistent-cookies \
    --enable-prettysrc \
    --enable-read-eta \
    --enable-scrollbar \
    --enable-source-cache \
    --enable-warnings \
    --with-screen=ncursesw \
    --with-ssl=%{_libdir} \
    --with-brotli \
    --with-bzlib \
    --with-zlib \
    ac_cv_path_RLOGIN=/usr/bin/rlogin

    No mention of socks so I believe it will be compiled in
    as default, and its code is internal, needing no
    external libraries.


    The following command shows that socks5 is supported:

    ~ $ lynx -help|grep sock
    -socks5_proxy=URL (via which) SOCKS5 proxy to connect (unrelated to -nosocks!)

    Lynx version is 2.9.2 as I mentioned earlier.

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sat Apr 11 14:29:50 2026
    From Newsgroup: comp.unix.programmer

    In article <10rdjhp$1rkrp$1@dont-email.me>,
    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    [...] You dont need [socks library]

    That seems to be correct. On Fedora 43, I did:

    dnf download --srpm lynx

    and inspected lynx.spec. It has:

    I'm only concerned with the Debian (Ubuntu and others) ecosystem.

    See my other post for the analysis of the situation in the 2 Debian based systems in which I am interested.

    Note that it *is* compiled in (hence you can't check it with ldd [*]), but there still needs to be a socks[5].a file present at
    configure/compile/build time.

    [*] And there is no runtime dependency (as would be tracked by your package manager) on any other package.
    --
    12% of Americans think that Joan of Arc was Noah's wife.
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Sat Apr 11 15:52:15 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    ...
    Look at the link above, theres no conditional compilation involved.

    Unfortunately, there is.

    Where in https://salsa.debian.org/lynx-team/lynx/-/commit/0ad88bf5208de408f5061ee3a3da67fad45e9235?page=2#9c1ac60ddb3bad1733b0954a5f7fd736df90a992
    is the conditionality, then?

    Finding that socks library could be the most difficult part.

    Yes. That seems to be the hard part.

    You don't need it.

    I did quite a bit of messing around with this last night. Without the --with-socks[5] option to ./configure, it won't use socks.

    I donrCOt know what yourCOre doing, but the current stable release
    absolutely does not need any extra libraries for -socks5_proxy support.
    This is clear enough from a glance at the code, but if you want a
    complete worked example:

    richard@tsais:~/junk/lynx2.9.2$ ./configure
    [...]
    richard@tsais:~/junk/lynx2.9.2$ grep socks config.log
    configure:13021: checking if you want socks library
    configure:13039: checking if you want socks5 library
    cf_cv_use_libsocks='no'
    cf_cv_use_libsocks5='no'
    richard@tsais:~/junk/lynx2.9.2$ make
    [...]
    richard@tsais:~/junk/lynx2.9.2$ ./lynx -cfg /etc/lynx/lynx.cfg -dump -socks5_proxy localhost:1234 http://www.example.com/
    unknown option name EXTERNAL in /etc/lynx/lynx.cfg
    Example Domain

    This domain is for use in documentation examples without needing
    permission. Avoid use in operations.

    [1]Learn more

    References

    1. https://iana.org/domains/example

    I would expect the same outcome from anything from 2.9.0dev.5 onwards.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Sat Apr 11 15:53:47 2026
    From Newsgroup: comp.unix.programmer

    Richard Kettlewell <invalid@invalid.invalid> writes:
    I donrCOt know what yourCOre doing, but the current stable release
    absolutely does not need any extra libraries for -socks5_proxy support.
    This is clear enough from a glance at the code, but if you want a
    complete worked example:

    richard@tsais:~/junk/lynx2.9.2$ ./configure
    [...]
    richard@tsais:~/junk/lynx2.9.2$ grep socks config.log
    configure:13021: checking if you want socks library
    configure:13039: checking if you want socks5 library
    cf_cv_use_libsocks='no'
    cf_cv_use_libsocks5='no'
    richard@tsais:~/junk/lynx2.9.2$ make
    [...]
    richard@tsais:~/junk/lynx2.9.2$ ./lynx -cfg /etc/lynx/lynx.cfg -dump -socks5_proxy localhost:1234 http://www.example.com/
    unknown option name EXTERNAL in /etc/lynx/lynx.cfg
    Example Domain

    This domain is for use in documentation examples without needing
    permission. Avoid use in operations.

    [1]Learn more

    References

    1. https://iana.org/domains/example

    I would expect the same outcome from anything from 2.9.0dev.5 onwards.

    Addendum, there is genuinely no additional SOCKS support lying around to
    be secretly used here:

    richard@tsais:~/junk/lynx2.9.2$ find . -name \*socks\*
    richard@tsais:~/junk/lynx2.9.2$ dpkg -S libsocks
    dpkg-query: no path found matching pattern *libsocks*
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Sat Apr 11 14:54:41 2026
    From Newsgroup: comp.unix.programmer

    Kenny McCormack <gazelle@shell.xmission.com> wrote:
    In article <10rdjhp$1rkrp$1@dont-email.me>,
    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    [...] You dont need [socks library]

    That seems to be correct. On Fedora 43, I did:

    dnf download --srpm lynx

    and inspected lynx.spec. It has:

    I'm only concerned with the Debian (Ubuntu and others) ecosystem.

    Yes but the configure flags are relevant to all distros, not
    just Fedora. It shows what works.

    See my other post for the analysis of the situation in the 2 Debian based systems in which I am interested.

    Note that it *is* compiled in (hence you can't check it with ldd [*]), but there still needs to be a socks[5].a file present at
    configure/compile/build time.

    I do not think so. Just use the configure flags
    I showed you and do *not* use --with-socks5 or
    whatever I told you earlier.

    Here are the dependencies on Fedora 43:

    Provides: webclient
    Provides: text-www-browser
    BuildRequires: brotli-devel
    BuildRequires: bzip2-devel
    BuildRequires: dos2unix
    BuildRequires: gcc
    BuildRequires: gettext
    BuildRequires: gnupg2
    BuildRequires: libidn2-devel
    BuildRequires: make
    BuildRequires: ncurses-devel
    BuildRequires: openssl-devel
    BuildRequires: telnet
    BuildRequires: unzip
    BuildRequires: zip
    BuildRequires: zlib-devel

    As you can see, no socks library is required for
    the build to succeed.

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sat Apr 11 20:58:02 2026
    From Newsgroup: comp.unix.programmer

    In article <wwvik9x5z34.fsf@LkoBDZeT.terraraq.uk>,
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    ...
    I dont know what youre doing, but the current stable release
    absolutely does not need any extra libraries for -socks5_proxy support.
    This is clear enough from a glance at the code, but if you want a
    complete worked example:

    richard@tsais:~/junk/lynx2.9.2$ ./configure
    [...]
    richard@tsais:~/junk/lynx2.9.2$ grep socks config.log
    configure:13021: checking if you want socks library
    configure:13039: checking if you want socks5 library
    cf_cv_use_libsocks='no'
    cf_cv_use_libsocks5='no'

    OK. I get it now. You don't pass --with-socks[5] on the ./configure
    command line, and if you do, bad things happen. But without it, you do get socks5 support. Maybe they did it this way to support the idea of using
    some external or custom socks or socks5 library, but in any case, it is
    very confusing. I think it is a "soft bug" (aka, a "documentation" bug).

    So, I got it to compile as you did, and it works (socksified) with http://www.example.com

    So, that's good. But there are still problems.

    I get the following message on startup (but it seems to be harmless):

    unknown option name EXTERNAL in /home/username/local/lynx-2.9/etc/lynx.cfg

    But then, when I try to access my sample https:// URL (note that
    example.com is only http://, without the "s", so this problem does not
    arise in that case), I get:

    Alert!: This client does not contain support for HTTPS URLs.

    So, now I'd like to know how to compile it so that it supports https.

    Any idea what *-dev library I have to install (in a Debian/Ubuntu-ish
    system) to get that?

    In case, it helps, here are the things it couldn't find in the ./configure
    run:

    $ grep find config.log
    /usr/bin/ld: cannot find -linet
    /usr/bin/ld: cannot find -ldir
    /usr/bin/ld: cannot find -lbsd
    configure:39062: testing find linkage for idn2 library ...
    configure:39603: testing find linkage for idn library ...
    configure:40030: WARNING: Cannot find idn library
    configure:41031: testing find linkage for bz2 library ...
    configure:41499: WARNING: Cannot find bz2 library
    configure:42781: testing find linkage for brotlidec library ... configure:43267: WARNING: Cannot find brotlidec library cf_cv_find_linkage_brotlidec='no'
    cf_cv_find_linkage_bz2='no'
    cf_cv_find_linkage_iconv='yes'
    cf_cv_find_linkage_idn='no'
    cf_cv_find_linkage_idn2='no'
    cf_cv_find_linkage_z='yes'
    $
    --
    The randomly chosen signature file that would have appeared here is more than 4 lines long. As such, it violates one or more Usenet RFCs. In order to remain in compliance with said RFCs, the actual sig can be found at the following URL:
    http://user.xmission.com/~gazelle/Sigs/Infallibility
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Sat Apr 11 22:42:18 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:
    So, now I'd like to know how to compile it so that it supports https.

    Any idea what *-dev library I have to install (in a Debian/Ubuntu-ish
    system) to get that?

    What is the target platform here? Not just rCLDebian/Ubuntu-ishrCY but the
    name and version? For Debian 0.93 the answer would be quite involved
    (and wonrCOt come from me), for Debian stable it would be very simple:
    apt install lynx.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sun Apr 12 00:31:55 2026
    From Newsgroup: comp.unix.programmer

    In article <wwva4v9898l.fsf@LkoBDZeT.terraraq.uk>,
    Richard Kettlewell <invalid@invalid.invalid> wrote: >gazelle@shell.xmission.com (Kenny McCormack) writes:
    So, now I'd like to know how to compile it so that it supports https.

    Any idea what *-dev library I have to install (in a Debian/Ubuntu-ish
    system) to get that?

    What is the target platform here? Not just Debian/Ubuntu-ish but the
    name and version?

    I would rather not say. I have found that it pays to remain as generic as possible in these forums, as otherwise, people get hung up on the
    specifics. I realize this sometimes makes it difficult for the
    help-givers, but it is for the best.

    For Debian 0.93 the answer would be quite involved (and wont come from
    me), for Debian stable it would be very simple: apt install lynx.

    Suffice it to say that if "apt install lynx" were the answer, we obviously wouldn't be having this conversation. The whole point of the conversation
    is about needing to build it from source.

    It has to do with my running an older version of the OS (and obviously not being willing/able to "upgrade" it), yet needing newer versions of certain tools than those that come with the OS. The way I usually do this is to
    get the source from a system running a newer version of the OS (via: apt
    source <package>) and then build that source on the older system.

    I have done this with various other tools, such as ssh.
    --
    The plural of "anecdote" is _not_ "data".
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Adam Sampson@ats@offog.org to comp.unix.programmer on Sun Apr 12 03:32:28 2026
    From Newsgroup: comp.unix.programmer

    kalevi@kolttonen.fi (Kalevi Kolttonen) writes:

    As you can see, no socks library is required for the build to succeed.

    Indeed - I build Lynx 2.9.2 without --enable-socks, and SOCKS works fine
    for me.

    You *can* build Lynx against libsocks (e.g. as provided by Dante: https://www.inet.no/dante/), but you don't need to - if you look at WWW/Library/Implementation/HTTCP.c, in the HTDoConnect function, there's built-in SOCKS client code that's enabled even if SOCKS isn't defined.
    --
    Adam Sampson <ats@offog.org> <http://offog.org/>
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.unix.programmer on Sun Apr 12 10:45:20 2026
    From Newsgroup: comp.unix.programmer

    gazelle@shell.xmission.com (Kenny McCormack) writes:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    What is the target platform here? Not just Debian/Ubuntu-ish but the
    name and version?

    I would rather not say. I have found that it pays to remain as
    generic as possible in these forums, as otherwise, people get hung up
    on the specifics. I realize this sometimes makes it difficult for the help-givers, but it is for the best.

    Good luck with that.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sun Apr 12 10:43:31 2026
    From Newsgroup: comp.unix.programmer

    In article <y2a3410ucw3.fsf@offog.org>, Adam Sampson <ats@offog.org> wrote: >kalevi@kolttonen.fi (Kalevi Kolttonen) writes:

    As you can see, no socks library is required for the build to succeed.

    Indeed - I build Lynx 2.9.2 without --enable-socks, and SOCKS works fine
    for me.

    You *can* build Lynx against libsocks (e.g. as provided by Dante: >https://www.inet.no/dante/), but you don't need to - if you look at >WWW/Library/Implementation/HTTCP.c, in the HTDoConnect function, there's >built-in SOCKS client code that's enabled even if SOCKS isn't defined.

    Thanks for the pointer to where to find the external SOCKS library.

    As you say, it is not necessary. It is (more than a little) bit confusing.

    Anyway, now the (next) problem is figuring out how to get HTTPS support compiled in.
    --

    "If God wanted us to believe in him, he'd exist."

    (Linda Smith on "10 Funniest Londoners", TimeOut, 23rd June, 2005.)
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Sun Apr 12 15:48:55 2026
    From Newsgroup: comp.unix.programmer

    Kenny McCormack <gazelle@shell.xmission.com> wrote:
    Anyway, now the (next) problem is figuring out how to get HTTPS support compiled in.

    On Fedora, you need openssl-devel. You need to find out what
    it is called on your OS. According to chatGPT, it is:

    libssl-devel

    on Debian.

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From kalevi@kalevi@kolttonen.fi (Kalevi Kolttonen) to comp.unix.programmer on Sun Apr 12 15:53:55 2026
    From Newsgroup: comp.unix.programmer

    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    On Fedora, you need openssl-devel. You need to find out what
    it is called on your OS. According to chatGPT, it is:

    libssl-devel

    on Debian.

    Sorry, my mistake, it is called:

    libssl-dev

    br,
    KK
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sun Apr 12 16:44:37 2026
    From Newsgroup: comp.unix.programmer

    In article <10rgf6j$2l9h4$1@dont-email.me>,
    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    Kalevi Kolttonen <kalevi@kolttonen.fi> wrote:
    On Fedora, you need openssl-devel. You need to find out what
    it is called on your OS. According to chatGPT, it is:

    libssl-devel

    on Debian.

    Sorry, my mistake, it is called:

    libssl-dev

    br,
    KK

    Bingo! Thank you, thank you!

    I installed that package, then did: make distclean
    followed by: ./configure --with-ssl && make
    And then: make install

    And now it all works. Yey!

    For anyone who is following along at home, the magic is:

    1) apt install libncurses-dev libssl-dev
    2) ./configure --with-ssl --prefix=$HOME/local/lynx-2.9
    3) make
    4) make install

    Note, BTW, that you *can* tell that SSL is there (in your built lynx) using ldd:

    $ ldd ./lynx | grep ssl
    --
    The randomly chosen signature file that would have appeared here is more than 4 lines long. As such, it violates one or more Usenet RFCs. In order to remain in compliance with said RFCs, the actual sig can be found at the following URL:
    http://user.xmission.com/~gazelle/Sigs/Cancer
    --- Synchronet 3.21f-Linux NewsLink 1.2
  • From gazelle@gazelle@shell.xmission.com (Kenny McCormack) to comp.unix.programmer on Sun Apr 12 17:16:29 2026
    From Newsgroup: comp.unix.programmer

    In article <10rgi5l$18jqg$1@news.xmission.com>,
    Kenny McCormack <gazelle@shell.xmission.com> wrote:
    ...
    For anyone who is following along at home, the magic is:

    1) apt install libncurses-dev libssl-dev
    2) ./configure --with-ssl --prefix=$HOME/local/lynx-2.9
    3) make
    4) make install

    One more thing. I still got (until I fixed it as described below) the
    bogus error message about EXTERNAL being an unknown option (or something
    like that). I fixed this by editing the cfg file and finding the line that ends with :EXTERNAL and commenting that line out.

    There is probably a more system-y way to fix this, but I don't care enough
    to find/figure that out. If anyone else knows a better fix, though, please
    let me know.
    --
    There are many self-professed Christians who seem to think that because
    they believe in Jesus' sacrifice they can reject Jesus' teachings about
    how we should treat others. In this country, they show that they reject
    Jesus' teachings by voting for Republicans.
    --- Synchronet 3.21f-Linux NewsLink 1.2