general/other FreeBSD kernel doesn't have the support for KIST. We will fallback to the naive approach. Remove KIST from the Schedulers list.

Status
Not open for further replies.
Hello.

I would like to run the tor-ip-changer script on my FreeBSD 14.0-RELEASE os within the Linux emulation layer. So,I have followed these instructions here :

https://github.com/seevik2580/tor-ip-changer/tree/master/source-code

and I tried to issue the commands,to see what happens :


Part 1 - install curl, authbind, tor, obfs4proxy, meek-client, libsqlite3-dev, tk-dev, and stop tor service after install and allow to bind port 53 without root permission


Code:
# sudo apt install curl authbind tor obfs4proxy psmisc build-essential libsqlite3-dev tk-dev

# git clone https://github.com/seevik2580/tor-ip-changer.git

# cd tor-ip-changer/source-code

# sudo dpkg -i requirements/linux/meek-client_0.20+git20151006-1_amd64.deb

Selecting previously unselected package meek-client.
(Reading database ... 190277 files and directories currently installed.)

Preparing to unpack .../meek-client_0.20+git20151006-1_amd64.deb ...

Unpacking meek-client (0.20+git20151006-1) ...

Setting up meek-client (0.20+git20151006-1) ...

Processing triggers for man-db (2.10.2-2) ...

setpriv: activate capabilities: Operation not permitted

# sudo touch /etc/authbind/byport/54
# sudo chmod 777 /etc/authbind/byport/54


Part 2 - install pyenv


Code:
# apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git

# curl https://pyenv.run | bash

Cloning into '/root/.pyenv'...
Cloning into '/root/.pyenv/plugins/pyenv-doctor'...
Cloning into '/root/.pyenv/plugins/pyenv-update'...
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...

# echo 'export PATH="~/.pyenv/bin:$PATH"' | tee -a ~/.bashrc

# echo 'eval "$(pyenv init -)"' | tee -a ~/.bashrc

# echo 'eval "$(pyenv virtualenv-init -)"' | tee -a ~/.bashrc

# exec bash


Part 3 - install python 3.7.x with pyenv


Code:
# env PYTHON_CONFIGURE_OPTS="--enable-shared" ~/.pyenv/bin/pyenv install 3.7.7

Downloading Python-3.7.7.tar.xz...

-> https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz

Installing Python-3.7.7...

Installed Python-3.7.7 to /root/.pyenv/versions/3.7.7

# pyenv global 3.7.7


Part 4 - install requirements with pip


Code:
# python -m pip install -r requirements/linux/pip-requirements.txt

Collecting urllib3 (from -r requirements/linux/pip-requirements.txt (line 1))

Downloading https://files.pythonhosted.org/packages/d2/b2 /b157855192a68541a91ba7b2bbcb91f1b4faa51f8bae38d8005c034be52 4/urllib3-2.0.7-py3-none-any.whl (124kB)

Collecting pysocks (from -r requirements/linux/pip- requirements.txt (line 2))

Using cached https://files.pythonhosted.org/packages/8d/59 /b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf 9/PySocks-1.7.1-py3-none-any.whl

Collecting pyinstaller (from -r requirements/linux/pip- requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/bd/23 /c5f0163b2049699cdbb511eac72798f017d4c9a3f4ba571fbef398156e3 d/pyinstaller-5.13.2.tar.gz (4.1MB)

Installing build dependencies ... done Getting requirements to build wheel ... done

Preparing wheel metadata ... done

Collecting importlib-metadata>=1.4; python_version < "3.8" (from pyinstaller->-r requirements/linux/pip- requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/ff/94/64287b38c7de4c90683630338cf28f129decbba0a44f0c6db35a873c73c4/importlib_metadata-6.7.0-py3-none-any.whl

Collecting setuptools>=42.0.0 (from pyinstaller->-r requirements/linux/pip-requirements.txt (line 3))

Using cached https://files.pythonhosted.org/packages/c7/42/be1c7bbdd83e1bfb160c94b9cafd8e25efc7400346cf7ccdbdb452c467fa/setuptools-68.0.0-py3-none-any.whl

Collecting pyinstaller-hooks-contrib>=2021.4 (from pyinstaller->-r requirements/linux/pip-requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/80/7a/00aac9e2db19df940adc5681a1f0cde0ed3aab3655a84279106db7ef0275/pyinstaller_hooks_contrib-2024.0-py2.py3-none-any.whl
(326kB)

Collecting altgraph (from pyinstaller->-r requirements/linux /pip-requirements.txt (line 3))
Downloading https://files.pythonhosted.org/packages/4d/3f/3bc3f1d83f6e4a7fcb834d3720544ca597590425be5ba9db032b2bf322a2/altgraph-0.17.4-py2.py3-none-any.whl

Collecting  typing-extensions>=3.6.4; python_version < "3.8" (from  importlib-metadata>=1.4; python_version <
"3.8"->pyinstaller->-r requirements/linux/pip-requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl

Collecting  zipp>=0.5 (from importlib-metadata>=1.4; python_version <  "3.8"->pyinstaller->-r requirements/linux /pip-requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/5b/fa/c9e82bbe1af6266adf08afb563905eb87cab83fde00a0a08963510621047/zipp-3.15.0-py3-none-any.whl

Collecting packaging>=22.0 (from pyinstaller-hooks- contrib>=2021.4->pyinstaller->-r requirements/linux/pip- requirements.txt (line 3))

Downloading https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl (53kB)

Building wheels for collected packages: pyinstaller

Building wheel for pyinstaller (PEP 517) ... done

Created wheel for pyinstaller: filename=pyinstaller-5.13.2- cp37-none-any.whl size=2141511 sha256=6d7e0ddc402029bcde632226cb433da77e5cf14dcb254703abf96 524a465c805

Stored in directory: /root/.cache/pip/wheels/53/67/27/dc0b2e334bd7e182d2156a1908ec8078eee27575f484af8690

Successfully built pyinstaller

Installing  collected packages: urllib3, pysocks, typing- extensions, zipp,  importlib-metadata, setuptools, packaging, pyinstaller-hooks-contrib,  altgraph, pyinstaller

Found existing installation: setuptools 41.2.0

Uninstalling setuptools-41.2.0:

Successfully uninstalled setuptools-41.2.0

Successfully installed altgraph-0.17.4 importlib-metadata-6.7.0 packaging-23.2 pyinstaller-5.13.2 pyinstaller-hooks-contrib-2024.0 pysocks-1.7.1 setuptools-68.0.0 typing-extensions-4.7.1 urllib3-2.0.7 zipp-3.15.0

WARNING: You are using pip version 19.2.3, however version 23.3.2 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

# pip install --upgrade pip

Collecting pip

Downloading https://files.pythonhosted.org/packages/15/aa /3f4c7bcee2057a76562a5b33ecbd199be08cdb4443a02e26bd2c3cf6fc3 9/pip-23.3.2-py3-none-any.whl (2.1MB)

Installing collected packages: pip Found existing installation: pip 19.2.3 Uninstalling pip-19.2.3:

Successfully uninstalled pip-19.2.3 Successfully installed pip-23.3.2

On FREEBSD :

# xhost +


Now,I have launched the script :

Code:
# python ipchanger.py &

so :

Code:
Thank you for using TOR IP changer

I am not responsible for any casualties or whatever

This version: 1.3.0-8

Last available version:  1.3.0-8 No update required.
IPchanger last update 26.10.2021

Message of the day: project open-sourced :)

Repo url: https://github.com/seevik2580/tor-ip-changer
Autostart OFF.

API server binded to 127.0.0.1:14999 (local) OK.

Checking files.

No missing files TOR server starting using direct connection.

Always obtain unique IP OFF

Please wait ... 30% -

Loading networkstatus consensus 45% -

Asking for relay descriptors 75% -

Loaded enough directory info to build circuits 100% - Done

tail: inotify cannot be used, reverting to polling: Function not implemented

tail:  inotify cannot be used, reverting to polling: Function not implemented  (this is a known non implemented function of the FreeBSD emulation layer,I don't know if this is the cause of the problem)

[notice] Tor 0.4.7.10 running on Linux with Libevent  2.1.12-stable, OpenSSL 3.0.5, Zlib 1.2.11, Liblzma 5.2.5, Libzstd 1.5.2  and Glibc 2.36 as libc.

[notice] Tor can't help you if you use it wrong!

Learn how to be safe at https://support.torproject.org/faq/staying-anonymous/

[notice] Read configuration file "/home/marietto/Files/tor-ip-changer/source-code/Data/tordata0/torrc".

[warn] Path for DataDirectory (Data/tordata0) is relative and will resolve to /home/marietto/Files/tor-ip-changer/source-code/Data /tordata0. Is this what you wanted?

[warn] Path for GeoIPFile (Tor/geoip) is relative and will resolve to /home/marietto/Files/tor-ip- changer/source-code/Tor/geoip. Is this what you wanted?

[warn] Path for GeoIPv6File (Tor/geoip6) is relative and will resolve to /home/marietto/Files/tor-ip- changer/source-code/Tor/geoip6. Is this what you wanted?

[warn] You specified a public address '0.0.0.0:9050'  for SocksPort. Other people on the Internet might find your computer  and use it as an open proxy. Please don't allow this unless you have a  good reason.

[notice] Opening Socks listener on 0.0.0.0:9050

[notice] Opened Socks listener connection (ready) on 0.0.0.0:9050

[notice] Opening DNS listener on 127.0.0.1:54

[notice] Opened DNS listener connection (ready) on 127.0.0.1:54

[notice] Opening Control listener on 127.0.0.1:15000

[notice] Opened Control listener connection (ready) on 127.0.0.1:15000

[warn] Your log may contain sensitive information - you  disabled SafeLogging. Don't log unless it serves an important reason.  Overwrite the log afterwards.

[notice] Parsing GEOIP IPv4 file Tor/geoip.

[notice] Parsing GEOIP IPv6 file Tor/geoip6.

Checking files.
No missing files
TOR server starting
using direct connection.
Always obtain unique IP OFF
Please wait ...

[warn] You are running Tor as root. You don't need to, and you probably shouldn't.

[notice] Bootstrapped 0% (starting): Starting

[notice] Starting with guard context "default"

[notice] Bootstrapped 5% (conn): Connecting to a relay

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 10% (conn_done): Connected to a relay

[notice] Bootstrapped 14% (handshake): Handshaking with a relay

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 15% (handshake_done): Handshake with a relay done

[notice] Bootstrapped 75% (enough_dirinfo): Loaded enough directory info to build circuits

[notice] Looks like our kernel doesn't have the support  for KIST anymore. We will fallback to the naive approach. Remove KIST  from the Schedulers list to disable.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

5% - 250 OK
250-status/bootstrap-phase=NOTICE BOOTSTRAP PROGRESS=5 TAG=conn SUMMARY="Connecting to a relay" 250 OK

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 80% (ap_conn): Connecting to a relay to build circuits

[notice] Bootstrapped 85% (ap_conn_done): Connected to a relay to build circuits

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 89% (ap_handshake): Finishing handshake with a relay to build circuits

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits

[notice] Bootstrapped 95% (circuit_create): Establishing a Tor circuit

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] New control connection opened from 127.0.0.1.

[notice] Bootstrapped 100% (done): Done

Tor seems to work great,but the IP changer icon is greyed out and can't be clicked. I want to point your attention on this notice :

[notice] Looks like our kernel doesn't have the support for KIST anymore. We will fallback to the naive approach. Remove KIST from the Schedulers list to disable.

because I suspect that KIST is not supported on the FreeBSD kernel,so I would like to disable it,but I don't know how to do that. Maybe this is the reason for the fact that I can't change IP with the script. Please let me know what you think.
 
That would only remove the warning message.

KIST is a Linux kernel subsystem not implemented in the Linux emulation layer.

I doubt that the lack of KIST is the only issue you are facing.
 
I read that there are different methods than KIST that TOR can use. One of them,vanilla,is not kernel based. I'm trying to understand how to enable it instead of KIST. What other problems are you thinking there could be ?
 
Another thread, another mess. Could you please finally learn to describe the problem you want to solve, instead of some horribly messed-up solution? It's very implausible that "hey, I want to run the Linux version of tor plus some additional random tool on FreeBSD" is actually your problem.

First things first, TOR can't change (public) IP addresses. It can change the path used through the TOR overlay network (the circuit), which then most likely results in a different exit node to be used when accessing clearnet services .. so these services will see a different client IP address. TOR will use a new circuit every now and then by itself. You can force building a new circuit e.g. on its control port (default 9051), that's even possible from the shell, e.g. assuming an empty control password: (echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051.

Second, KIST is a mechanism available in Linux allowing TOR to (simplified) handle network congestion problems itself instead of leaving them to the network stack of the OS. How do you get the idea this could ever be related here?

But finally and probably most important: Why in the world do you want to use Linux versions of software available natively on FreeBSD? And even then, why on FreeBSD and not on Linux? TOR itself works fine on FreeBSD, been using it for years.
 
Another thread, another mess. Could you please finally learn to describe the problem you want to solve, instead of some horribly messed-up solution? It's very implausible that "hey, I want to run the Linux version of tor plus some additional random tool on FreeBSD" is actually your problem.

First things first, TOR can't change (public) IP addresses. It can change the path used through the TOR overlay network (the circuit), which then most likely results in a different exit node to be used when accessing clearnet services .. so these services will see a different client IP address. TOR will use a new circuit every now and then by itself. You can force building a new circuit e.g. on its control port (default 9051), that's even possible from the shell, e.g. assuming an empty control password: (echo authenticate '""'; echo signal newnym; echo quit) | nc localhost 9051.

Second, KIST is a mechanism available in Linux allowing TOR to (simplified) handle network congestion problems itself instead of leaving them to the network stack of the OS. How do you get the idea this could ever be related here?

But finally and probably most important: Why in the world do you want to use Linux versions of software available natively on FreeBSD? And even then, why on FreeBSD and not on Linux? TOR itself works fine on FreeBSD, been using it for years.

That's a nice start. You asked a lot of questions that I had given for granted because obvious. I will reply to your questions,but I start asking you to don't be rude,if you want.

Another thread, another mess

I don't see any mess. I don't know if you have understood how is my attitude : I like to experiment with not so common ideas. But my ideas aren't chosen randomly,they try to satisfy my real needs. In this case I want to use the script "tor-ip-changer" for automatically change my IP address every n seconds. It's easy. This is the goal of the script and its very well written on the website. I want to try to use TOR instead of a VPN to change my IP. Because TOR is free,but a VPN costs some money. I want to try to use it because TOR offers some dead ends exit nodes. So when you find one,you can't navigate on a various number of sites. To run the script mitigate the problem,because when it finds a not working node,it is changed in a small amount of time,so you can continue to surf Internet without being interrupted hardly.

instead of some horribly messed-up solution ?

Can you try to have a little better positive attitude ? Maybe if you calm yourself you will not see this idea so orrible. The point is that the script does not work if it runs directly on FreeBSD. Or at least I don't have the knowledge to port it there. It needs the Linuxulator. Tor works natively,but the script does not. Anyway,I have already tried different scripts of the same kind already. I have discarded two of them because they were very incompatible with the Linuxulator. I have the feeling that the script that I have chosen may work with some minor adaptations and efforts.

Second, KIST is a mechanism available in Linux allowing TOR to (simplified) handle network congestion problems itself instead of leaving them to the network stack of the OS. How do you get the idea this could ever be related here?

Since the script does not work as expected,I supposed the problem was that it used KIST. So I see an interoperability problem between FreeBSD and Linux or better with the Linuxulator,since the script requires it to work correctly. But it should be studied and modified a little bit.

But finally and probably most important: Why in the world do you want to use Linux versions of software available natively on FreeBSD? And even then, why on FreeBSD and not on Linux? TOR itself works fine on FreeBSD, been using it for years.

sure,TOR works natively on FreeBSD,but the script does not. I tried that script on Linux and it works like a charme. But I prefer to use FreeBSD more than Linux. I have already explained the reasons in the past.
 
Man,your reply does not seem polite,but rude. And I don't know why. Maybe because you don't like what I tried to do. Is it enough to be so rude ? It's interesting that you didn't write anything about the reasons that pushed me to try that. This is the place to talk about FreeBSD (and I try to do this against all the bickering I get from some specific users who seem to think the same way as clones,without showing even a small difference),not to ignore contents without giving explanations. Just ignore without replying to specific technical reasons and questions : I call this behavior very rude and immature. Just do what you want. You asked,I replied and you say "I will ignore what you write". You are so nice. Maybe I do the same even before you. Who knows.

elgrande : is zirias your brother ? or something like that ? or better,he seems to be your perfect clone. Are you happy that someone is acting exactly like you ? I guess it makes you feel good that someone is acting as grumpy as you. I think a cool idea could be to understand how many clones like you there are here.
 
Man,your reply does not seem polite,but rude. And I don't know why. Maybe because you don't like what I tried to do. Is it enough to be so rude ? It's interesting that you didn't write anything about the reasons that pushed me to try that. This is the place to talk about FreeBSD (and I try to do this against all the bickering I get from some specific users who seem to think the same way as clones,without showing even a small difference),not to ignore contents without giving explanations. Just ignore without replying to specific technical reasons and questions : I call this behavior very rude and immature. Just do what you want. You asked,I replied and you say "I will ignore what you write". You are so nice. Maybe I do the same even before you. Who knows.

elgrande : is zirias your brother ? or something like that ? or better,he seems to be your perfect clone. Are you happy that someone is acting exactly like you ? I guess it makes you feel good that someone is acting as grumpy as you. I think a cool idea could be to understand how many clones like you there are here.
You should better think why everyone acts like this.
Anyhow please do not tag me with your bulls!?t!
 
Status
Not open for further replies.
Back
Top