LINUX.ORG.RU

Сообщения peregrine

 

samba и много разных дисков

 

Настраиваю самбу (настроил и всё работает). Возникает вопрос, как лучше организовать мультимедию (да я знаю про DLNA и UPnP, но не шибко хочу ещё и их сверху настраивать). Есть домашняя пекарня, которая работает всё время, когда дома кто-то бодрствует. Имею локальную сеть в которой расшарена папка /srv/samba/share/ принадлежит она специальному пользователю самбы, созданного через sudo useradd -M -s /sbin/nologin тут_имя_юзера У юзера есть пароль (т.к. я разграничиваю свободную для всех имеющих к вайфаю доступ, но не имеющих доступа к пекарне, и для себя любимого). Есть коллекция аудиофайлов, принадлежащих другому пользователю (основной юзер на пекарне), разбросанная по разным дискам, включая /home/username/Музыка и большой винт, монтирующийся в /media/data (там много чего ещё, кроме музыки, далеко не всё я хочу видеть в самбе). Я страдаю здоровой паранойей и потому боюсь делать две вещи: запускать всех с локалки через самбу в /home/username (там у меня есть ряд файлов по работе, которые я бы не хотел чтоб они утекли) и делать самбу без пароля. В то же время, я не готов портить себе работу с /media/data/Музыка от /home/username и тем более не хочу портить home/username/Музыка

Как в такой ситуации лучше поступить? Симлинки в самбе разрешать ну такое, кучу разных папок Музыка пробросить, сделав /home/username/Музыка и /media/data/Музыка RO? Как-то не шибко удобно, но я не вижу ничего лучше. Что посоветуете? Никогда серьёзно с самбой не возился.

peregrine
()

Какой графический планшет выбрать

 

Сабж. Что работает в линуксах и в РФ продаётся, ну и с драйверами чтоб было (а не полностью заболоченное где сайт не открывается из РФ). Ценовой сегмент думаю нижний-средний, не дороже 10 000 рублей, я не супер-пупер художник, у меня лапки, но иногда помазюкать хочется. Хочу мазюкать в Gimp-е и Krita.

peregrine
()

IDE или текстовые редакторы

 , ,

IDE - это Visual Studio (не тот который Code), IDEA, Eclipse, QtCreator и т.д..

Текстовые редакторы это vim, emacs, Sublime text, Visual Studio Code и т.д..

Пишите почему выбрали тот или иной подход. Возможно для вашего языка нет IDE, а может слишком тяжёлый проект или проект на куче языков.

Интересен в первую очередь основной инструмент, которым выполняете большую часть работы. Если такого нет, то пишу код где придётся — ваш вариант.

Работа — это то за что вам платят деньги, хобби — это то, что вы делаете бесплатно. Понятно, что изредка, приходится пользоваться и тем и другим, вариант «пишу код где придётся» относится к тому, что регулярно код пишется в разных средствах, как в IDE, так и в текстовых редакторах, например, такое бывает если пишется игра с LUA для скриптов, когда движок пишется в IDE, а скрипты, которых может быть значительный процент от игры пишутся в обычном текстовом редакторе.

Для участия в опросе войдите или зарегистрируйтесь.

>>> Результаты

peregrine
()

Gnome Files и архивы

 gnome-files, ,

Как запретить безобразное поведение Gnome Files (это нынче nautilus так назвали) при работе с архивами? Я не хочу чтоб он мне автоматически распаковывал архивы, я хочу их открывать архиватором (у меня есть архивы и по пол терабайта из которых мне время от времени надо 1 файл извлечь и обновлённую версию файла назад воткнуть), пусть хоть peazip-ом и тем более не хочу, чтоб он распаковывал последний скачанный архив при заходе в директорию ~/Загрузки. Нет ничего что автоматически уберёт этот ужас? Или только ручками MIME типы редактировать?

peregrine
()

Аналог doxygen для Java

 , ,

