Wiki: Wiki.js behind corporate web proxy

Created on 6 Nov 2019  路  4Comments  路  Source: Requarks/wiki

Question
I have to install wiki.js behind a corporate web proxy server ,but node.js doesn't want to use the environnement variable defined for http_proxy .
Is there a possibility to install package like Axios or other solution in order to have internet access througth this proxy ?

Host Info:

  • OS: Ubuntu 18.04.3
  • Wiki.js version: 2.0.0-rc.17
  • Database engine: MariaDB 10.3.18
help

Most helpful comment

I figured out a work around for this:
use https://github.com/rofl0r/proxychains-ng with LD_PRELOAD. In my case, I am using docker-compose.

You have to:

  • incorporate the compiled proxychains4.so in to /lib/ and set the environment variable
  • create your own proxychains.conf

Here is an example:
Dockerfile

FROM requarks/wiki:2

USER root

ADD ./libproxychains4.so /lib/

RUN echo -e 'localnet 192.168.0.0/255.255.0.0\n\
[ProxyList]\n\
http <YOUR PROXY> <PROXY PORT>\n'\
> /etc/proxychains.conf

USER node

docker-compose.yaml

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    restart: unless-stopped
    volumes:
      - /data/wikijs/postgresql/data:/var/lib/postgresql/data

  wiki:
    image: wikijs-proxychains:1
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
      LD_PRELOAD: /lib/libproxychains4.so
    restart: unless-stopped
    ports:
      - "80:3000"

was you completed ?

All 4 comments

Proxy is not supported yet. You can follow this feature request:
https://wiki.js.org/feedback/p/enable-http-proxy-use

I figured out a work around for this:
use https://github.com/rofl0r/proxychains-ng with LD_PRELOAD. In my case, I am using docker-compose.

You have to:

  • incorporate the compiled proxychains4.so in to /lib/ and set the environment variable
  • create your own proxychains.conf

Here is an example:
Dockerfile

FROM requarks/wiki:2

USER root

ADD ./libproxychains4.so /lib/

RUN echo -e 'localnet 192.168.0.0/255.255.0.0\n\
[ProxyList]\n\
http <YOUR PROXY> <PROXY PORT>\n'\
> /etc/proxychains.conf

USER node

docker-compose.yaml

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    restart: unless-stopped
    volumes:
      - /data/wikijs/postgresql/data:/var/lib/postgresql/data

  wiki:
    image: wikijs-proxychains:1
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
      LD_PRELOAD: /lib/libproxychains4.so
    restart: unless-stopped
    ports:
      - "80:3000"

I figured out a work around for this:
use https://github.com/rofl0r/proxychains-ng with LD_PRELOAD. In my case, I am using docker-compose.

You have to:

  • incorporate the compiled proxychains4.so in to /lib/ and set the environment variable
  • create your own proxychains.conf

Here is an example:
Dockerfile

FROM requarks/wiki:2

USER root

ADD ./libproxychains4.so /lib/

RUN echo -e 'localnet 192.168.0.0/255.255.0.0\n\
[ProxyList]\n\
http <YOUR PROXY> <PROXY PORT>\n'\
> /etc/proxychains.conf

USER node

docker-compose.yaml

version: "3"
services:

  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    restart: unless-stopped
    volumes:
      - /data/wikijs/postgresql/data:/var/lib/postgresql/data

  wiki:
    image: wikijs-proxychains:1
    depends_on:
      - db
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
      LD_PRELOAD: /lib/libproxychains4.so
    restart: unless-stopped
    ports:
      - "80:3000"

was you completed ?

@SharkProgramming, @rockmenjack and @songhanpoo
Besides the proxychain solution, you may also sideload the localization files. Please take a look at my answer on the stackoverflow.

Was this page helpful?
0 / 5 - 0 ratings