Страница 1 из 3

JustCode - браузер на собственном движке - журнал разработки

Добавлено: Пн апр 08, 2019 12:32 am
blackstrip
Изображение

Интернет - сеть для обмена информацией между компьютерами. Заходя в интернет я хочу:
- читать текст,
- смотреть, как минимум, картинки и фотографии,
- еще смотреть анимации и видео,
- еще слушать звуки и музыку,
- выбирать что я загружаю, а что пропускаю (рекламу, большие картинки, анимации),
- знать заранее размер загружаемых страниц и картинок/анимаций в байтах чтобы принять решение хочу ли я грузить такую страницу или нет (особенно для мобильного интернета с ограничением по трафику/по скорости).
- беспрепятственно доставать из загруженного сайта любой контент (например, картинки спрятанные в фон или в специальные параметры тегов) и сохранять его на свой компьютер/телефон

Но сегодня "поход в интернет" становится все сложнее, потому как:
- вылезают окна/панели с рекламой в виде от фото и простых анимаций до полноценного озвученного видео,
- вылезает окно "подпишись на рассылку от нашего сайта",
- вылезает окно "включи уведомления от нашего сайта" или, по старинке, "сделай нашу страницу стартовой",
- вылезает окно "разреши геолокацию чтобы знать где ты, наш клиент, находишься"
- вылезает окно "извините, мы на этом сайте используем cookies",
- сохраняются cookies чтобы следить за тобой,
- выполняется масса скриптов на стороне клиента, позволяющая не только рисовать безобидные анимированные менюшки на js, но и, например, полностью следить за вашей активностью на каком-либо сайте (яндекс-метрика, google-аналитика и пр.), включая все движения мышью, задерживание просмотра на определенных частях сайта и прочее,
- требуется огромное количество оперативной памяти чтобы загрузить код сайта и выполнять все его скрипты. Пример: на планшете с Windows 10 и оперативной памятью 1 Гбайт без файла подкачки не удается зайти ни на один мало-мальски тяжелый сайт. Браузер просто пытается загрузить страницу, сбивается (не хватило памяти), пытается снова, сбивается опять и выдает сообщение о неудачной загрузке. Непонятно почему не хватает 1 Гбайта, большая часть из которого пустая изначально. Проверено на Chrome, Opera 12, даже на IE (через браузер Bro паинткада) - везде сбой загрузки после нескольких попыток загрузки и частичной отрисовки веб-страниц,
- мобильные браузеры также тяжеловесны и малоуправляемы, в них нельзя отключить полностью картинки, скрипты, а Opera Mini (купленная китайцами не так давно), которая таки может отключать картинки, теперь около 5-10 секунд после запуска морозится и первым делом лезет в инет (где делает свои черные дела? мб отправляет статистику, скачивает рекламу и др.), а только потом спустя 10 секунд появляется первая вкладка и можно наконец-то пытаться лезть в интернет самому.

Надоело.

Начнем с первого пункта желаний - хочется зайти на сайт, читать там текст и переходить по ссылкам от страницы к странице. Для будем потрошить сайт на части, пропускать все ненужное и показывать все нужное (текст и ссылки) выбранным шрифтом (настройка Имени шрифта и Размера шрифта) в виде блоков текста и блоков ссылок. Станет видно все, что грузится по URL изображений заранее, останется только выбрать для загрузки то, что хочется посмотреть (получится "я сам себе адблок").

Продолжение следует...

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср май 15, 2019 8:22 am
blackstrip
Построена основа браузера под Win-платформу. Слева флажками можно выбирать что хотим смотреть, а что нет. Есть настройки приватности: передавать адрес страницы откуда перешли referer, использовать или нет cookies, притворяться разными браузерами или гугл-ботом.

Маил.ру
Изображение

Сонерик-клуб
Изображение

Страница залогинивания в сонерик-клуб с показом желтой строки формы залогинивания (после включения слева флажка "Формы")
Изображение

Отправка данных (логин/пароль) в форму после клика на желтую строку
Изображение

Расширенный редактор отправки данных. Можно посмотреть код формы и отсылаемые данные в URL и в POST-данных, поправить их вручную и отослать.
Изображение

Разработка продолжается...

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср май 22, 2019 1:10 am
blackstrip
Вышла версия 0.9.0.20 для Windows

Скачать (428 Кбайт): http://blackstrip.ru/jc.zip

Русский интерфейс:
Изображение

Английский интерфейс:
Изображение

Окно "О программе":
Изображение

Первый выпуск под Windows.
0.9 - потому что сыроватая версия, но все еще впереди.

Браузер умеет лазить по сайтам, качать разнообразный контент с сайтов, работать с формами (логиниться через GET/POST-запросы и т.п.).

Основные клавиши:
F2 - развернуть окно на весь экран.
F8 - выбор кодировки (UTF8 или 1251 обычная).
F10 - перейти в адресную строку.
Галки в левой части окна - выбор содержимого, которое будем читать на сайте/качать с сайта.
Пока фокус в адресной строке: вниз/вверх, ctrl+вниз/вверх, pgup/pgdown - прокрутка текста сайта

Ссылки на сайты/файлы кликать мышкой.
Клик - переход по ссылке.
Ctrl+Клик - скинуть файл в обработчик объектов и посмотреть инфу о нем: размер в байтах, тип контента (png, jpg и др.), если все ок - то можно скачать файл в выбранную папку и посмотреть в самом низу окна кнопками "просмотр программой по умолчанию", "просмотр папки с файлом в проводнике", "правка файла в блокноте".

Остальные клавиши описаны в окне "О программе" (F1 или Esc - "О программе JustCode").

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Чт май 23, 2019 12:05 am
blackstrip
Вышла версия 0.9.1.24

Изображение

Скачать (429 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- добавлены всплывающие подсказки для кнопок навигации и просмотра в главном окне

Новые функции:
- нажатие Ctrl+A теперь выделяет текст в текущем поле ввода браузера и на формах
- URL файла исходного кода сценария теперь может быть скопирован в строку объекта и протестирован по клику на сценарии
- в заголовке главного окна теперь отображается текущее смещение и полная высота сайта в области просмотра по вертикали в пикселях

Исправления ошибок:
- исправлена некорректная подгрузка некоторых настроек при запуске программы
- добавлено закрытие окна "О программе" при нажатии на логотип BSS или ссылку на официальный сайт
- исправлены ошибки отображения описания изображений

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср май 29, 2019 1:39 am
blackstrip
Вышла версия 0.9.2.31

Изображение

Скачать (436 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- изменение параметров отображения теперь не сбрасывает смещение области просмотра в нулевое положение, а только контролирует нахождение смещения в пределах нижней границы сайта

Новые функции:
- в меню по Esc добавлен пункт вызова редактора форм (Ctrl+Q), позволяет в любое время повторно отправить последние отправленные данные формы или создать свой собственный GET/POST запрос к любому сайту
- справа от строки объекта добавлена кнопка превращения относительного URL в строке объекта вида "./../путь" в абсолютный "http://путь" для загрузки файлов по относительному URL, извлеченному вручную из кода сайта/скрипта
- тег OBJECT: добавлена обработка аргумента DATA с выводом ссылки на файл данных (flash-анимацию и др.)
- тег VIDEO: добавлена обработка аргумента POSTER с выводом ссылки на файл превью-изображения
- в настройки отображения добавлена опция "Границы", включает отрисовку горизонтальных линий при обнаружении тегов из таблиц и слоев (TABLE, /TR, /TD, /DIV), что помогает лучше зрительно ориентироваться на сайтах
- в настройки отображения добавлена опция "Все URL", ищущая в аргументах тегов похожие на ссылки строки и выводящая их в виде ссылки "Вроде URL имя_тега@имя_аргумента: ссылка", позволяет искать изображения и др.файлы, скрытые в нестандартных аргументах тегов

Исправления ошибок:
- теперь заголовок главного окна всегда корректно обновляется после загрузки страницы/файла
- исправлена ошибка при загрузке сайта/файла нулевого размера
- максимальное смещение в пикселях по вертикали теперь показывается корректно в заголовке главного окна
- исходный код сайта теперь автоматически приводится к windows-символам переноса и легче читается
- теперь при добавлении сайта в закладки в качестве URL используется его реальный URL вместо текущего текста из адресной строки

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср май 29, 2019 2:28 pm
blackstrip
Вышла версия 0.9.3.32

Скачать (436 кбайт): http://blackstrip.ru/jc.zip

Изменения
Интерфейс:
- редактор форм: флажок "Кодировать отправляемый текст в UTF-8" теперь включен по умолчанию

Исправления ошибок:
- редактор форм: в отсылаемых значениях амперсанды и знаки процентов теперь автоматически конвертируются в безопасные коды и корректно отправляются
- редактор форм: добавлена автоматическая конвертация амперсанд-кодов в текст в установленных заранее текстах однострочных/многострочных полей ввода
- редактор форм: добавлено автоматическое преобразование символов переноса в windows-символы в установленных заранее текстах однострочных/многострочных полей ввода
- редактор форм: включен перенос текста в многострочных поля ввода

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Чт июн 06, 2019 5:16 pm
blackstrip
Вышла версия 0.9.4.45

Изображение

Скачать (453 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- скачивание страниц и файлов: количество скачанных байт в заголовке главного окна теперь разделяется пробелами через каждые три цифры подобно счетчику трафика
- флажок Referer (передача сайтам URL страницы, с которой вы пришли на сайт) теперь включен по умолчанию при первом запуске
- флажок Cookie (передача вспомогательных данных, передающихся от страницы к странице) теперь включен по умолчанию при первом запуске
- редактор форм: списки выбора данных типа SELECT теперь дополняются сверху и снизу пропусками для облегчения просмотра формы
- выбор языка интерфейса сделан в виде выпадающего списка вместо радиокнопок
- главное окно: надпись "Отображение" убрана
- добавлена опция отображения "Акценты" (по умолчанию выключена), выделяющая в отдельные строки текст в непереносных тегах SPAN, /SPAN, EM, /EM, STRONG, /STRONG, I, /I, Q, /Q, S, /S, U, /U и отмечающая их бледным горизонтальным пунктиром при включенной опции "Границы"
- клавиша F3 больше не переключает тему оформления, а ищет первое вхождение текста из строки поиска в области информации об объекте (например, в исходнике страницы, помещенным туда по Ctrl+E)
- тема оформления теперь переключается на следующую при клике на строку "Тема:" слева от списка тем
- над флажками отображения добавлены кнопки: "- все" выключает все флажки, "+ все" включает все флажки, "Норм" включает набор флажков по умолчанию, позволяющий читать текст на сайтах, переходить по ссылкам, вводить данные в формы и отправлять
- в главное меню (ESC) добавлен "режим просмотра" (F11), позволяющий развернуть поле вывода веб-страницы на все окно

Новые функции:
- опция отображения "Границы": опция была поделена на две опции для верхних и нижних границ
- опция отображения "Границы": теперь используются два типа границ - основная (сплошная черная линия) и второстепенная (бледная пунктирная линия), основные границы имеют более высокий приоритет и всегда рисуются поверх второстепенных границ
- область информации об объекте: добавлены две кнопки удаления текста перед выделением/после выделения в тексте в поле информации об объекте
- область информации об объекте: добавлена кнопка превращения безопасных кодов вида %xx в символы в тексте в поле информации об объекте, позволяет превратить извлеченные из HTML-кода страницы закодированные адреса в текст
- область информации об объекте: добавлена кнопка превращения Java ESC-кодов вида \x в символы в тексте в поле информации об объекте, позволяет превратить Java-строки со спецсимволами в символы в тексте, скопированном из Java-сценария при выделении кода сценария правой кнопкой мыши, для последующего извлечения URL-адресов и других данных
- область информации об объекте: добавлены две кнопки разбиения текста в области информации на строки, используя выделенный текст в области информации (или текст строки поиска если ничего не выделено) как символ переноса с вставкой переносов до выделенного текста (первая кнопка) или после выделенного текста (вторая кнопка), позволяет разбить сложный массив данных из Java-сценария на простые элементы, оканчивающиеся выделенным текстом (запятой, двоеточием и др.)
- область информации об объекте: добавлена кнопка проверки каждой из строк области как URL и вывода результатов в виде единой веб-страницы по всем проверенным URL
- область информации об объекте: добавлена строка поиска
- область информации об объекте: добавлена кнопка удаления строк, не содержащих в себе текст из строки поиска (или удаления пустых строк если строка поиска пуста)
- область информации об объекте: добавлена кнопка поиска первого вхождения текста из строки поиска (горячая клавиша F3)
- область информации об объекте: добавлена кнопка поиска следующего вхождения текста из строки поиска (сочетание клавиш Ctrl+F3)
- область информации об объекте: добавлена кнопка поиска последнего вхождения текста из строки поиска (сочетание клавиш Ctrl+Shift+F3)
- область информации об объекте: добавлена кнопка расширения области информации об объекте на область веб-страницы для удобного просмотра исходного кода страницы и другой информации
- строка ссылки на объект: добавлена кнопка декодирования base64 данных типа "data:тип_файла;base64,..." и сохранения полученных данных в файл, позволяет после клика по ссылке "data:" и помещения ссылки в обработчик объектов извлечь внедренное в ссылку изображение/файл и сохранить его на диск

Исправления ошибок:
- размер буфера для получения URL перенаправления (при ответном коде 3хх от сервера) увеличен с 200 до 5000 байт, теперь перенаправления на длинные адреса не заканчиваются ошибкой загрузки
- список открывающих тегов, при обнаружении которых происходит перенос строки, дополнен тегами DIV, P, ARTICLE, INPUT, TEXTAREA
- предлагаемое имя скачиваемого файла, автоматически назначаемое по URL, теперь имеет не более 100 символов в длину и не содержит параметры из URL
- сохранение текущей страницы в файл теперь предлагает имя файла на основе URL
- сохранение изображения текущей страницы в BMP-файл теперь предлагает имя файла на основе URL
- теперь нажатие любой кнопки мыши на поле вывода веб-страницы переводит фокус на адресную строку (для последующего управления, например, прокруткой и выделением текста сайта с удерживанием правой кнопки мыши)
- клик на объектах в области отображения веб-страницы теперь срабатывает даже если часть объекта находится вне области рисования веб-страницы
- исправлена некорректная интерпретация HREF адреса тега BASE
- исправлена некорректная обработка аргументов тегов в одинарных кавычках

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср июн 12, 2019 12:04 am
blackstrip
Вышла версия 0.9.5.49

Изображение

Скачать (460 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- поправлена подсказка по просмотру файлов после скачивания
- функция построчной проверки ссылок из области информации об объекте теперь выводит текущее состояние процесса в процентах в заголовке главного окна
- главное меню (Esc): добавлены функции загрузки/закрытия растрового PCF-шрифта из внешнего файла для отображения текста
- отрисовка PCF шрифтом: выпадающий список размеров шрифта регулирует коэффициент масштабирования растрового шрифта
- справа от параметров шрифта: добавлен список выбора пиксельного масштаба (коэффициента масштабирования области вывода сайта, от 1 до 20)

Новые функции:
- при запуске JC с пустой командной строкой: в области просмотра показывается приветствие с основными сочетаниями клавиш и текстом помощи из окна "О программе" (F1)
- список тем: добавлена светлая тема оформления Mobile, использующая мелкий шрифт с двойным масштабированием области вывода сайта

Исправления ошибок:
- теги /NOBR и /NOSCRIPT теперь не вызывают перенос строки
- в список непереносных тегов, выделяемых только при включенной опции "Акценты", добавлены теги BIG, /BIG, SMALL, /SMALL, SUP, /SUP, SUB, /SUB
- вызов Истории (F6), Закладок (F7) и построчной проверки ссылок из области информации об объекте теперь не выключают флажок UTF-8 кодировки, а подстраивают вывод под текущее состояние флажка
- запуск JC: исправлена некорректная загрузка из настроек нестандартных для текущей темы шрифта и размера шрифта
- в набор настроек темы теперь включено состояние флажка "Сглаживание" (для тем Mobile и ADB оно выключено, для остальных включено)

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср июн 26, 2019 12:25 am
blackstrip
Вышла версия 0.9.6.60

Изображение

Скачать (470 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- при фокусе в адресной строке: удерживание клавиш Вверх, Вниз, PageUp, PageDown срабатывает во второй раз с задержкой в 200 мс, что позволяет прокручивать страницы аккуратно одиночными нажатиями, либо держать клавишу в течении 200 мс для включения автопрокрутки
- клики по ссылкам теперь срабатывают при смещениях точки отпускания пальца/курсора относительно точки нажатия: любом смещении по горизонтали и не более +/- половины строки по вертикали
- теперь при смене темы, шрифта, размера шрифта и пиксельного масштаба место текущего просмотра страницы остается прежним
- теперь нажатые ссылки мгновенно выделяются рамкой цвета текста

Новые функции:
- теперь доступны три режима экономии трафика, переключаемые по F9 (подробнее см. в справочном тексте по F1, показываемом также сразу после запуска):
а) без экономии:
клик по ссылке на страницу - переход на страницу;
клик по ссылке на файлы - автоматически скачивает файл в папку загрузок "download"/последнюю используемую и если это картинка, музыка или видео - открывает его, а иначе - показывает через Проводник в папке;
ctrl+клик по ссылке - скачать страницу/файл;
б) осторожные загрузки (бывшая выключенная "Экономия трафика"):
клик по ссылке на страницу - переход на страницу;
клик по ссылке на файл - проверка информации о файле в области информации об объекте;
ctrl+клик по ссылке - проверка информации о странице/файле в области информации об объекте;
в) полная экономия (бывшая включенная "Экономия трафика"):
клик по ссылке на страницу/файл, ctrl+клик по ссылке на файл - копирование ссылки в строку объекта для проведения последующих ручных операций (проверки, скачивания, перехода и др.)
ctrl+клик по ссылке на страницу - переход на страницу;
- теперь сценарии, стили и мета даже при отключенной опции "+код" кликабельны и по клику их содержимое копируется в область информации об объекте для последующего просмотра/поиска/фильтрации
- теперь если HTML-код сайта запакован сервером, то после кодов ответа от сервера выводится надпись "Запаковано:" и название алгоритма запаковки
- область информации об объекте: теперь после удачного скачивания файла показывается не только путь до него, но и его размер на диске в байтах
- переходы по истории по кнопкам "<<" (Ctrl+Влево) / ">>" (Ctrl+Вправо) теперь показывают только адреса локальных и интернет-страниц, полная история (включая скачивания и предпросмотры) как и раньше доступна по кнопке "История (F6)"

Исправления ошибок:
- максимальная длина строки объекта увеличена до 2 Гбайт чтобы можно было помещать в нее для декодирования встроенные в сайты изображения типа "data:тип_файла;base64,..." любого размера
- теперь при узком по горизонтали главном окне область вывода сайта не выходит за правую границу окна
- радикально ускорен алгоритм отрисовки сайта, теперь любая просматриваемая часть сайта рисуется одинаково быстро
- исправлена некорректная зависимость шага постраничного просмотра по PageUp/PageDown от выбранного пиксельного масштаба
- подправлен расчет максимальной высоты страницы с учетом выбранного пиксельного масштаба
- исправлен ошибочный пропуск вывода данных последнего тега
- заголовок сайта из тега TITLE теперь фильтруется на наличие символов переноса перед отображением в заголовке окна
- область строки файла: кнопка "Открыть папку с файлом" теперь не только открывает папку в Проводнике, но и устанавливает фокус на файл
- область строки файла: функции "открытие файла", "открытие папки с файлом" и "правка файла в блокноте" при несуществующем файле выдают в заголовок главного окна "Файл не найден: путь и имя файла"
- функция раскодировки base64 данных расширена до раскодирования и других данных тоже (utf8 и др.)
- теперь кириллические символы в пути URL автоматические конвертируются в юникод
- теперь перед тегом TABLE всегда происходит перенос
- теги BLOCKQUOTE и /BLOCKQUOTE добавлены в список тегов с переносом и второстепенными границами

Re: JustCode - браузер на собственном движке - журнал разработки

Добавлено: Ср июл 03, 2019 3:08 pm
blackstrip
Вышла версия 0.9.7.66

Изображение

Скачать (477 кбайт): http://blackstrip.ru/jc.zip

Изменения

Интерфейс:
- увеличены кнопки интерфейса с 24x24 до 32x32
- строка поиска перенесена выше кнопок автоматического редактирования сценариев и кнопок поиска по коду
- главное меню (ESC): добавлены значки 32х32 пикселя, пункты увеличены для удобства нажатия с сенсорного экрана
- главное меню (ESC): добавлены команды "Стоп" (F5), "История" (F6), "Закладки" (F7), дублирующие соответствующие кнопки главного окна
- главное меню (ESC): добавлена команда "UTF8" (F8), дублирующая флажок в главном окне
- главное меню (ESC): добавлена команда "Экономия трафика" (F9), дублирующая ссылку управления экономией в главном окне
- режим просмотра (F11): теперь на экране остается только адресная строка и область просмотра

Новые функции:
- стандартная полоса прокрутки заменена на графическую полосу прокрутки и ручку выбора скорости прокрутки

Исправления ошибок:
- устранен скачок прокрутки при вращении колеса мыши при отсутствии фокуса в адресной строке и последующему переходу фокуса в адресную строку
- теперь в ссылках корректно показывается знак "плюс"
- исправлено некорректное распознавание параметров в ссылках типа "data:"
- исправлено некорректное отображение кириллических символов в URL
- ускорена реакция на нажатия клавиш клавиатуры

Подробности

Доработка под сенсорный экран:

- кнопки увеличены до размера 32х32 пикселей, справа от области просмотра убрана стандартная полоса прокрутки, добавлена графическая полоса прокрутки а ля "зеленый кирпич" и ручка регулировки скорости промотки как в браузере Bro из экстра-утилит PaintCAD 4Windows.

Изображение

- часть мелких кнопок (стоп, история, закладки) вынесена в главное меню (ESC), пункты меню теперь с большими значками и легко нажимаются пальцем.

Изображение

- режим просмотра (F11) теперь расширяет область просмотра еще шире, оставляя на экране только адресную строку.

Изображение