Arachnidium README

The project's README from github.com/p2r3/Arachnidium. As one markdown file: README.md.

Arachnidium

Data-optimizing HTTP(S) proxy, powered by mitmproxy.

Setup

  1. Find a home server - this can be any internet-connected computer, like an old laptop. Currently, pre-built releases exist for x64 Windows and Linux. If you need ARM or Mac support, clone the repository and run it from source.
  2. On your home server, download the portable archive for your system in Releases.
  3. Extract the archive and run Arachnidium.exe (or Arachnidium on Linux).
  4. Install the WireGuard client on your device: Android | iOS
  5. Add the VPN preset using the QR code displayed in Arachnidium. Alternatively, use the automatically generated wireguard.cfg file.
  6. This is where things get a little hairy - if you want to actually use this outside of your home WiFi, you'll have to configure your network to listen for incoming VPN connections. To do this, you will have to forward UDP port 51820 from your home server to your router. The exact process for this is vastly different for every network and router, and it would be impossible to give a universal guide in this document, so please research this yourself. Searching for "port forward udp <router model>" should be enough to get you on the right track. Alternatively, call your internet service provider and ask if they can help.
  7. Connect to the VPN and visit mitm.it on your phone's browser. Follow the instructions there to set up the certificate authority. Make sure to read all of the instructions.

If you run into issues, please make sure you've followed these steps carefully. Do your own troubleshooting first to make sure the issue isn't on your end (e.g. misconfigured network). Please do not message me personally asking for help - I sadly don't have the time (or patience) to be able to assist everyone, sorry.

Configuration

There are two ways to configure Arachnidium: via the graphical interface, or by editing defaults.json. Changes made in the GUI are not saved between restarts - for that, use the JSON file. If you want to run Arachnidium without the GUI, set ENABLE_GUI to false in defaults.json.

Running from source

To run this project from source code without building it (for development purposes, or to run on unsupported platforms):

  1. Install Python and uv.
  2. Install Bun.
  3. Clone this repository with submodules (using --recursive).
  4. Run uv run main.py
  5. In another terminal, change directory to bun-api and run bun i, then bun run index.ts

Contributing

Contributions are welcome, though please note that I am personally unlikely to continue working on this project in the long term. This was something that I've wanted to experiment with for a while, but unlike some of my other projects, I have little intention of actually growing this into its own thing. I might still merge pull requests from time to time, but I probably won't close issues on my own (unless it's something critical).

Before submitting an issue, make sure you've read and followed the usage instructions carefully and have done your own troubleshooting. I would prefer that you do not use LLMs in submitted code, but if you do, please be transparent about it. State where an LLM was used, and explain (in your own words) what it did.

Acknowledgements

The name "Arachnidium" is a homage to nature's earliest web developers. The arachnidium is, generally, the part of a spider's body responsible for producing webs. It also sounds really cool.

Arachnidium (p2r3/Arachnidium)

Searching Database…

Что это?Arachnidium — это размещаемый у себя оптимизирующий и сжимающий прокси для HTTP(S) на базе mitmproxy, задуманный для запуска на запасном домашнем компьютере, к которому ваши устройства подключаются через VPN-туннель WireGuard.
Это приложение на телефоне или то, что запускается на домашнем сервере?Это серверное приложение: вы устанавливаете и запускаете его на постоянно включённом домашнем компьютере (подойдёт даже старый ноутбук), затем подключаете к нему телефон или ноутбук через WireGuard VPN, чтобы mitmproxy проксировал и сжимал ваш трафик.
Как запустить Arachnidium в своей сети?Скачайте переносимый архив для своей ОС из раздела Releases, распакуйте и запустите Arachnidium.exe (или Arachnidium на Linux), установите клиент WireGuard на своё устройство, затем добавьте VPN-конфигурацию через QR-код или сгенерированный файл wireguard.cfg.
В чём подвох использования этого вне домашнего Wi-Fi?Чтобы пользоваться им вне дома, придётся пробросить UDP-порт 51820 с домашнего сервера на роутер, а точные шаги сильно различаются в зависимости от роутера и провайдера — универсальной инструкции нет; к тому же автор не планирует активно развивать и поддерживать этот проект в долгосрочной перспективе.
Какие устройства могут подключаться к нему как клиенты?Подойдёт любое устройство с клиентом WireGuard; в README отдельно даны ссылки на настройку для Android и iOS.
Видит ли он мой HTTPS-трафик в открытом виде?Да — Arachnidium построен на mitmproxy, поэтому нужно зайти на mitm.it со своего устройства и установить сгенерированный локально сертификат удостоверяющего центра, который позволяет прокси расшифровывать и повторно сжимать ваш HTTPS-трафик до того, как тот дойдёт до вас.
Что именно здесь делает mitmproxy?Он перехватывает и расшифровывает ваши HTTPS-соединения, чтобы Arachnidium мог сжать и оптимизировать данные в пути, прежде чем вернуть их на ваше устройство.
Можно ли настроить его, не открывая GUI?Да, настройки можно править прямо в defaults.json, а изменения, сделанные в GUI, не переживают перезапуск, если не сохранить их туда; кроме того, GUI можно полностью отключить, установив ENABLEGUI в false.
Почему он называется Arachnidium?Это шутливая отсылка к arachnidium — части тела паука, производящей паутину, — привет «самым первым веб-разработчикам в природе».
Creator
p2r3
Size
0.2 MB
Stars
397
Age
23d
Commits · 90 Days