Сабж. Не для документирования (Javadoc тут отлично справляется), а для построения диаграмм классов и их связей. Что есть? Либо отдельное (без привязки к IDE), либо прибитое к Eclipse. Просто хочется кашу сложнозапутанную разгрести и понять что откуда и чем дёргается глобально в чужом проекте (судя по тому что я вижу там несколько версий древних API для совместимости висят ошмётками, а мне надо конкретно свежую версию API посмотреть что в неё входит). Можно конечно и doxygen взять (он Java поддерживает), но может что-то более заточенное есть для этих целей? Что именно для Java делали?

peregrine
()

Eclipse и фильтрация

 , , , maven-resources-plugin

Внимание - вопрос, это баг эклипса или фича и я чего-то не понимаю. Есть простейшее консольное приложение, задача которого пробежаться по fb2 файлам (включая те что лежат внутри архивов) и проверить являются ли они корректными xml и корректными fb2 + попробовать собрать информацию о том каким софтом были сделаны некорректные fb2 файлы на Java (да то ещё извращение, но что поделать, мне так удобнее, чем с шарпом в линуксе). Проект собирается при помощи maven. Заодно захотел поиграться с локализацией на Java. Структура проекта пока такая:

.
├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── fb2dataminer
│   │   │       ├── ApplicationInfoProvider.java
│   │   │       └── Application.java
│   │   └── resources
│   │       └── localization
│   │           ├── MessagesBundle.properties
│   │           └── MessagesBundle_ru_RU.properties
│   └── test
│       ├── java
│       └── resources
└── target
    ├── classes
    │   ├── fb2dataminer
    │   │   ├── Application.class
    │   │   └── ApplicationInfoProvider.class
    │   ├── localization
    │   │   ├── MessagesBundle.properties
    │   │   └── MessagesBundle_ru_RU.properties
    │   ├── MessagesBundle.properties
    │   ├── MessagesBundle_ru_RU.properties
    │   └── META-INF
    │       ├── MANIFEST.MF
    │       └── maven
    │           └── ru.example.fb2-data-miner
    │               └── fb2-data-miner
    │                   ├── pom.properties
    │                   └── pom.xml
    └── test-classes
Класс ApplicationInfoProvider должен отдавать разную информацию о приложении: справка, версия, авторы, библиотеки и их версии и т.д.. Вся эта информация лежит в pom.xml, всё шло хорошо, пока я не захотел пробросить информацию из pom.xml в MessagesBundle.properties и MessagesBundle_ru_RU.properties, например, так:
help=Показывает справку\n\
и что-то ещё
version=${project.version}
В pom.xml у меня
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>ru.example.fb2-data-miner</groupId>
	<artifactId>fb2-data-miner</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>fb2-data-miner</name>
	<description>Console application for collection statistics and data from fb2
		files</description>
	<properties>
		<java.version>25</java.version>
		<commons-cli.version>1.11.0</commons-cli.version>
		<maven-resources-plugin.version>3.4.0</maven-resources-plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<dependencies>
		<!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
		<dependency>
			<groupId>commons-cli</groupId>
			<artifactId>commons-cli</artifactId>
			<version>${commons-cli.version}</version>
		</dependency>
	</dependencies>
	<build>
		<resources>
			<resource>
				<directory>src/main/resources/localization</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<!-- проблемный плагин -->
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven-resources-plugin.version}</version>
				<configuration>
                			<encoding>${project.build.sourceEncoding}</encoding>
                			<propertiesEncoding>UTF-8</propertiesEncoding>
                		</configuration>
			</plugin>
		</plugins>
	</build>

</project>
А теперь внимание - вопрос: при сборке в target->classes создаются файлы MessagesBundle.properties и MessagesBundle_ru_RU.properties где правильно подставляются все значения. Но в target->classes->localization копируются файлы как есть, без всяких изменений. Разумеется после запуска из эклипса вместо версии 0.0.1-SNAPSHOT я вижу строку ${project.version}. Собственно я что-то не так настроил или это всё старые проблемы m2e плагина в Eclipse который ранее в 2014 году уже был замечен за подобным, т.к. его правила сборки и правила сборки maven немного разные, но вроде как было пофикшено с тех пор.

Обновление

