mirror of
https://github.com/m1k1o/neko.git
synced 2025-08-06 10:20:26 +02:00
add waterfox.
This commit is contained in:
parent
2dd5585b49
commit
a750a078aa
11 changed files with 1016 additions and 2 deletions
35
.docker/waterfox/Dockerfile
Normal file
35
.docker/waterfox/Dockerfile
Normal file
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_IMAGE=m1k1o/neko:base
|
||||
FROM $BASE_IMAGE
|
||||
|
||||
ARG SRC_URL="https://cdn1.waterfox.net/waterfox/releases/latest/linux"
|
||||
|
||||
#
|
||||
# install waterfox
|
||||
RUN set -eux; apt-get update; \
|
||||
apt-get install -y --no-install-recommends openbox \
|
||||
xz-utils bzip2 libgtk-3-0 libdbus-glib-1-2; \
|
||||
#
|
||||
# fetch latest release
|
||||
wget -O /tmp/waterfox-setup.tar.bz2 "${SRC_URL}"; \
|
||||
mkdir /usr/lib/waterfox; \
|
||||
tar -xjf /tmp/waterfox-setup.tar.bz2 -C /usr/lib; \
|
||||
rm -f /tmp/waterfox-setup.tar.bz2; \
|
||||
ln -s /usr/lib/waterfox/waterfox /usr/bin/waterfox; \
|
||||
#
|
||||
# create a profile directory
|
||||
mkdir -p /home/neko/.waterfox/profile.default/extensions; \
|
||||
chown -R neko:neko /home/neko/.waterfox/profile.default; \
|
||||
#
|
||||
# clean up
|
||||
apt-get --purge autoremove -y xz-utils bzip2; \
|
||||
apt-get clean -y; \
|
||||
rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
||||
|
||||
#
|
||||
# copy configuation files
|
||||
COPY supervisord.conf /etc/neko/supervisord/waterfox.conf
|
||||
COPY neko.js /usr/lib/waterfox/mozilla.cfg
|
||||
COPY autoconfig.js /usr/lib/waterfox/defaults/pref/autoconfig.js
|
||||
COPY policies.json /usr/lib/waterfox/distribution/policies.json
|
||||
COPY --chown=neko profiles.ini /home/neko/.waterfox/profiles.ini
|
||||
COPY openbox.xml /etc/neko/openbox.xml
|
2
.docker/waterfox/autoconfig.js
Normal file
2
.docker/waterfox/autoconfig.js
Normal file
|
@ -0,0 +1,2 @@
|
|||
pref("general.config.obscure_value", 0);
|
||||
pref("general.config.filename", "mozilla.cfg");
|
37
.docker/waterfox/neko.js
Normal file
37
.docker/waterfox/neko.js
Normal file
|
@ -0,0 +1,37 @@
|
|||
// firefox config for neko
|
||||
lockPref("browser.tabs.closeWindowWithLastTab", false);
|
||||
lockPref("app.update.auto", false);
|
||||
lockPref("app.update.enabled", false);
|
||||
lockPref("app.update.silent", true);
|
||||
lockPref("browser.cache.disk.capacity", 1000);
|
||||
lockPref("browser.download.useDownloadDir", false);
|
||||
lockPref("browser.rights.3.shown", true);
|
||||
lockPref("browser.search.update", false);
|
||||
lockPref("browser.shell.checkDefaultBrowser", false);
|
||||
lockPref("extensions.update.enabled", false);
|
||||
lockPref("plugin.default_plugin_disabled", false);
|
||||
lockPref("plugin.scan.plid.all", true);
|
||||
lockPref("plugins.hide_infobar_for_missing_plugin", true);
|
||||
lockPref("profile.allow_automigration", false);
|
||||
lockPref("signon.prefillForms", false);
|
||||
lockPref("signon.rememberSignons", false);
|
||||
lockPref("xpinstall.enabled", false);
|
||||
lockPref("xpinstall.whitelist.required", true);
|
||||
lockPref("browser.download.manager.retention", 0);
|
||||
lockPref("browser.download.folderList", 2);
|
||||
lockPref("browser.download.forbid_open_with", true);
|
||||
lockPref("browser.safebrowsing.downloads.enabled", false);
|
||||
lockPref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||
lockPref("browser.helperApps.alwaysAsk.force", false);
|
||||
lockPref("browser.helperApps.neverAsk.saveToDisk", "application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf");
|
||||
lockPref("browser.helperApps.neverAsk.openFile", "application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf");
|
||||
lockPref("browser.newtabpage.activity-stream.default.sites", "https://ipleak.net/,https://www.youtube.com/,https://www.google.com/");
|
||||
// dark mode
|
||||
lockPref("reader.color_scheme", "dark");
|
||||
lockPref("devtools.theme", "dark");
|
||||
lockPref("ui.systemUsesDarkTheme", 1);
|
||||
lockPref("lightweightThemes.usedThemes","[]");
|
||||
lockPref("lightweightThemes.selectedThemeID", "firefox-compact-dark@mozilla.org");
|
||||
lockPref("extensions.activeThemeID", "firefox-compact-dark@mozilla.org");
|
||||
lockPref("browser.theme.toolbar-theme", 0);
|
||||
lockPref("browser.in-content.dark-mode", true);
|
763
.docker/waterfox/openbox.xml
Normal file
763
.docker/waterfox/openbox.xml
Normal file
|
@ -0,0 +1,763 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- Default openbox config but all window decorations are moved
|
||||
thereby making it harder to accidentally close the virtual browser -->
|
||||
|
||||
<openbox_config xmlns="http://openbox.org/3.4/rc"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<resistance>
|
||||
<strength>10</strength>
|
||||
<screen_edge_strength>20</screen_edge_strength>
|
||||
</resistance>
|
||||
|
||||
<applications>
|
||||
<!-- Match all windows and remove their decorations (obxprop | grep "^_OB_APP") -->
|
||||
<application class="waterfox" name="Navigator" role="browser">
|
||||
<decor>no</decor>
|
||||
<maximized>true</maximized>
|
||||
<focus>yes</focus>
|
||||
<layer>normal</layer>
|
||||
</application>
|
||||
</applications>
|
||||
|
||||
<focus>
|
||||
<focusNew>yes</focusNew>
|
||||
<!-- always try to focus new windows when they appear. other rules do
|
||||
apply -->
|
||||
<followMouse>no</followMouse>
|
||||
<!-- move focus to a window when you move the mouse into it -->
|
||||
<focusLast>yes</focusLast>
|
||||
<!-- focus the last used window when changing desktops, instead of the one
|
||||
under the mouse pointer. when followMouse is enabled -->
|
||||
<underMouse>no</underMouse>
|
||||
<!-- move focus under the mouse, even when the mouse is not moving -->
|
||||
<focusDelay>200</focusDelay>
|
||||
<!-- when followMouse is enabled, the mouse must be inside the window for
|
||||
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||
<raiseOnFocus>no</raiseOnFocus>
|
||||
<!-- when followMouse is enabled, and a window is given focus by moving the
|
||||
mouse into it, also raise the window -->
|
||||
</focus>
|
||||
|
||||
<placement>
|
||||
<policy>Smart</policy>
|
||||
<!-- 'Smart' or 'UnderMouse' -->
|
||||
<center>yes</center>
|
||||
<!-- whether to place windows in the center of the free area found or
|
||||
the top left corner -->
|
||||
<monitor>Primary</monitor>
|
||||
<!-- with Smart placement on a multi-monitor system, try to place new windows
|
||||
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||
the active window is, 'Primary' - only on the primary monitor -->
|
||||
<primaryMonitor>1</primaryMonitor>
|
||||
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||
focus cycling popup, or the desktop switch popup. It can be an index
|
||||
from 1, specifying a particular monitor. Or it can be one of the
|
||||
following: 'Mouse' - where the mouse is, or
|
||||
'Active' - where the active window is -->
|
||||
</placement>
|
||||
|
||||
<theme>
|
||||
<name>Clearlooks</name>
|
||||
<titleLayout>NLIMC</titleLayout>
|
||||
<!--
|
||||
available characters are NDSLIMC, each can occur at most once.
|
||||
N: window icon
|
||||
L: window label (AKA title).
|
||||
I: iconify
|
||||
M: maximize
|
||||
C: close
|
||||
S: shade (roll up/down)
|
||||
D: omnipresent (on all desktops).
|
||||
-->
|
||||
<keepBorder>yes</keepBorder>
|
||||
<animateIconify>yes</animateIconify>
|
||||
<font place="ActiveWindow">
|
||||
<name>sans</name>
|
||||
<size>8</size>
|
||||
<!-- font size in points -->
|
||||
<weight>bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveWindow">
|
||||
<name>sans</name>
|
||||
<size>8</size>
|
||||
<!-- font size in points -->
|
||||
<weight>bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuHeader">
|
||||
<name>sans</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuItem">
|
||||
<name>sans</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="ActiveOnScreenDisplay">
|
||||
<name>sans</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveOnScreenDisplay">
|
||||
<name>sans</name>
|
||||
<size>9</size>
|
||||
<!-- font size in points -->
|
||||
<weight>bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
</theme>
|
||||
|
||||
<desktops>
|
||||
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||
during a session
|
||||
|
||||
these are default values to use when other ones are not already set
|
||||
by other applications, or saved in your session
|
||||
|
||||
use obconf if you want to change these without having to log out
|
||||
and back in -->
|
||||
<number>1</number>
|
||||
<firstdesk>1</firstdesk>
|
||||
<names>
|
||||
<!-- set names up here if you want to, like this:
|
||||
<name>desktop 1</name>
|
||||
<name>desktop 2</name>
|
||||
-->
|
||||
</names>
|
||||
<popupTime>875</popupTime>
|
||||
<!-- The number of milliseconds to show the popup for when switching
|
||||
desktops. Set this to 0 to disable the popup. -->
|
||||
</desktops>
|
||||
|
||||
<resize>
|
||||
<drawContents>yes</drawContents>
|
||||
<popupShow>Nonpixel</popupShow>
|
||||
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||
<popupPosition>Center</popupPosition>
|
||||
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||
<popupFixedPosition>
|
||||
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||
|
||||
<x>10</x>
|
||||
<!-- positive number for distance from left edge, negative number for
|
||||
distance from right edge, or 'Center' -->
|
||||
<y>10</y>
|
||||
<!-- positive number for distance from top edge, negative number for
|
||||
distance from bottom edge, or 'Center' -->
|
||||
</popupFixedPosition>
|
||||
</resize>
|
||||
|
||||
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||
they are maximized, or when they are initially placed.
|
||||
Many programs reserve space automatically, but you can use this in other
|
||||
cases. -->
|
||||
<margins>
|
||||
<top>0</top>
|
||||
<bottom>0</bottom>
|
||||
<left>0</left>
|
||||
<right>0</right>
|
||||
</margins>
|
||||
|
||||
<dock>
|
||||
<position>TopLeft</position>
|
||||
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||
<floatingX>0</floatingX>
|
||||
<floatingY>0</floatingY>
|
||||
<noStrut>no</noStrut>
|
||||
<stacking>Above</stacking>
|
||||
<!-- 'Above', 'Normal', or 'Below' -->
|
||||
<direction>Vertical</direction>
|
||||
<!-- 'Vertical' or 'Horizontal' -->
|
||||
<autoHide>no</autoHide>
|
||||
<hideDelay>300</hideDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<showDelay>300</showDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<moveButton>Middle</moveButton>
|
||||
<!-- 'Left', 'Middle', 'Right' -->
|
||||
</dock>
|
||||
|
||||
<keyboard>
|
||||
<chainQuitKey>C-g</chainQuitKey>
|
||||
|
||||
<!-- Keybindings for desktop switching -->
|
||||
<keybind key="C-A-Left">
|
||||
<action name="GoToDesktop"><to>left</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Right">
|
||||
<action name="GoToDesktop"><to>right</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Up">
|
||||
<action name="GoToDesktop"><to>up</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Down">
|
||||
<action name="GoToDesktop"><to>down</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Left">
|
||||
<action name="SendToDesktop"><to>left</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Right">
|
||||
<action name="SendToDesktop"><to>right</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Up">
|
||||
<action name="SendToDesktop"><to>up</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="S-A-Down">
|
||||
<action name="SendToDesktop"><to>down</to><wrap>no</wrap></action>
|
||||
</keybind>
|
||||
<keybind key="W-F1">
|
||||
<action name="GoToDesktop"><to>1</to></action>
|
||||
</keybind>
|
||||
<keybind key="W-F2">
|
||||
<action name="GoToDesktop"><to>2</to></action>
|
||||
</keybind>
|
||||
<keybind key="W-F3">
|
||||
<action name="GoToDesktop"><to>3</to></action>
|
||||
</keybind>
|
||||
<keybind key="W-F4">
|
||||
<action name="GoToDesktop"><to>4</to></action>
|
||||
</keybind>
|
||||
<keybind key="W-d">
|
||||
<action name="ToggleShowDesktop"/>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for windows -->
|
||||
<keybind key="A-F4">
|
||||
<action name="Close"/>
|
||||
</keybind>
|
||||
<keybind key="A-Escape">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</keybind>
|
||||
<keybind key="A-space">
|
||||
<!--action name="ShowMenu"><menu>client-menu</menu></action-->
|
||||
</keybind>
|
||||
<!-- Take a screenshot of the current window with scrot when Alt+Print are pressed -->
|
||||
<keybind key="A-Print">
|
||||
<action name="Execute"><command>scrot -s</command></action>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for window switching -->
|
||||
<keybind key="A-Tab">
|
||||
<action name="NextWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="A-S-Tab">
|
||||
<action name="PreviousWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="C-A-Tab">
|
||||
<action name="NextWindow">
|
||||
<panels>yes</panels><desktop>yes</desktop>
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for window switching with the arrow keys -->
|
||||
<keybind key="W-S-Right">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>right</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Left">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>left</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Up">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>up</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Down">
|
||||
<action name="DirectionalCycleWindows">
|
||||
<direction>down</direction>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for running applications -->
|
||||
<keybind key="W-e">
|
||||
<action name="Execute">
|
||||
<startupnotify>
|
||||
<enabled>true</enabled>
|
||||
<name>Konqueror</name>
|
||||
</startupnotify>
|
||||
<command>kfmclient openProfile filemanagement</command>
|
||||
</action>
|
||||
</keybind>
|
||||
<!-- Launch scrot when Print is pressed -->
|
||||
<keybind key="Print">
|
||||
<action name="Execute"><command>scrot</command></action>
|
||||
</keybind>
|
||||
</keyboard>
|
||||
|
||||
<mouse>
|
||||
<dragThreshold>1</dragThreshold>
|
||||
<!-- number of pixels the mouse must move before a drag begins -->
|
||||
<doubleClickTime>500</doubleClickTime>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<screenEdgeWarpTime>400</screenEdgeWarpTime>
|
||||
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||
Set this to 0 to disable warping -->
|
||||
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
|
||||
<!-- Set this to TRUE to move the mouse pointer across the desktop when
|
||||
switching due to hitting the edge of the screen -->
|
||||
|
||||
<context name="Frame">
|
||||
<mousebind button="A-Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Left" action="Click">
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Left" action="Drag">
|
||||
<action name="Move"/>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="A-Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="A-Right" action="Drag">
|
||||
<action name="Resize"/>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="A-Middle" action="Press">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-S-Up" action="Click">
|
||||
<action name="SendToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-S-Down" action="Click">
|
||||
<action name="SendToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Titlebar">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Move"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="DoubleClick">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="if">
|
||||
<shaded>no</shaded>
|
||||
<then>
|
||||
<action name="Shade"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
<action name="Lower"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="if">
|
||||
<shaded>yes</shaded>
|
||||
<then>
|
||||
<action name="Unshade"/>
|
||||
<action name="Raise"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</mousebind>
|
||||
|
||||
<!--mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||
</mousebind-->
|
||||
</context>
|
||||
|
||||
<context name="Top">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"><edge>top</edge></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Left">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"><edge>left</edge></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Right">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"><edge>right</edge></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Bottom">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"><edge>bottom</edge></action>
|
||||
</mousebind>
|
||||
|
||||
<!--mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||
</mousebind-->
|
||||
</context>
|
||||
|
||||
<context name="TRCorner BRCorner TLCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Client">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Icon">
|
||||
<!--mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu"><menu>client-menu</menu></action>
|
||||
</mousebind-->
|
||||
</context>
|
||||
|
||||
<context name="AllDesktops">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleOmnipresent"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Shade">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleShade"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Iconify">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Iconify"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Maximize">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Click">
|
||||
<action name="ToggleMaximize"><direction>vertical</direction></action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ToggleMaximize"><direction>horizontal</direction></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Close">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Close"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Desktop">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
|
||||
<context name="Root">
|
||||
<!-- Menus -->
|
||||
<!--mousebind button="Middle" action="Press">
|
||||
<action name="ShowMenu"><menu>client-list-combined-menu</menu></action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="ShowMenu"><menu>root-menu</menu></action>
|
||||
</mousebind-->
|
||||
</context>
|
||||
|
||||
<context name="MoveResize">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop"><to>previous</to></action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop"><to>next</to></action>
|
||||
</mousebind>
|
||||
</context>
|
||||
</mouse>
|
||||
|
||||
<menu>
|
||||
<!-- You can specify more than one menu file in here and they are all loaded,
|
||||
just don't make menu ids clash or, well, it'll be kind of pointless -->
|
||||
|
||||
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
|
||||
<!-- system menu files on Debian systems -->
|
||||
<!--file>/var/lib/openbox/debian-menu.xml</file-->
|
||||
<file>menu.xml</file>
|
||||
<hideDelay>200</hideDelay>
|
||||
<!-- if a press-release lasts longer than this setting (in milliseconds), the
|
||||
menu is hidden again -->
|
||||
<middle>no</middle>
|
||||
<!-- center submenus vertically about the parent entry -->
|
||||
<submenuShowDelay>100</submenuShowDelay>
|
||||
<!-- time to delay before showing a submenu after hovering over the parent
|
||||
entry.
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be shown until it is clicked on -->
|
||||
<submenuHideDelay>400</submenuHideDelay>
|
||||
<!-- time to delay before hiding a submenu when selecting another
|
||||
entry in parent menu
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be hidden until a different submenu is opened -->
|
||||
<showIcons>yes</showIcons>
|
||||
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||
<manageDesktops>yes</manageDesktops>
|
||||
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||
</menu>
|
||||
|
||||
<applications>
|
||||
<!--
|
||||
# this is an example with comments through out. use these to make your
|
||||
# own rules, but without the comments of course.
|
||||
# you may use one or more of the name/class/role/title/type rules to specify
|
||||
# windows to match
|
||||
|
||||
<application name="the window's _OB_APP_NAME property (see obxprop)"
|
||||
class="the window's _OB_APP_CLASS property (see obxprop)"
|
||||
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
|
||||
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
|
||||
role="the window's _OB_APP_ROLE property (see obxprop)"
|
||||
title="the window's _OB_APP_TITLE property (see obxprop)"
|
||||
type="the window's _OB_APP_TYPE property (see obxprob)..
|
||||
(if unspecified, then it is 'dialog' for child windows)">
|
||||
# you may set only one of name/class/role/title/type, or you may use more
|
||||
# than one together to restrict your matches.
|
||||
|
||||
# the name, class, role, and title use simple wildcard matching such as those
|
||||
# used by a shell. you can use * to match any characters and ? to match
|
||||
# any single character.
|
||||
|
||||
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
|
||||
# or desktop
|
||||
|
||||
# when multiple rules match a window, they will all be applied, in the
|
||||
# order that they appear in this list
|
||||
|
||||
|
||||
# each rule element can be left out or set to 'default' to specify to not
|
||||
# change that attribute of the window
|
||||
|
||||
<decor>yes</decor>
|
||||
# enable or disable window decorations
|
||||
|
||||
<shade>no</shade>
|
||||
# make the window shaded when it appears, or not
|
||||
|
||||
<position force="no">
|
||||
# the position is only used if both an x and y coordinate are provided
|
||||
# (and not set to 'default')
|
||||
# when force is "yes", then the window will be placed here even if it
|
||||
# says you want it placed elsewhere. this is to override buggy
|
||||
# applications who refuse to behave
|
||||
<x>center</x>
|
||||
# a number like 50, or 'center' to center on screen. use a negative number
|
||||
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
|
||||
# the right edge (or bottom). use 'default' to specify using value
|
||||
# provided by the application, or chosen by openbox, instead.
|
||||
<y>200</y>
|
||||
<monitor>1</monitor>
|
||||
# specifies the monitor in a xinerama setup.
|
||||
# 1 is the first head, or 'mouse' for wherever the mouse is
|
||||
</position>
|
||||
|
||||
<size>
|
||||
# the size to make the window.
|
||||
<width>20</width>
|
||||
# a number like 20, or 'default' to use the size given by the application.
|
||||
# you can use fractions such as 1/2 or percentages such as 75% in which
|
||||
# case the value is relative to the size of the monitor that the window
|
||||
# appears on.
|
||||
<height>30%</height>
|
||||
</size>
|
||||
|
||||
<focus>yes</focus>
|
||||
# if the window should try be given focus when it appears. if this is set
|
||||
# to yes it doesn't guarantee the window will be given focus. some
|
||||
# restrictions may apply, but Openbox will try to
|
||||
|
||||
<desktop>1</desktop>
|
||||
# 1 is the first desktop, 'all' for all desktops
|
||||
|
||||
<layer>normal</layer>
|
||||
# 'above', 'normal', or 'below'
|
||||
|
||||
<iconic>no</iconic>
|
||||
# make the window iconified when it appears, or not
|
||||
|
||||
<skip_pager>no</skip_pager>
|
||||
# asks to not be shown in pagers
|
||||
|
||||
<skip_taskbar>no</skip_taskbar>
|
||||
# asks to not be shown in taskbars. window cycling actions will also
|
||||
# skip past such windows
|
||||
|
||||
<fullscreen>yes</fullscreen>
|
||||
# make the window in fullscreen mode when it appears
|
||||
|
||||
<maximized>true</maximized>
|
||||
# 'Horizontal', 'Vertical' or boolean (yes/no)
|
||||
</application>
|
||||
|
||||
# end of the example
|
||||
-->
|
||||
</applications>
|
||||
|
||||
</openbox_config>
|
129
.docker/waterfox/policies.json
Normal file
129
.docker/waterfox/policies.json
Normal file
|
@ -0,0 +1,129 @@
|
|||
{
|
||||
"policies": {
|
||||
"BlockAboutAddons": false,
|
||||
"BlockAboutConfig": true,
|
||||
"BlockAboutProfiles": true,
|
||||
"BlockAboutSupport": true,
|
||||
"Bookmarks": [
|
||||
{
|
||||
"Title": "IPLeak",
|
||||
"URL": "https://ipleak.net/",
|
||||
"Favicon": "https://ipleak.net/favicon.ico",
|
||||
"Folder": "Pages",
|
||||
"Placement": "toolbar"
|
||||
},
|
||||
{
|
||||
"Title": "YouTube",
|
||||
"URL": "https://www.youtube.com/",
|
||||
"Favicon": "https://www.youtube.com/favicon.ico",
|
||||
"Folder": "Pages",
|
||||
"Placement": "toolbar"
|
||||
},
|
||||
{
|
||||
"Title": "Google",
|
||||
"URL": "https://www.google.com/",
|
||||
"Favicon": "https://www.google.com/favicon.ico",
|
||||
"Folder": "Pages",
|
||||
"Placement": "toolbar"
|
||||
}
|
||||
],
|
||||
"CaptivePortal": false,
|
||||
"DisableAppUpdate": true,
|
||||
"DisableBuiltinPDFViewer": true,
|
||||
"DisableDeveloperTools": false,
|
||||
"DisableFeedbackCommands": true,
|
||||
"DisableFirefoxAccounts": true,
|
||||
"DisableFirefoxScreenshots": true,
|
||||
"DisableFirefoxStudies": true,
|
||||
"DisableForgetButton": true,
|
||||
"DisableMasterPasswordCreation": true,
|
||||
"DisablePocket": true,
|
||||
"DisablePrivateBrowsing": true,
|
||||
"DisableProfileImport": true,
|
||||
"DisableProfileRefresh": true,
|
||||
"DisableSafeMode": true,
|
||||
"DisableSetDesktopBackground": true,
|
||||
"DisableSystemAddonUpdate": true,
|
||||
"DisableTelemetry": true,
|
||||
"DisplayBookmarksToolbar": false,
|
||||
"DontCheckDefaultBrowser": true,
|
||||
"EnableTrackingProtection": {
|
||||
"Cryptomining": true,
|
||||
"Fingerprinting": true,
|
||||
"Value": true
|
||||
},
|
||||
"ExtensionSettings": {
|
||||
"*": {
|
||||
"installation_mode": "blocked"
|
||||
},
|
||||
"sponsorBlocker@ajay.app": {
|
||||
"install_url": "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi",
|
||||
"installation_mode": "force_installed"
|
||||
},
|
||||
"uBlock0@raymondhill.net": {
|
||||
"install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi",
|
||||
"installation_mode": "force_installed"
|
||||
}
|
||||
},
|
||||
"ExtensionUpdate": false,
|
||||
"FirefoxHome": {
|
||||
"Highlights": false,
|
||||
"Pocket": false,
|
||||
"Search": true,
|
||||
"Snippets": false,
|
||||
"TopSites": true
|
||||
},
|
||||
"FlashPlugin": {},
|
||||
"HardwareAcceleration": false,
|
||||
"Homepage": {
|
||||
"Additional": [],
|
||||
"StartPage": "home"
|
||||
},
|
||||
"NewTabPage": true,
|
||||
"NoDefaultBookmarks": true,
|
||||
"OfferToSaveLogins": false,
|
||||
"OfferToSaveLoginsDefault": false,
|
||||
"OverrideFirstRunPage": "",
|
||||
"OverridePostUpdatePage": "",
|
||||
"PasswordManagerEnabled": false,
|
||||
"Permissions": {
|
||||
"Camera": {
|
||||
"BlockNewRequests": true
|
||||
},
|
||||
"Location": {
|
||||
"BlockNewRequests": true
|
||||
},
|
||||
"Microphone": {
|
||||
"BlockNewRequests": true
|
||||
},
|
||||
"Notifications": {
|
||||
"BlockNewRequests": true
|
||||
}
|
||||
},
|
||||
"Preferences": {
|
||||
"browser.tabs.warnOnClose": false,
|
||||
"browser.urlbar.suggest.bookmark": false,
|
||||
"browser.urlbar.suggest.history": false,
|
||||
"browser.urlbar.suggest.openpage": false,
|
||||
"datareporting.policy.dataSubmissionPolicyBypassNotification": true,
|
||||
"dom.disable_window_flip": true,
|
||||
"dom.disable_window_move_resize": true,
|
||||
"dom.event.contextmenu.enabled": true,
|
||||
"extensions.getAddons.showPane": false,
|
||||
"places.history.enabled": false,
|
||||
"privacy.file_unique_origin": true,
|
||||
"ui.key.menuAccessKeyFocuses": false
|
||||
},
|
||||
"PromptForDownloadLocation": false,
|
||||
"SanitizeOnShutdown": {
|
||||
"Cache": true,
|
||||
"Cookies": true,
|
||||
"Downloads": true,
|
||||
"FormData": true,
|
||||
"History": true,
|
||||
"OfflineApps": true,
|
||||
"Sessions": true,
|
||||
"SiteSettings": true
|
||||
}
|
||||
}
|
||||
}
|
8
.docker/waterfox/profiles.ini
Normal file
8
.docker/waterfox/profiles.ini
Normal file
|
@ -0,0 +1,8 @@
|
|||
[General]
|
||||
StartWithLastProfile=1
|
||||
|
||||
[Profile0]
|
||||
Name=default
|
||||
IsRelative=1
|
||||
Path=profile.default
|
||||
Default=1
|
22
.docker/waterfox/supervisord.conf
Normal file
22
.docker/waterfox/supervisord.conf
Normal file
|
@ -0,0 +1,22 @@
|
|||
[program:waterfox]
|
||||
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
|
||||
command=/usr/bin/waterfox --no-remote -P default --display=%(ENV_DISPLAY)s -setDefaultBrowser -width 1280 -height 720
|
||||
stopsignal=INT
|
||||
autorestart=true
|
||||
priority=800
|
||||
user=%(ENV_USER)s
|
||||
stdout_logfile=/var/log/neko/waterfox.log
|
||||
stdout_logfile_maxbytes=100MB
|
||||
stdout_logfile_backups=10
|
||||
redirect_stderr=true
|
||||
|
||||
[program:openbox]
|
||||
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
|
||||
command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
|
||||
autorestart=true
|
||||
priority=300
|
||||
user=%(ENV_USER)s
|
||||
stdout_logfile=/var/log/neko/openbox.log
|
||||
stdout_logfile_maxbytes=100MB
|
||||
stdout_logfile_backups=10
|
||||
redirect_stderr=true
|
2
.github/workflows/dockerhub.yml
vendored
2
.github/workflows/dockerhub.yml
vendored
|
@ -50,7 +50,7 @@ jobs:
|
|||
# Will build all images even if some fail.
|
||||
fail-fast: false
|
||||
matrix:
|
||||
tags: [ firefox, chromium, google-chrome, ungoogled-chromium, microsoft-edge, brave, vivaldi, opera, tor-browser, remmina, vlc, xfce, kde ]
|
||||
tags: [ firefox, waterfox, chromium, google-chrome, ungoogled-chromium, microsoft-edge, brave, vivaldi, opera, tor-browser, remmina, vlc, xfce, kde ]
|
||||
env:
|
||||
DOCKER_TAG: ${{ matrix.tags }}
|
||||
steps:
|
||||
|
|
1
.github/workflows/ghcr-amd.yml
vendored
1
.github/workflows/ghcr-amd.yml
vendored
|
@ -70,6 +70,7 @@ jobs:
|
|||
matrix:
|
||||
include:
|
||||
- tag: firefox
|
||||
- tag: waterfox
|
||||
- tag: chromium
|
||||
- tag: google-chrome
|
||||
- tag: ungoogled-chromium
|
||||
|
|
|
@ -41,7 +41,8 @@ In comparison to Chromium-based browsers, Firefox-based browsers do not require
|
|||
| Icon | Name | Docker Image |
|
||||
| ---- | ---- | ------------ |
|
||||
| <img src="/img/icons/firefox.svg" width="60" height="60" /> | [Firefox](https://www.mozilla.org/firefox/) <br /> The open-source browser from Mozilla. | [`ghcr.io/m1k1o/neko/firefox`](https://ghcr.io/m1k1o/neko/firefox) |
|
||||
| <img src="/img/icons/tor-browser.svg" width="60" height="60" /> | [Tor Browser](https://www.torproject.org/) <br /> The privacy-focused browser from the Tor Project. | [`ghcr.io/m1k1o/neko/tor-browser`](https://ghcr.io/m1k1o/neko/tor-browser) |
|
||||
| <img src="/img/icons/tor-browser.svg" width="60" height="60" /> | [Tor Browser](https://www.torproject.org/) <br /> A browser designed to access the Tor network for enhanced privacy. | [`ghcr.io/m1k1o/neko/tor-browser`](https://ghcr.io/m1k1o/neko/tor-browser) |
|
||||
| <img src="/img/icons/waterfox.svg" width="60" height="60" /> | [Waterfox](https://www.waterfox.net/) <br /> A privacy-focused browser based on Firefox. | [`ghcr.io/m1k1o/neko/waterfox`](https://ghcr.io/m1k1o/neko/waterfox) |
|
||||
|
||||
### Chromium-based browsers
|
||||
|
||||
|
|
16
webpage/static/img/icons/waterfox.svg
Normal file
16
webpage/static/img/icons/waterfox.svg
Normal file
|
@ -0,0 +1,16 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" version="1">
|
||||
<path style="opacity:0.2" d="m 55.245771,20.996622 a 6.8097245,6.8097245 0 0 0 -6.3046,4.101505 l -5.398363,11.988115 -0.0078,-0.0156 0.0196,-0.03516 c -1.113598,-1.984757 -2.312787,-4.296549 -3.632761,-6.589753 -0.622387,1.040496 -1.233387,2.054308 -1.898412,3.117145 l -0.226558,0.347651 -5.808514,10.331889 5.964759,10.60532 a 6.8097245,6.8097245 0 0 0 3.960883,3.742136 6.8097245,6.8097245 0 0 0 1.738258,0.382807 c 0.03906,0.0034 0.0781,0.0011 0.117179,0.004 a 6.8097245,6.8097245 0 0 0 0.648426,0.0118 c 0.103179,-0.0024 0.205624,-0.0048 0.30859,-0.0118 a 6.8097245,6.8097245 0 0 0 0.347651,-0.03906 c 2.236953,-0.26197 4.356078,-1.590856 5.417895,-3.976506 l 3.874946,-8.722535 c -0.0036,0.0022 -0.008,0.0018 -0.0118,0.004 l 7.003819,-15.554684 a 6.8097245,6.8097245 0 0 0 -6.113197,-9.691271 z m -46.6946638,0.0039 a 6.8097245,6.8097245 0 0 0 -5.910074,9.687365 l 7.0116213,15.574001 c 1.9168845,1.106687 3.9336785,1.707523 5.7382015,-0.218746 l 5.050711,-8.972532 -0.02344,-0.03516 c 0.0026,-0.0046 0.0052,-0.011 0.0078,-0.0156 L 15.058829,25.098127 A 6.8097245,6.8097245 0 0 0 8.5511072,21.000528 Z m 17.5622568,33.687031 -0.476557,0.843739 c -1.18964,2.112978 -3.20077,3.245515 -5.285083,3.437452 a 6.8097245,6.8097245 0 0 0 5.76164,-4.281191 z m -5.871012,4.289003 c -0.214135,0.0164 -0.429966,0.0152 -0.644523,0.0118 a 6.8097245,6.8097245 0 0 0 0.644523,-0.0118 z"/>
|
||||
<path style="opacity:0.2" d="m 44.999819,6.9999974 a 2.9999583,2.9999583 0 0 0 -2.999958,2.9999586 2.9999583,2.9999583 0 0 0 2.999958,2.999958 2.9999583,2.9999583 0 0 0 2.999959,-2.999958 2.9999583,2.9999583 0 0 0 -2.999959,-2.9999586 z m -11.2225,1.9999722 c -0.876891,0.00108 -1.80703,0.2636894 -2.746055,0.7890514 -3.50476,1.960851 -5.229878,5.354885 -5.011649,9.855331 0.05508,1.137341 0.225665,2.35677 0.378901,2.710901 0.153238,0.354133 0.407256,0.644523 0.566398,0.644523 0.159138,0 0.836136,-0.617672 1.503885,-1.371075 0.908102,-1.024598 1.693499,-1.62159 3.121051,-2.367155 3.815093,-1.992489 4.165996,-2.215664 5.081961,-3.296829 1.72737,-2.038919 1.770436,-4.046126 0.124998,-5.687421 C 35.943991,9.426649 34.90477,8.998568 33.777319,8.9999696 Z M 19.343926,16.999858 c -0.210135,-0.0059 -0.423215,0.0097 -0.632804,0.05078 -1.664941,0.328945 -2.967099,2.821794 -2.667931,5.101493 0.185485,1.413512 1.451061,3.573864 2.531215,4.324157 0.468942,0.325732 1.079011,0.560425 1.355449,0.519525 0.432955,-0.0641 0.527118,-0.329319 0.679679,-1.910129 0.09738,-1.009332 0.457738,-2.524799 0.800769,-3.367141 0.748594,-1.838189 0.770814,-2.435677 0.140618,-3.503859 -0.428244,-0.725872 -1.296434,-1.186764 -2.206995,-1.214827 z"/>
|
||||
<path style="fill:none;stroke:#00a5f5;stroke-width:13.61808777;stroke-linecap:round;stroke-linejoin:round" d="M 8.8492517,26.90046 19.743721,51.102305"/>
|
||||
<path style="fill:none;stroke:#7369e8;stroke-width:13.61808777;stroke-linecap:round;stroke-linejoin:round" d="M 44.256278,51.102305 55.150748,26.90046 v 0 0"/>
|
||||
<path style="opacity:0.1;fill:#ffffff" d="M 55.244141 20.003906 A 6.8097248 6.8097248 0 0 0 48.941406 24.105469 L 38.046875 48.306641 A 6.8097248 6.8097248 0 0 0 37.431641 51.716797 A 6.8097248 6.8097248 0 0 1 38.046875 49.306641 L 48.941406 25.105469 A 6.8097248 6.8097248 0 0 1 55.244141 21.003906 A 6.8097248 6.8097248 0 0 1 61.974609 27.287109 A 6.8097248 6.8097248 0 0 0 55.244141 20.003906 z M 8.5507812 20.007812 A 6.8097248 6.8097248 0 0 0 2.0253906 27.34375 A 6.8097248 6.8097248 0 0 1 8.5507812 21.007812 A 6.8097248 6.8097248 0 0 1 15.058594 25.105469 L 25.953125 49.306641 A 6.8097248 6.8097248 0 0 1 26.568359 51.658203 A 6.8097248 6.8097248 0 0 0 25.953125 48.306641 L 15.058594 24.105469 A 6.8097248 6.8097248 0 0 0 8.5507812 20.007812 z"/>
|
||||
<path style="fill:#00aeda" d="m 31.403572,24.642791 c 9.752859,9.431653 1.048674,-1.335312 2.884746,-0.713782 4.453896,1.473033 0.416117,-1.71228 2.426811,0.559724 2.747839,3.592998 4.895072,8.077978 6.840958,11.546118 l -0.02128,0.03458 5.048268,8.974107 c 1.81913,1.941861 3.854282,1.320666 5.785027,0.196818 l -3.875304,8.718768 c -2.276384,5.114497 -9.408707,5.450045 -12.155207,0.571854 L 26.177063,32.912266 25.95364,32.563833 c -2.430862,-3.88499 4.370175,-0.841185 1.104657,-3.796039 -0.365301,-0.323188 0.764395,-0.720724 0.990316,-1.273957 0.916203,-2.243607 0.787157,1.129425 2.716204,0.725938 0.402001,-0.05536 -0.440466,0.0072 0,0 z"/>
|
||||
<path style="opacity:0.2;fill:#ffffff" d="M 36.113281 23.650391 C 36.093612 23.683349 36.2202 23.87539 36.466797 24.181641 C 36.559075 23.959748 36.154327 23.581614 36.113281 23.650391 z M 36.466797 24.181641 C 36.382398 24.384586 35.884786 24.45744 34.289062 23.929688 C 33.863725 23.785706 34.011968 24.263564 34.357422 24.949219 C 35.884632 25.445815 36.383951 25.380852 36.466797 25.181641 C 35.705607 24.236313 36.603295 24.853416 36.466797 25.181641 C 36.548616 25.283252 36.589611 25.346774 36.714844 25.488281 C 39.462683 29.081279 41.610755 33.567016 43.556641 37.035156 L 43.535156 37.070312 L 48.583984 46.042969 C 50.21971 47.789051 52.029161 47.459167 53.78125 46.558594 L 54.367188 45.240234 C 52.436443 46.364082 50.403114 46.98483 48.583984 45.042969 L 43.535156 36.070312 L 43.556641 36.035156 C 41.610755 32.567016 39.462683 28.081279 36.714844 24.488281 C 36.589611 24.346774 36.548616 24.283252 36.466797 24.181641 z M 31.404297 24.642578 L 30.769531 28.201172 C 30.865364 28.194987 30.950689 28.195218 30.765625 28.220703 C 28.836578 28.62419 28.965031 25.250534 28.048828 27.494141 C 27.822907 28.047374 26.693293 28.44439 27.058594 28.767578 C 27.212472 28.906817 27.322402 29.020814 27.433594 29.134766 C 27.678163 28.945039 27.949657 28.736989 28.048828 28.494141 C 28.965031 26.250534 28.836578 29.62419 30.765625 29.220703 C 30.527931 29.224589 30.657194 29.208422 30.769531 29.201172 L 31.404297 25.642578 C 36.441994 30.514361 36.537666 29.979122 35.722656 28.425781 C 35.146146 28.110469 33.865126 27.022361 31.404297 24.642578 z M 30.769531 29.201172 L 30.765625 29.220703 C 30.950689 29.195218 30.865364 29.194987 30.769531 29.201172 z M 30.765625 28.220703 L 30.769531 28.201172 C 30.657194 28.208422 30.527931 28.224589 30.765625 28.220703 z M 27.535156 30.234375 C 26.693922 30.396129 24.966727 30.192093 25.552734 31.763672 C 26.209647 30.892842 29.01197 31.817861 27.535156 30.234375 z"/>
|
||||
<path style="fill:#20ebff" d="m 36.457902,18.360578 c -4.453896,1.473034 -7.186834,3.76467 -9.197528,6.036674 C 24.512532,27.99025 22.3653,32.47523 20.419413,35.94337 l 0.02128,0.03458 -5.04827,8.974108 c -1.81913,1.941861 -3.854281,1.320665 -5.7850264,0.196817 L 13.4827,53.867643 c 2.276385,5.114497 9.408707,5.450044 12.155207,0.571854 L 37.798433,32.820783 38.021854,32.47235 c 2.430865,-3.88499 4.312438,-7.739652 7.577957,-10.694507 2.987731,-3.015075 -6.026632,-4.28853 -9.141909,-3.417265 z"/>
|
||||
<circle style="fill:#20ebff" cx="45" cy="9.001" r="3"/>
|
||||
<path style="fill:#20ebff" d="m 33.778861,8.0007256 c -0.876891,0.00108 -1.807643,0.2621028 -2.746667,0.7874647 -3.50476,1.9608507 -5.23195,5.3562367 -5.013721,9.8566837 0.05508,1.13734 0.225737,2.357755 0.378973,2.711887 0.153238,0.354133 0.40902,0.643767 0.568162,0.643767 0.159138,0 0.83544,-0.616428 1.503189,-1.369831 0.908102,-1.024598 1.695303,-1.620953 3.122855,-2.366518 3.815093,-1.992489 4.163302,-2.218912 5.079265,-3.300077 1.727372,-2.038919 1.772196,-4.044172 0.126758,-5.6854678 C 35.944857,8.4279879 34.906322,7.999324 33.778871,8.0007256 Z"/>
|
||||
<path style="fill:#20ebff" d="m 19.344389,16.001766 c -0.210135,-0.0059 -0.42243,0.01042 -0.632019,0.05151 -1.664941,0.328945 -2.968361,2.818024 -2.669193,5.09772 0.185485,1.413513 1.450798,3.576725 2.530952,4.327018 0.468942,0.325732 1.07855,0.558693 1.354988,0.517793 0.432955,-0.0641 0.527102,-0.328839 0.679663,-1.909649 0.09738,-1.009332 0.457904,-2.524425 0.800935,-3.366768 0.748594,-1.838188 0.773128,-2.436635 0.142938,-3.504816 -0.42825,-0.725872 -1.297712,-1.184714 -2.208272,-1.212776 z"/>
|
||||
<path style="opacity:0.2" d="m 36.457902,19.452029 c -4.453896,1.473034 -7.186834,3.764672 -9.197528,6.036676 -2.747842,3.592998 -4.895074,8.077978 -6.840961,11.546118 l 0.02128,0.03458 -5.04827,8.974108 c -1.81913,1.941861 -3.854281,1.320665 -5.7850264,0.196817 L 13.4827,54.959096 c 2.276385,5.114496 9.408707,5.450044 12.155207,0.571854 l 12.160526,-21.618714 0.223421,-0.348433 c 2.430865,-3.88499 4.312438,-7.739652 7.577957,-10.694507 2.987731,-3.015076 -6.026632,-4.288532 -9.141909,-3.417267 z"/>
|
||||
<path style="fill:#20ebff" d="m 36.457902,18.452058 c -4.453896,1.473034 -7.186834,3.764671 -9.197528,6.036675 -2.747842,3.592998 -4.895074,8.077978 -6.840961,11.546118 l 0.02128,0.03458 -5.04827,8.974107 c -1.81913,1.941861 -3.854281,1.320666 -5.7850264,0.196818 L 13.4827,53.959123 c 2.276385,5.114497 9.408707,5.450045 12.155207,0.571854 l 12.160526,-21.618713 0.223421,-0.348433 c 2.430865,-3.88499 4.312438,-7.739653 7.577957,-10.694508 2.987731,-3.015075 -6.026632,-4.28853 -9.141909,-3.417265 z"/>
|
||||
<path style="opacity:0.2;fill:#ffffff" d="M 45 6 A 2.9999583 2.9999583 0 0 0 42 9 A 2.9999583 2.9999583 0 0 0 42.042969 9.4863281 A 2.9999583 2.9999583 0 0 1 45 7 A 2.9999583 2.9999583 0 0 1 47.957031 9.5136719 A 2.9999583 2.9999583 0 0 0 48 9 A 2.9999583 2.9999583 0 0 0 45 6 z M 33.779297 8 C 32.902406 8.00108 31.970274 8.2637006 31.03125 8.7890625 C 27.52649 10.749913 25.799349 14.144084 26.017578 18.644531 C 26.018589 18.665402 26.02235 18.684156 26.023438 18.705078 C 26.079492 14.677002 27.778251 11.609057 31.03125 9.7890625 C 31.970274 9.2637006 32.902406 9.00108 33.779297 9 C 34.906748 8.9985984 35.944057 9.4286507 36.796875 10.279297 C 37.448406 10.929188 37.824942 11.637331 37.947266 12.380859 C 38.105419 11.270318 37.734506 10.214567 36.796875 9.2792969 C 35.944057 8.4286506 34.906748 7.9985984 33.779297 8 z M 19.34375 16.001953 C 19.133615 15.996053 18.92248 16.011644 18.712891 16.052734 C 17.083887 16.374579 15.811554 18.763703 16.037109 21.001953 C 16.205851 19.100674 17.326572 17.326631 18.712891 17.052734 C 18.92248 17.011654 19.133615 16.996053 19.34375 17.001953 C 20.25431 17.030014 21.124484 17.488972 21.552734 18.214844 C 21.748173 18.546115 21.873929 18.833217 21.941406 19.125 C 22.088057 18.386044 21.953565 17.894258 21.552734 17.214844 C 21.124484 16.488972 20.25431 16.030015 19.34375 16.001953 z M 39.621094 18.195312 C 38.384595 18.151338 37.235851 18.233356 36.457031 18.451172 C 32.003135 19.924206 29.27046 22.216277 27.259766 24.488281 C 24.511924 28.081279 22.365809 32.567016 20.419922 36.035156 L 20.441406 36.070312 L 15.392578 45.042969 C 13.573448 46.98483 11.538167 46.364082 9.6074219 45.240234 L 10.193359 46.556641 C 11.946104 47.457937 13.756217 47.78973 15.392578 46.042969 L 20.441406 37.070312 L 20.419922 37.035156 C 22.365809 33.567016 24.511924 29.081279 27.259766 25.488281 C 29.27046 23.216277 32.003135 20.924206 36.457031 19.451172 C 37.235851 19.233352 38.384595 19.151342 39.621094 19.195312 C 42.307807 19.290864 45.401143 19.991638 46.058594 21.228516 C 46.936728 19.368569 42.962341 18.314142 39.621094 18.195312 z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
Loading…
Add table
Add a link
Reference in a new issue