LINUX.ORG.RU

Сообщения xionovermazes

 

BiPlanes Revival

BiPlanes Revival - это ремейк старой игры для мобильных телефонов. Доступна для Linux/Windows. Есть возможность играть по сети как для Direct Connect, когда есть белый айпи, а также реализован матчмейкинг через NAT Hole Punching (не работает для symmetric NAT ). Графика SDL2.

Отрывок с сайта :

Features:

  • Crossplatform

  • Easy matchmaking using peer-to-peer connection

  • Play with your friend using secret password

  • Easy to learn, hard to master gameplay

  • Hardcore mode: one-shot kills + more clouds for cover

  • Automated statistics system keeps track of your efficiency

  • Sounds and sprites can be modded

Изначально проект делался в целях изучения SDL2 и сокетного сетевого програмирования, но решили допилить до в какой-то мере играбельного результата. Пароль в матчмейкинге работает как namespace для P2P соединений, т.е. чтобы с другом поиграть нужно ввести одинаковый пароль.

Сайт : https://regular-dev.org/biplanes-revival

На сайте скриншоты и видео с геймплеем + ссылка на скачивание AppImage

Cкомпилировать из сорцов : https://github.com/regular-dev/biplanes-revival

 , ,

xionovermazes ()

TCP based multichannel library/protocol

Доброго времени суток,

Ищу Сабж. Сабж также должен быть :

  • Кроссплатформенный (Linux / Windows хотябы)
  • Открытый исходный код.
  • Написан на C/C++.
  • Уметь в несколько каналов паралельной передачи передачи.

Большой плюс, если эта библиотека сможет в передачу файлов через API уровня s.sendFile(«/path/file.txt»).

Также хорошо, если написана на boost::asio.

Видел SCTP, но о нём мало после 2010 что то видно. Да и не TCP это.

Посоветуйте что-нибудь…

 , ,

xionovermazes ()

Sciter rust-binding dom example не загружает html с внешних ресурсов

Добрый день.

Недавно начал изучать Rust и вот мне очень нравится писать простенькие интерфейсы. Выбрал для себя sciter.

Собственно пытаюсь скомпилировать dom example. (https://github.com/sciter-sdk/rust-sciter/blob/master/examples/dom.rs)

Все скомпилировалось - запускаю - белое окно.

Далее я просто скопировал исходный код url в файл (http://httpbin.org/html) и поменял функцию c load_file на load_html :

let html = include_bytes!("minimal.htm");
frame.load_html(html, Some("example://minimal.htm"));

Заработало - Т.е. из памяти он отображает html контент. Пробовал запускать с root - тоже самое. Интернет на хосте есть, сайт пингует. Писал на форум sciter - там три дня пост на модерации уже. помогите пожалусто!!!

 , ,

xionovermazes ()

Uinput передвижение мыши

Привет,

Мне нужно написать функции, которые двигают курсор, кликают мышкой. До некоторого момента, реализовывал это через Xtst, X11 - работало. Сейчас на ноутбуке имею Debian с Wayland и соотвественно работать перестало. Нашел решение в виде uinput. Набросал пару функции. И тут в чем особенность поведения - он один раз , ПЕРВЫЙ, передвинул. Под первым имею в виду первую запись в дескриптор uinput. Потом перестает. Клики мышки также работают, но только один раз.

Вот код : https://pastebin.com/zF5KKTVC

Захостил на всякий случай сдесь, может пригодиться кому.

https://gist.github.com/regular-dev/7a214f8b52911a63afe803693d467863

Помогите люди добрые !

 , ,

xionovermazes ()

OpenVPN Debian 9 server problem

Привет,

Поднимаю TLS-openvpn на debian 9 по этому гайду https://wiki.debian.org/OpenVPN.

Что я ввел :

1) apt-get install openvpn
2) apt-get install easy-rsa
3) make-cadir easy-rsa
4) cd easy-rsa  
5) ln -s openssl-1.0.0.cnf openssl.cnf
6) chmod +x vars
7) sudo ./vars
8) sudo ./build-ca

Вот на восьмом шаге в гайде написано : It will generate ca.crt and ca.key in /etc/openvpn/easy-rsa/keys/ directory.

У меня никаких ключей не сгененрировалось в этой папке не воявилось.

Some output :

 
sudo ./vars  
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
root@s169731:/etc/openvpn/easy-rsa# sudo ./clean-all 
Please source the vars script first (i.e. "source ./vars")
Make sure you have edited it to reflect your configuration.
sudo ./build-ca 
  Please edit the vars script to reflect your configuration,
  then source it with "source ./vars".
  Next, to start with a fresh PKI configuration and to delete any
  previous certificates and keys, run "./clean-all".
  Finally, you can run this tool (pkitool) to build certificates/keys.

 ,

xionovermazes ()

Rails RefineryCMS - iframe tag (embed youtube)

Приветик,

Хочу вставить youtube видео на сайт под управлением rails 5.1.7 refinnery cms -> 4.0

Значит вставляю через редактор постов html code (вставляю в html edit mode)

<iframe title="YouTube video player" class="youtube-player" width="450" height="364" src="https://www.youtube.com/embed/mIgMNh6gGXs" frameborder="0">
</iframe>

Вот и ничего не вставляется (но если сразу же в превьюхе переключится то видео есть(см. скриншот). Искал в интернет решения - вроде как default rails security feature. Собственнно что бы решить вот эти сточки в config/environments/development.rb :

config.action_dispatch.default_headers = {
     'X-Frame-Options' => 'ALLOWALL'
         }

         config.action_view.sanitized_allowed_tags = %w( iframe )
         config.action_view.sanitized_allowed_attributes = %w( src width height frameborder webkitAllowFullScreen mozallowfullscreen allowFullScreen )

Вот, все равно тоже самое.

https://imgur.com/a/BbU9CXq

Два скриншота. На одном то как видео отображается в превьюхе и второе как iframe красным в логах выдается. запускаю сервер :

bundler exec rails s -b 0.0.0.0

 

xionovermazes ()

Отображение только текущей папки в терминале

Приветик, Проблема такая , вот допустим я ввел в терминал :

cd /some/folder/some/path

Ну и соотвественно в терминале будет длинная строчка всегда :

name@turbohost:~/Documents/some/folder/some/path$

Я хочу что бы отоброжалась только current folder :

name@turbohost: path$ - типо того. Потому как pwd я всегда могу ввести.

У меня такая настройка по дефолту из коробки в федоре стояла, но я незнаю как это сделать на своем дебиане, хотя на обоих gnome3.

 , ,

xionovermazes ()

Белый IP - vps services

Правильно я понимаю, что при покупке VPS сервиса ну например типичный : рег.ру или интерсервер.нет (абсолютно точно не реклама), я получаю белый айпишник, на котором могу слушать подключения на сокетах, или там как то подругому? (просто там не написано про это, написано только про тех характеристики и т д .)

 , ,

xionovermazes ()

Mouse handle with keyboard

Привет лор,

Знаете ли какие-то тулзы, что бы управлять мышкой, с помощью клавиатуры : Numpad-стрелочки + например '+' - ЛКМ.

Погуглил, - ничего дельного не нашел (может плохо гуглил)

Gnome/Debian

 , ,

xionovermazes ()

Debian запуск графических приложений от имени администратора.

Пишу программку на qt, там использую raw socket (boost::asio::icmp::socket ... ). Соотвественно для запуска нужны sudo права (выдает permission denied на open).

Ну пробовал sudo-й : выдал такое : No protocol specified qt.qpa.xcb: could not connect to display :0 .... . Также он, например sudo-й не запускает, любые гуевые приложения, потмоу что неможет к xorg server присоединиться на руте. консольные приложения запускает через sudo. стоит gnome3 + debian 10. Так вот, что мне делать ?

 , , ,

xionovermazes ()

C++ Массив из указателей на другой массив или что-то вроде того.

Вообщем есть допустим двойной массив чисел. Есть двойной указатель или как это, (две звездочки), вот и нужно что бы эти две звездочки полностью указывали на вот этот вот массив чисел. Для одномерного я эту задачу решил : (https://pastebin.com/vzHWbCuu). Вообщем что я делаю не так, help m3!!

 ,

xionovermazes ()

OpenCL использование host memory

https://pastebin.com/ahYUeUcE - вот это мой турбо-код. Значит вот допустим появиться у меня класс(1), который содержит вектор int, ну и в нем еще вектор классов(2) которые тоже содержат в себе вектор int-ов. Ну и вообщем этих классов(1) миллион допустим. И нужно что-нибудь сосчитать. Используя вектор класса(2) и вектор класса(1). Я это к чему,,, к тому что память мне неудобно копировать. Хочу значет просто ссылку на массив из объектов. Тобеш не копировать в память GPU, а чтоби GPU использовала host(RAM(если не ошибаюсь) память. Плохая ли затея? Нету ли у кого примера как это делать, или хотя бы отрывок кода.

Я даже что-то нашел

https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clCreateBuffer...

«Yes, use clCreateBuffer with flags containing one of:

CL_MEM_USE_HOST_PTR CL_MEM_ALLOC_HOST_PTR »

НО я поменял как бы на аргумент на CL_MEM_USE_HOST_PTR , ну и там полились ошибки, я даже догадываюсь почему, но исправить и сделать как нужно не понимаю, томушо новичок в OpenCL.

Ну и возможно нужная инфа то , что когда буду считать допустим сумму векторов, это же будет Readonly мемори, на хосте, так что недолжно произойти накладки(состыковки, или как это называется хех) Всем спасибо, если кто поможет.

 , ,

xionovermazes ()

Количество доступных потоков pthread

Как узнать максимальное количество доступных для использования потоков в C++(pthread).

 , ,

xionovermazes ()

NodeJS + Rails не опять, а снова или возможно впервые

Пытаюсь заставить рабоать nodeJs внутри rails посредством EXECJs.

Руби часть index.html.erb выглядит как-то так.

(Runtime NodeJS v8)

<% require "execjs"
require 'open-uri'
%>
<%= ExecJS.runtime.name%>
<%

source = open("........./public/script_exec.js").read

context = ExecJS.compile(source)


%>

<% context.call('turbo_exec');%>

НодЖС функция начинается как то так

function turbo_exec(){
  var process = require('child_process');...

Что проверил и сделал. *в $PATH лежат bin-ы nodejs (usr/bin) *в boot.rb поставил [JS]ENV['EXECJS_RUNTIME'] = 'Node'

Ну и собственно не работает и ошибка :

TypeError: require is not a function

В nodeJS полный ноль. Мб нужно как то обьявить require я вообщем незнаю. Спасибо если кто поможет советом :thanks:

 ,

xionovermazes ()

wifi+proxy

Как сделать wifi-аксеспоинт привязать к прокси. Ну вроде есть два интерфейса на ноутбуке wlan0 eth0. Раздаю c wlan0 ,потом трафик идет в прокси , а из прокси в eth0.

 ,

xionovermazes ()

Мост на C++

Решил написать мост на С++, на rawSocket. Но столкнулся с массой неприятностей. Сначала пробовал сделать два потока в которых создал по два сокета : если в один приходит - то из другого послать. Аналогично сделал с другим потоком. Вышло так , что первый пакет который приходил дублировался и посылался трилион раз. Непонятно почему , ведь сокет был не в nonblock-моде. Далее пробовал epoll(тут офк нонблок мод поставил). Вроде даже получилось, но как то не так все то работает, то работает криво, то вообще никак. Работает криво это с одного ПК идут только АРПпинги но обычный не идет . Зато с другого идет и пинг и АРПпинг. Я даже заметил то что почти всегда работает только когда включаю Wireshark, но опять же не всегда. Может знаете как лучше это делать или какие то очевидные ошибки ,которые мне не понять. Код вот, http://pastebin.com/j8fgz7mC

 , ,

xionovermazes ()

send raw socket. bug или нет ?

До этого была проблема с тем как забиндить сокет к сетевому интерфейсу. Вроде получилось. Но теперь выходят какие странности с интерфейсами eth0 и eth1. Вот код : http://pastebin.com/JidxBVSS

Вот странности : http://oi65.tinypic.com/29h474.jpg

Тут видно что из интерфейс(а) исходит лишний пакет всегда в 60 байт заполненый 0-ми поверх «TEXTEXTEXTTEXT!!!». Это происходит только когда одновременно с пк , необязательно с одной программы Исходят пакеты на Raw Socket уровне. Т е все работает хорошо , если отсылать только из одного из них. В чем проблема ?

P. S. Из «lo» и «ham0» интерфейсов пакеты исоходят без лишних 60-ти байт.

 , ,

xionovermazes ()

Как узнать сетевой интерфейс от которого пришел пакет на raw socket.

Есть raw socket.

s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
Слушаю сокет так
length = recvfrom(s, buffer, BUF_SIZE, 0, NULL, NULL);
Принимаю пакеты со всех интерфейсов. Нужно только с одного. Пробовал это
if (setsockopt(s, SOL_SOCKET, SO_BINDTODEVICE,
    (void *)&ifr_tmp, sizeof(ifr_tmp)) < 0) 
{
   perror("SO_BINDTODEVICE failed");
}
Ошибки нет, но и эффекта . Собственно вопрос в том получать пакеты только с одного интерфейса или как получать все пакеты , но узнавать c какого интерфейса они пришли.

 , ,

xionovermazes ()

проблема с enum class

Собственно вод код :

#include <iostream>

enum class floor
{
first = 1,
second = 2
};

int main()
{
floor a = floor::first;
return 0;
}

брал с примеров отсюда.

Компилировал g++ main.cpp .

Ошибки :

g++ output

/home/xion/Documents/Programming2/TESTS/enum/main.cpp:3:1: warning: scoped enums only available with -std=c++11 or -std=gnu++11 [enabled by default] enum class floor ^ /home/xion/Documents/Programming2/TESTS/enum/main.cpp: In function ‘int main()’: /home/xion/Documents/Programming2/TESTS/enum/main.cpp:11:13: error: ‘floor’ is not a class or namespace floor a = floor::first;

Компилировал в code::blocks без ошибок, что странно. Что я делаю не так??

 , ,

xionovermazes ()

Не видит интерфейс eth0 . После перезагурзки ПК.

После перезагрузки PC xubuntu перестал видеть проводную сеть. Лампочки на мат плате рядом с Ethernet портом не горят. на ifconfig выдает loopback и впн-ку, т е пропал eth0 Кабель менял . Другие пк работают . Что попробовать сделать или проблема в железе .

 

xionovermazes ()

RSS подписка на новые темы