【问题标题】:How to set up torsocks with postgresql如何使用 postgresql 设置 torsocks
【发布时间】:2021-06-26 22:08:18
【问题描述】:

当我尝试运行我的Python 程序时

程序运行良好torsocks

但是当程序需要连接到数据库时(postgresql) 报错,不能

如何配置tor,让我们的程序可以找到数据库?

我使用postgresql

错误照片:

不管我的程序是 Django 还是我使用 sqlalchemy 根本找不到数据库

oem@khoramfar$: proxychains curl https://api.ipify.org/
    [proxychains] config file found: /etc/proxychains.conf
    [proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
    [proxychains] DLL init: proxychains-ng 4.14
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  178.128.235.170:3128 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  51.68.198.158:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  68.183.192.29:8080 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  93.91.86.102:8080 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  41.237.65.105:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  115.124.115.26:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  41.59.254.172:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  1.20.103.196:42792 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  115.85.75.34:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  118.179.223.130:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  139.255.31.146:8080 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  51.222.73.117:80 <--denied
    [proxychains] Dynamic chain  ...  109.194.114.100:8081  ...  timeout
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  111.90.179.74:8080 <--denied
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  96.47.231.58:8020 <--denied
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  167.172.184.166:40607  ...  185.18.214.13:8080  ...  178.128.125.16:34534  ...  106.51.252.227:80 <--socket error or timeout!
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  167.172.184.166:40607  ...  185.18.214.13:8080  ...  178.128.125.16:34534  ...  59.14.228.31:80 <--socket error or timeout!
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  167.172.184.166:40607 <--denied
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  185.18.214.13:8080 <--socket error or timeout!
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  178.128.125.16:34534  ...  23.21.48.44:443 <--socket error or timeout!
    [proxychains] Dynamic chain  ...  178.128.125.16:35577  ...  178.128.125.16:34534  ...  23.21.140.41:443  ...  OK

185.220.100.251

当我使用代理链时,我的 ip 发生了变化,但是当我运行程序时仍然出现该错误

【问题讨论】:

  • 请提供您的代码或与错误信息相关的一段代码
  • @eshirvana 我的数据库设置:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'sxaww22', 'USER': 'postgres', 'PASSWORD': '1236', 'HOST': 'localhost', 'PORT': '', } }

标签: python django postgresql tor torsocks


【解决方案1】:

如果您通过torsocks 运行程序,您将无法从程序内连接到本地数据库,因为这会拦截所有套接字调用以通过 Tor 路由它们。像这样通过 Tor 路由所有连接意味着没有更多的localhost(无法访问 127.0.0.1)并且数据库连接将通过 Tor。

如果您有一些 HTTP 请求需要在程序中通过 Tor 进行路由,并且您可以更改源,则您需要通过 Tor 通过 SOCKS 代理这些请求,以便只有相关的 HTTP 流量使用 Tor 和其他连接(像数据库)继续照常工作。

【讨论】:

  • 我们如何做到这一点?我不知道具体是怎么回事
  • 这取决于程序中使用的 HTTP 库。如果是 python-requests,请设置 proxies 选项,如第 1 部分所示:stackoverflow.com/a/33875657/892493
  • 我不使用requests库程序是使用postgres的电报机器人总的来说,我误解了你的意思你的意思是在tor上使用HTTPTunnelPort PORT?并构建一个整体的 HTTP 隧道?我不使用请求库(我应该使用HTTP 代理吗?)
  • 它使用 urllib 吗?
  • 我的程序是 Telegram Robot,我想在机器人开机前更改 IP 我不想在机器人本身上使用代理我需要在连接机器人之前更改 IP
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 2022-10-01
  • 1970-01-01
相关资源
最近更新 更多