По сути всё сводится к 2 проблемам - либо при отключении в Build Path /src/main/resources/localization (по идее надо отключать чтоб не бездумно копировалось как есть), то мы не можем подгрузить MessagesBundle_ru_RU.properties который появляется почему-то в target->classes а не в target->classes/localization (куда файл бездумно копируется если не исключить /src/main/resources/localization из Build Path)

peregrine
()

xrandr но для wayland и x11

 , , , ,

А есть ли у нас какой-то консольный универсальный способ менять разрешение экрана и масштабирование? Хочу скрипт (кнопку) на рабочий стол, которая будет переключать мне мониторы (есть 4к монитор на котором я пишу код, играю в игры, читаю ЛОР) и есть FULL HD телевизор на котором я смотрю кино лёжа на диване. Физически всё подключено к одной видеокарте, а я хочу скрипт выполняющий следующие действия:

  1. Определить включен ли телевизор, если да то пункт 2, если нет то пункт 6
  2. выключить телевизор
  3. сменить разрешение монитора на 3840x2160
  4. поставить масштабирование на 200%
  5. конец
  6. установить разрешение монитора на 1920x1080
  7. поставить масштабирование на 100%
  8. включить телевизор в режиме дублирования картинки
  9. конец

Сейчас я всё это делаю прокликиванием настроек экрана, но мне дико лениво это делать. Конечно можно и на сишке выдрать код из gnome-control-center, но это надо разбираться и вообще как резервный вариант, если ничего готового нет. Да, я знаю как это сделать отдельно для иксов и вялого, но меня смущает, например то, что масштабирование в gnome-control-center в сессии x11 через xrandr не определяется, т.е. оно меняется где-то в другом месте.

peregrine
()

Датасеты для нейросетей

 , датасеты,

Собственно разыскивается САБЖ, хочется именно под нейросети (не регрессия, не рэндом форесты и так далее, нейронкам нужно больше данных для обучения, на маленьких наборах рулят более простые алгоритмы). Желательно не про картинки (в картинках жестко рулит CNN и его модификации). Хочется чего-то качественного но не слишком сложного для сети (в то же время чтоб объём данных для обучения был достаточно большой), чтоб протестировать разные архитектуры сетей и проверить пару гипотез, но в то же время не упереться в объёмы видеопамяти. В идеале хотелось бы чего-то простенького, что может уложиться в 5-6 гигов видеопамяти в плане модели сети на раннем этапе (нет мне не надо достигать 99% точности, мне важнее узнать что способом a я достиг 75% точности затратив n часов обучения, а способом b я достиг 80% точности, затратив m часов обучения при одинаковых или похожих объёмах видеопамяти), если будет понятно, что гипотезы будут подтверждены, то там уже можно и машинку арендовать и делать что-то интересное и практическое. В общем, ищется аналог Lena.jpg но под нейронки, чем универсальней, тем лучше. На kaggle смотрел, но там слишком много датасетов, а хочется чего-то эталонного, так что хочу послушать предложения ЛОР-овцев.

PS

Интересные датасеты с интересными задачами тоже рассматриваются, но в приоритете эталонные датасеты.

PPS

Лучше чтоб мне не было нужды чистить и преобразовывать данные, это отдельная задача, которая на данный момент мне не требуется.

peregrine
()

Энциклонгов тред

 , , wikidata, wikinews,

Сабж. Приглашаются всякого рода энциклонги и просто люди, которым доводилось парсить википедию и её подпроекты. Хочется очень вытянуть список из категории отсюда (просто текста достаточно без ссылок и прочего хлама) https://ru.wikinews.org/wiki/Категория:Хоккеисты_по_алфавиту да все 1004 записей и ещё из нескольких категорий в самой жирной из которых 100k записей. Собственно викиданные через запрос тут https://query.wikidata.org/ не могут выдать большие категории (таймаут). Слышал ещё про другие api википедии, но боюсь, что там тоже ограничение раньше чем 100 000 записей будет. Кто как решал подобное? Поднять всю копию вики из дампа конечно можно, но это деньги (один день аренды машинки на которой будет полноценно ворочаться википедия стоит 3-5 килорублей и я не уверен что за день я её полноценно настрою и какое-то говно не вылезет, которое ещё неделю буду ковырять в конфигах каких-то лимиты, например которые будут нужны не дефолтные или ещё много чего может быть, а чисто чтоб поиграться с питоном и не заработать на этом и рубля, а только проверить одну гипотезу для себя, как по мне дороговатое удовольствие). Бан по айпишнику к википедии тоже схлопотать не хочу. Так что пишите кто как такое делал если делал. Какие инструменты использовал. В принципе могу использовать много чего, но предпочёл бы ограничиться Python, на худой конец C# или Java. Да, регулярно тягать оттуда данные мне нет нужды, раз в год а то и реже вполне норм.

peregrine
()

Проверка каталога, вложенных каталогов и файлов на идентичность

 ,

В связи с замечательным башем cp не копирует скрытые файлы с аргументом ! хочется спросить у Ъ как они сверяют каталог с подкаталогами на тему всё ли скопировалось и не попортились ли в процессе данные. Спрашиваю так как переношу данные с кучи маленьких флешек, некоторые из которых уже приказали долго жить (работает только чтение но не запись) или находятся на конце своей жизни (15+ годиков мелочи пузатой по 1 гб, например, на флешки большие (128 гб). А из маленьких буду делать загрузочные флешки с линуксами на борту, прежде чем проводить их в последний путь они ещё послужат мне на установку убунт. Один фиг 8 гигов флешки, которых у меня большинство, сейчас особого смысла не имеют. Стоит ли мне изобретать велосипед на баше для сверки хешсумм или есть что-то готовое? Может так запросто быть, что копирование с очень старых носителей уже ненадёжно и там мусор.

peregrine
()

Размеры корня

 ,

Собственно имеется ubuntu 22.04 (надо бы обновить но пока всё работает и новая версия меня шибко не радует). Система разбита на 3 диска (/ /home /mnt/data) В /home лежат конфиги, какие-то временные файлы, всякая несортированная помойка, в /mnt/data лежит музыка, видео, фото и всё что хочется хранить долго годами, физически это отдельный диск. На / выделено 50 гигов и их как-то стало мало. С другой стороны /var/log 4.2 гигабайта, из которых 4.1 это /var/log/journal

В связи с этим вопрос - не текут ли у меня логи (4.2 гига как по мне многовато, хотя это основная домашняя машинка на которой я годами живу) и сколько лучше сейчас под / отрезать.

peregrine
()

Eclipse vs РКН

 ,

А у кого плагины в Eclipse не качаются, т.к. РКН блочит хостера откуда плагины едут/протоколы.

peregrine
()

Почему лор не микросервисный

 , ,

САБЖ. Понятно что его давно делали, но с тех пор можно было переписать не раз. Или микросервисный и я что-то проглядел (глядел очень быстро)

peregrine
()

xml в html

 , , , ,

Сабж. Понятно что сразу на ум приходит технология с названием XSLT. Есть задача конвертировать xml в html, попутно обмазываясь js, css и всякими свистелками которых в самом xml нет. 90% проекта именно работа с xml. Что есть из языков и фреймворков от которых не хочется блевать и которые не требуют 100500 человек и 10 лет обучения для десятка веб страничек (понятно что вкусовщина и можно сделать на чём угодно, хоть на сишке, если упороться). Но хочется максимальной портируемости и отсутствия геморроя с запуском (тут вроде java/scala норм).

Если конечно серьёзно делать то наверное, java+spring+что там ещё потребуется по ходу (умеет ли сам spring в XSLT или надо тянуть ещё какие-то пакеты). C# как бы умеет в XSLT, но оговорка, что умеет он это безболезненно только в Windows именно в Net Framework, а в Net core и в .NET базовой поддержки XSLT нет или она обрублена судя по документации (может это конечно лишнее и не нужно, вроде как у этого такой плашки нет и возможно всё нормально и я зря подозреваю мелкомягких в засаде, ну и конечно это можно сделать через какие-то сторонние библиотеки и ясно дело через обёртки). Python вроде как умеет, но делать лёгкое портируемое приложение на питоне ну совсем так себе идея, если честно. Хочется послушать тех кто работал с XSLT (желательно в разных стеках) и узнать что им больше понравилось.

Если раздел не тот, то переносите в толксы, но хочется и анона послушать.

Сразу оговорюсь, с XSLT я не работал серьёзно никогда, так что, возможно, одного XSLT мне может и не хватит и какую-то предварительную обработку или пост обработку мне придётся делать (у меня в xml в формате base64 воткнуты бинарные данные (картинки, звук) и вот может их извлекать и обрабатывать имеет смысл до XSLT).

В идеале как я это вижу, простая софтинка которую можно запустить с условной флешки/внешнего hdd на любом компе, которая локально на локалхосте будет иметь GUI в браузере, ничего невероятно сложного. Плюсом будет если один и тот же бинарь (понятно что не нативный, а байткод какой-то)/скрипт будет работать в разных ОС.

Теперь к минусам, проект мой и ковырять мне его в одно рыло - python и c# я использовал и использую, java и scala я только в универе тыкал палочкой и на курсах (что-то вроде хеллоуворлда продвинутого, где-то там ещё и php лежит на котором в дремучие времена я делал простенький сайт чуть сложнее визитки - несколько страничек и капля интерактивности, реально в СУБД было десяток таблиц, т.е. ничего сложного). Ах да, ещё патчить доводилось код на Java, но это мелочи. С другой стороны потыкать что-то новое себе в удовольствие, я бы и не сильно против. Сразу предупрежу - rust, C и C++ идут лесом, они не для такой задачи, как и ассемблер.

peregrine
()

Генерация видосиков нейронкой

 veo, ,

Там это, https://deepmind.google/models/veo/ нейронки видосики и аудио научили делать и более-менее сносно клеить. Понятно что пока Голливудский блокбастер с описания текстом в абзац не получится, но мне кажется что уже скоро это исправят, как и количество пальцев на руках, с которым иногда до сих пор бывают проблемы. ИМХО геймдев и кинематограф ждёт закат в ближайшие 10 лет. Противники и сторонники AI приглашаются в наш уютный срачик.

peregrine
()

А в чём профит Java

 

САБЖ, никогда не писал на жабке, был уверен что оно везде более-менее одинаковое и не прибито к платформе, имеем честно взятый отсюда код https://stackoverflow.com/questions/21406401/java-7-watchservice-entry-modify...

import static com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

public class Main
{
    public static void main(String[] args) throws Exception
    {
        FileSystem fs = FileSystems.getDefault();
        WatchService ws = fs.newWatchService();
        Path pTemp = Paths.get("/home/user/Документы/tmptest");
        pTemp.register(ws, new WatchEvent.Kind[] {ENTRY_MODIFY, ENTRY_CREATE, ENTRY_DELETE}, FILE_TREE);
        while(true)
        {
            WatchKey k = ws.take();
            for (WatchEvent<?> e : k.pollEvents())
            {
                Object c = e.context();
                System.out.printf("%s %d %s\n", e.kind(), e.count(), c);
            }
            k.reset();
        }
    }
}
в онтопике крашится в рантайме с невнятным сообщением о том что Modifier not supported как я понимаю это ему от FILE_TREE так плохо. А какой тогда смысл в Java, когда надо под каждую ОС свою прослойку делать ручками поверх inotify/fsevents/FindFirstChangeNotification/FindNextChangeNotification/ReadDirectoryChangesW

Понятно что можно и рекурсивный обход поддиректорий ручками прикрутить (тут не стал прикручивать, чисто найти виновника)

import static com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

public class Main
{
    public static void main(String[] args) throws Exception
    {
        FileSystem fs = FileSystems.getDefault();
        WatchService ws = fs.newWatchService();
        Path pTemp = Paths.get("/home/user/Документы/tmptest");
        pTemp.register(ws, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
        while(true)
        {
            WatchKey k = ws.take();
            for (WatchEvent<?> e : k.pollEvents())
            {
                Object c = e.context();
                System.out.printf("%s %d %s\n", e.kind(), e.count(), c);
            }
            k.reset();
        }
    }
}

Или это между версиями её так ломают или челики на ней писать не умеют совсем?

ЗЫ

Вообще может кто-то подскажет как изменения файлов на максимальном числе платформ удобнее всего мониторить? Может что-то готовое есть? Хочется Windows, OSX, Android, Linux, BSD. Ну и всё остальное экзотическое если есть возможность. Конечно можно на C#, но там в Android с производительностью не очень хорошо и жором батарейки как следствие.

peregrine
()

NAS

 ,

Собственно кто-что посоветует чтоб было дешево и linux нормально работал? Готовые железяки или ручками собирать самому? Хочется домашнюю файлопомойку без облаков, RAID 1. Хранить планируется около 8 терабайт (сейчас реально 4-5 терабайт, но 3 в запас под всё что может потребоваться). Хорошо если получится использовать не только как бекап систему, но и как своё облако (удалённая сетевая папка, samba, файлокачалка/торрентокачалка, домашний медиасервер (DLNA?), TFTP для локалки, возможно ownCloud, git-репа, пара своих веб-приложений, может легенький сайтик поднять на который не ожидается большая нагрузка, может ещё что-то что я не вспомнил сразу).

peregrine
()

А что за зверь такой rain?

 , rain

Собственно глянул сейчас в qbittorrent где у меня старые образы убунты раздаются и вижу что одни китайцы качают (вот прям сейчас 1 с США, 1 с Германии 1 с Сингапура и наверное 200 китайцев, ладно rain вроде как качает с нескольких портов потому если айпишники посчитать то там всего 50 китайцев). Но почему он такой модный у них сейчас? В чём его фичи? На гитхабе нашел https://github.com/cenkalti/rain так и не понял чем оно прямо хорошее или его в какой-то китайский госдистрибутив воткнули из коробки? Может кто пользовался или в курсе что там за дичь творится?

Перемещено CrX из desktop

peregrine
()

Проекции карт

 

На секунду заинтересовался, а что у нас есть похожего на проекцию Пирса, кроме самой проекции Пирса? Скажем чтоб искажения были более равномерно размазанные по карте, а не собирались все в 4 точках? Интересно с точки зрения создания плоской земли в 2Д играх. Может местные плоскоземельцы знают? У них то наверняка хорошие модели заготовлены на все случаи жизни.

peregrine
()

О клиент-серверных приложениях

 , , , ,

Привет всем. А как в случае клиент-серверного приложения наиболее грамотно понять что пользователь работает с ним локально (понятно что можно многими способами)? Желательно кроссплатформенно. Имеется ввиду тот случай когда и клиент и сервер работают на одной машине? В качестве клиента веб браузер (в нем страничка которую отдаёт серверное приложение). Когда юзер работает удалённо, то скажем, наша веб-страничка должна уметь всё через веб делать. Но когда юзер работает локально с гуем, то мы можем и внешний гуёвый софт запускать со стороны сервера, например. Да знаю что звучит странно, но потому и спрашиваю. Лекцию о том что в 99% случаев на сервере нет и не должно быть GUI можете мне не читать, тут скорее аналог mpd с веб-мордой или трансмиссии. Типо да, можно через веб всё что необходимо делать, но в случае когда приложение на десктопе крутится то можно ещё чуть-чуть. Например открыть в файловом менеджере папку с файлами, а не скачивать их через загрузки как в случае когда клиент и сервер на разных машинах. Вообще меня asp.net core интересует, но в целом, интересны любые варианты. Знаю про

HttpContext.Current.Request.IsLocal
но насколько оно надёжно? Технически оно проверяет что адрес с которого прилетел запрос соответствует этому условию
"127.0.0.1" || remoteAddress == "::1"
Понятно что 127.0.0.1 это лупбек на локалхост, но линуксоиды - знатные извращенцы, а потому в теории кто-то может выставить любой адрес в интервале от 127.0.0.1 до 127.255.255.254 что поломает всю логику или я не прав? Или может даже какой-то дистрибутив от сумасшедших так делает из коробки ради «безопасности»?

peregrine
()

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