Как стать автором
Обновить
4
0
Степан @Sagittarius67

Пользователь

Отправить сообщение
  "inbounds": [
    {
      "listen": "/dev/shm/Xray-VLESS-gRPC.socket,0666",
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "123"
          }
	],
	"decryption": "none"
      },
      "streamSettings": {
        "network": "grpc",
        "grpcSettings": {
          "serviceName": "1234"
      	}
      }
    },
  {
       "listen": "0.0.0.0",
       "port": 443,
       "protocol": "vless",
       "settings": {
    	   "clients": [
        	{
                "id": "123",
                "flow": "xtls-rprx-vision"
                 }
            ],
		"decryption": "none",
		"fallbacks": [
                    {
                        "dest": "8001",
                        "xver": 1
                    },
                    {
                        "alpn": "h2",
                        "dest": "8002",
                        "xver": 1
                    }
		]
	},
	  "streamSettings": {
                "network": "tcp",
                "security": "tls",
                "tlsSettings": {
                    "rejectUnknownSni": true,
                    "minVersion": "1.2",
                    "certificates": [
                        {
                            "ocspStapling": 3600,
                            "certificateFile": "/etc/letsencrypt/live/domain/fullchain.pem",
                            "keyFile": "/etc/letsencrypt/live/domain/privkey.pem"
                        }
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls"
                ]
            }
	}
],

grpc плюс vision. nginx слушает только 80/8001/8002 порт, с 443 идет проброс с xray на nginx, если клиент не опознан. grpc работает через 443 с таким конфигом.

nginx.conf из ключевого

http
{
map $http_upgrade $connection_upgrade {
        default upgrade;
        ""      close;
    }

map $proxy_protocol_addr $proxy_forwarded_elem {
        ~^[0-9.]+$        "for=$proxy_protocol_addr";
        ~^[0-9A-Fa-f:.]+$ "for=\"[$proxy_protocol_addr]\"";
        default           "for=unknown";
    }

map $http_forwarded $proxy_add_forwarded {
        "~^(,[ \\t]*)*([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?(;([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?)*([ \\t]*,([ \\t]*([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?(;([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?)*)?)*$" "$http_forwarded, $proxy_forwarded_elem";
        default "$proxy_forwarded_elem";
    }

server {
    listen 80;
    return 301 https://$host$request_uri;
     server_tokens off;
}

server {
    listen 127.0.0.1:8001 proxy_protocol;
    listen 127.0.0.1:8002 http2 proxy_protocol;
    set_real_ip_from 127.0.0.1;
location / {
    sub_filter                         $proxy_host $host;
    sub_filter_once                    off;
    proxy_pass                         https://thisis.com;
    proxy_set_header Host              $proxy_host;
    proxy_http_version                 1.1;
    proxy_cache_bypass                 $http_upgrade;
    proxy_ssl_server_name              on;
    proxy_set_header Upgrade           $http_upgrade;
    proxy_set_header Connection        $connection_upgrade;
    proxy_set_header X-Real-IP         $proxy_protocol_addr;
    proxy_set_header Forwarded         $proxy_add_forwarded;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host  $host;
    proxy_set_header X-Forwarded-Port  $server_port;
    proxy_connect_timeout              60s;
    proxy_send_timeout                 60s;
    proxy_read_timeout                 60s;
    }

location /1234 {
    if ($content_type !~ "application/grpc") {
    return 404;
    }
    client_max_body_size 0;
    client_body_buffer_size 512k;
    grpc_set_header X-Real-IP $remote_addr;
    client_body_timeout 52w;
    grpc_read_timeout 52w;
    grpc_pass unix:/dev/shm/Xray-VLESS-gRPC.socket;
    }
}
}

Огромное спасибо за статью. Всё ещё продолжаю интересоваться этой темой.

(И очень рад, что меня вспомнили!)

А есть ссылки, где можно почитать про все эти разные режимы - дубекс, обезяний дубекс, галуа блаблабла и прочие?

Сисадмины — большие интроверты

Это, скорее от того, что многие сисадмины просят написать, что именно идёт не так. А люди очень любят пизговорить, и не любят писать. Однако же, при написании, мысли приходится формулировать и часто получается вполне годное описание проблемы, а не поток сознания.

Работа системного администратора не связана со стрессом

Подержите мои патч-корды. Когда СХД вдруг работает на одном контроллере из двух, а лица, принимающие решения, решили из экономии не покупать на неё поддержку (и ничего не сообщать об этом админу СХД). Полсотни информационных систем и несколько тысяч пользователей работают спокойно, а у пары человек прибавляется седины, пока не будет выполнена успешная замена контроллера...

В Ethereum благодаря активному использованию смарт-контрактов возникает множество дополнительные возможностей для поиска и сопоставления кошельков как по метаданным смарт-контрактов, так и в результате анализа их логики. Из-за этого вопрос принадлежности кошельков к криптобиржам решается гораздо проще. Год назад проводили исследования данного вопроса в контексте использования криптовалют преступными сообществами (elibrary.ru/download/elibrary_48158181_66141183.pdf). Наблюдая за структурой транзакций с использованием методологии информационного картографирования, пришли к выводу, что злоумышленники в меньшей степени используют Ethereum, чем тот же Bitcoin и Monero. Активного применения миксеров в Etherium на тот момент не выявили (возможно это также связано с высокой комиссией за транзакции). В тему статьи хотелось бы порекомендовать следующие базы данных и информационные ресурсы:

  • https://vivigle.com/ (у них своя аналитическая система криптовалют, поисковик по кошелькам, с которыми также связаны хэштеги);

  • ransomwhe.re (пополняемая база данных кошельков криптовымогателей)

    Но всё же по Bitcoin такие ресурсы более востребованы, например:

Еще хороший монитор www.rohitab.com/apimonitor
И отладчик вместо студии x64dbg.com
автоматизировать внесение изменений
можно с помощью www.cheatengine.org
Первое видео недоступно к просмотру
Похоже, это базируется на решении Nokia LTE A2G — www.nokia.com/networks/use-cases/in-flight-broadband-internet-access-with-lte-air-to-ground-a2g-solution

Сейчас вся Западная Европа покрыта такой сетью — www.europeanaviationnetwork.com/en/ean/introduction-to-ean.html
Да, если я правильно понимаю, специальная вентиляция должна быть. Есть такой процесс — quench — когда штатно или аварийно выкипает весь гелий. Быстро. Где-то в штатах был случай, когда из-за квенча вышибло стену помещения.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность