lulumiproject / lulumi-browser Goto Github PK
View Code? Open in Web Editor NEWLulumi-browser is a lightweight browser coded with Vue.js 2 and Electron.
License: Apache License 2.0
Lulumi-browser is a lightweight browser coded with Vue.js 2 and Electron.
License: Apache License 2.0
Can't open any link that has target="_blank"
attribute, click mouse wheel on links also can't open them.
when I copy image , new Iamge() throw a CROS error. and "save image " function does work. And I find a solution in brave-broswer project. maybe it can help you
https://electronjs.org/docs/api/web-contents#contentscopyimageatx-y
https://electronjs.org/docs/api/web-contents#contentscopyimageatx-y
yarn install --ignore-engines 正常
yarn run build:dll 正常
yarn run dev 报错如下:
`ERROR in src/main/api/lulumi-extension.ts:15:20
TS2306: File 'C:/Users/tt/Desktop/lulumi-browser-master/src/main/constants.ts' is not a module.
13 | import * as mimeTypes from 'mime-types';
14 |
15 | import config from '../constants';
| ^^^^^^^^^^^^^^
16 | import './listeners';
17 |
18 | // ../../shared/store/mainStore.ts
ERROR in src/main/constants.ts
TS1085: Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '0o0'.
ERROR in src/main/index.ts:27:23
TS2306: File 'C:/Users/tt/Desktop/lulumi-browser-master/src/main/constants.ts' is not a module.
25 | import localshortcut from 'electron-localshortcut';
26 | import autoUpdater from './lib/auto-updater';
27 | import constants from './constants';
| ^^^^^^^^^^^^^
28 | import menu from './lib/menu';
29 | import promisify from './lib/promisify';
30 | import fetch from './lib/fetch';
ERROR in src/main/lib/view.ts:8:23
TS2306: File 'C:/Users/tt/Desktop/lulumi-browser-master/src/main/constants.ts' is not a module.
6 | import * as path from 'path';
7 | import urlUtil from '../../renderer/lib/url-util';
8 | import constants from '../constants';
| ^^^^^^^^^^^^^^
9 | import fetch from './fetch';
10 |
11 | const { default: mainStore } = require('../../shared/store/mainStore');
ERROR in src/main/constants.ts:1:1
no-unused-expressions: Expected an assignment or function call and instead saw an expression.
1 | 0000000000000000000000000000000000000000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR in src/main/constants.ts:1:1
no-octal: Octal literals should not be used.
1 | 0000000000000000000000000000000000000000
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR in src/main/constants.ts:1:41
eol-last: Newline required at end of file but not found.
1 | 0000000000000000000000000000000000000000
| ^
ERROR in src/main/constants.ts:1:41
semi: Missing semicolon.
1 | 0000000000000000000000000000000000000000`
Store browser states for next time browser bootstrapping.
For instance,
Though everything above got done, there are still some problems need to be solved before we bump Lulumi-browser to 1.2.0.
We can solve the problem when this PR got accepted by upstream.
Currently, the implementation of context menu in electron could be blocking the background events.
Fortunately, We may be able to pull this in with this coming PR. 🎉
我在新的设备上面部署的时候出现了
The engine "node" is incompatible with this module.
Expected version ">=8.1.4".
的提示
It's better to use newly introduced getOSProcessId
, rather than getProcessId
.
Ref: https://github.com/qazbnm456/electron-vue-browser/blob/master/app/electron.js#L9
Should detect what OS users use, and then change the corresponding behavior.
Add notification for Permission requests, such as: fullscreen, geolocation, etc.
This issue has been tracked at electron/electron#10676.
Looks like the new electon built in pdf viewer works great but there is a issue with loading pdf's with GET parameters.
Looking at the dev tools I can see the URL of the pdf gets cut off at the first &
.
for https://domain.com/printPDF.php?CID=23323&PID=12412
<embed id="plugin" type="application/x-google-chrome-pdf" src="https://domain.com/printPDF.php?CID=23323" stream-url="blob:chrome://pdf-viewer/524829d4-578d-4bcf-866d-fe608bd4fac8" .. snip .. >
Hi, do you have meet this problem?
Just as MarshallOfSound said:
window.opener support doesn't quite work in Electron primarily due to our process model, this may change at some point in the future.
The underlying issue confused me very much :(
Though we can use native window.open by b16674f, we cannot manipulate the returned Window object directly. It's a must-have feature in order to support navigating Google Tab Manager (gtm) embedded websites.
Related discussions:
electron/electron#5012
electron/electron#8963
可以获取到页面信息不?计划用这个做网页版微信多开,需要保存聊天记录
In a92fafa, we use executeJavaScript
to fetch frames. It works, but not good and security enough.
Someone has addressed this issue at electron/electron#5115.
We need this implementation to accomplish preloading the script in <iframe>.
Wait for upstream: electron/electron#2605
Fix mishandling PDF files opening processing. It's brought from 9a592bd when updating electron to v1.6.4.
Details: electron/electron#8435
One possible solution is to provide different PDF viewers as an option for users to choose what viewer to open PDF files. It can be found in "Preferences" page.
Since this commit 5a02bdf, the API will also expose itself to the context and window. I don't think it's safe.
Might change:
// Run the code with lulumi API integrated.
const runContentScript = (extensionId, url, code) => {
const context = {};
require('./inject-to').injectTo(extensionId, false, context, LocalStorage);
global.lulumi = context.lulumi;
const wrapper = `\n
var chrome = lulumi;
${code}
\n`;
runInThisContext(wrapper, {
filename: url,
lineOffset: 1,
displayErrors: true,
});
// TODO: `this` show be global.window due to L#67, but it's not. Wired!
// return compiledWrapper.call(window, context.lulumi);
};
to something like this:
// Run the code with lulumi API integrated.
const runContentScript = (extensionId, url, code) => {
const context = {
console,
require,
};
require('./inject-to').injectTo(extensionId, false, context, LocalStorage);
const wrapper = `\n
var chrome = lulumi;
${code}
\n`;
runInNewContext(wrapper, context, {
filename: url,
lineOffset: 1,
displayErrors: true,
});
// TODO: `this` show be global.window due to L#67, but it's not. Wired!
// return compiledWrapper.call(window, context.lulumi);
};
But in the code below, we need to pass window
into context
as well. However, some internal errors happen when we do so.
As titled, the states of sub-frames won't be tracked into History, and the issue was introduced by c6b79ad.
Maybe track the states both in 'did-frame-finish-load' and 'did-stop-loading' events, and use Set
structure to store all the states.
This issue has been tracked as electron/electron#10707. Because of this, I revert the change I made before.
yarn 没有问题
yarn run build:dll 没有问题
$ yarn run dev 没有问题
yarn run build:win32 报错
`
ERROR in E:/lulumi/lulumi-browser-master/src/main/api/lulumi-extension.ts
ERROR in E:/lulumi/lulumi-browser-master/src/main/api/lulumi-extension.ts(11,20):
TS2306: File 'E:/lulumi/lulumi-browser-master/src/main/constants.ts' is not a module.
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts(1,1):
TS1085: Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '0o0'.
ERROR in E:/lulumi/lulumi-browser-master/src/main/index.ts
ERROR in E:/lulumi/lulumi-browser-master/src/main/index.ts(23,23):
TS2306: File 'E:/lulumi/lulumi-browser-master/src/main/constants.ts' is not a module.
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts(1,41):
eofline: file should end with a newline
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts
ERROR in E:/lulumi/lulumi-browser-master/src/main/constants.ts(1,41):
semicolon: Missing semicolon
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
E:\lulumi\lulumi-browser-master>`
比如访问https://pixelscan.net/ 能得到Canvas hash ,WebGL hash 之类
When I upgraded to npm@5, the node_modules directory will be empty inside the app. That's because npm@5 doesn't install modules correctly for some reason, and it's weird that it seems to affect macOS and OSX only (not sure).
Therefore, downgrade to npm@4 if you are on macOS and OSX.
Complete and Prettify "About Page", including:
When all of these get completed, I'll bump lulumi-browser version to 1.1.0. 😄
能给个例子吗?谢谢!
let pack = exec('yarn run pack') # yarn run pack:main && yarn run pack:renderer
pack.stdout.on('data', data => console.log(data))
pack.stderr.on('data', data => console.error(data))
pack.on('exit', code => build())
When we hit pack.on('exit', code => build())
, webpack should finish yarn run pack:main && yarn run pack:renderer
as well, however, process of yarn run pack:renderer
seems to be interupted somewhere.
RIght now, the solution to this problem is to run yarn run pack
manually before yarn run build
.
This issue has been tracked here.
electron/issues #8905.
Add "History" page into "About".
As titled, it will be convenient for many users to still use some legacy extensions on Lulumi-browser.
To me, supporting hackbar is my first priority.
Building electron app(s)...
Packaging app for platform darwin x64 using electron v1.6.2
Downloading electron-v1.6.2-linux-x64.zip
Downloading electron-v1.6.2-mas-x64.zip
[============================================>] 100.0% of 43.73 MB (1.11 MB/s)
Downloading electron-v1.6.2-win32-x64.zip
[============================================>] 100.0% of 52.33 MB (847.38 kB/s)
Packaging app for platform win32 x64 using electron v1.6.2
Error fromelectron-packager
when building app...
{ Error: Could not find "wine" on your system.Wine is required to use the app-copyright, app-version, build-version, icon, and
win32metadata parameters for Windows targets.Make sure that the "wine" executable is in your PATH.
See https://github.com/electron-userland/electron-packager#building-windows-apps-from-non-windows-platforms for details.
at exports._errnoException (util.js:1023:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:359:16)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn wine',
path: 'wine',
spawnargs:
[ '/Users/sergii/code/lulumi-browser/node_modules/rcedit/bin/rcedit.exe',
'/var/folders/5j/wj134sgd7135v9c04_9pthr00000gn/T/electron-packager/win32-x64/lulumi-browser-win32-x64/lulumi-browser.exe',
'--set-file-version',
'1.0.0',
'--set-product-version',
'1.0.0',
'--set-icon',
'/Users/sergii/code/lulumi-browser/app/icons/icon.ico' ] }
✨ Done in 203.98s.
Why does it ask me for wine if I want to build for macOS only? And don't care for other platforms :)
Does the lulumi-browser have full page screenshot function?
I want to capture the full page save to image like jpg, how to do in lulumi browser?
Lulumi doesn't save current states, like tabs, history, before quitting.
We now have electron/electron#5842 for Accessibility DevTools extension.
How about implementing more WebExtensions APIs to support more extensions that are on chrome and FF.
Auto-updater for Lulumi-browser has been implemented, but it cannot execute if app doesn't get signed. I manage to defer making it available for now, and may consider deal with it in the future.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.