├── data ├── downloads │ └── README.md └── profile │ └── README.md ├── docker ├── browsers │ ├── extensions │ │ ├── Login Data │ │ ├── ups │ │ │ ├── options.css │ │ │ ├── imgs │ │ │ │ ├── icon-square.png │ │ │ │ ├── tor-disabled-16.png │ │ │ │ ├── tor-disabled-24.png │ │ │ │ ├── tor-enabled-16.png │ │ │ │ ├── tor-enabled-24.png │ │ │ │ ├── refresh-24.svg │ │ │ │ └── fp-24.svg │ │ │ ├── panel.css │ │ │ ├── options.html │ │ │ ├── manifest.json │ │ │ ├── options.js │ │ │ ├── panel.html │ │ │ ├── panel.js │ │ │ └── background.js │ │ ├── jid1-d1BM58Kj2zuEUg@jetpack.xpi │ │ ├── nativeApp │ │ │ ├── ups-host.bat │ │ │ ├── com.ups.accessor.json │ │ │ ├── com.ups.accessor-win.json │ │ │ ├── uninstall_host.sh │ │ │ ├── install_host.sh │ │ │ └── ups-host │ │ └── extensions.json │ └── Dockerfile ├── os │ └── fedora │ │ ├── browsersList.py │ │ ├── ubuntu │ │ ├── browsersList.py │ │ ├── scripts │ │ │ ├── utils.py │ │ │ ├── browser.py │ │ │ ├── firefox.py │ │ │ ├── rws.py │ │ │ ├── mainContainer.py │ │ │ ├── chrome.py │ │ │ └── fontsWeightBlink.csv │ │ ├── updateContainer.py │ │ ├── pluginsWeightBlink.csv │ │ └── Dockerfile │ │ ├── updateContainer.py │ │ ├── pluginsWeightBlink.csv │ │ └── Dockerfile ├── fonts │ └── Dockerfile └── run │ ├── fedora │ └── Dockerfile │ └── ubuntu │ └── Dockerfile ├── ldpreload └── modUname.c ├── .gitignore ├── LICENSE.md ├── installContainers.py ├── downloadFromHub.py ├── uninstallContainers.py ├── README.md ├── installUtils.py ├── run.py └── seccomp └── chrome.json /data/downloads/README.md: -------------------------------------------------------------------------------- 1 | This folder will contain the downloads performed by the user from any browsing platform. 2 | -------------------------------------------------------------------------------- /docker/browsers/extensions/Login Data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/Login Data -------------------------------------------------------------------------------- /docker/os/fedora/browsersList.py: -------------------------------------------------------------------------------- 1 | #List of Fedora browsers 2 | browsersList = ['FirefoxRepo','Firefox','FirefoxESR','Chrome','Opera'] -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/options.css: -------------------------------------------------------------------------------- 1 | header{ 2 | font-size: 25px; 3 | font-weight: bold; 4 | } 5 | body{ 6 | text-align: left; 7 | } 8 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/browsersList.py: -------------------------------------------------------------------------------- 1 | #List of Ubuntu browsers 2 | browsersList = ['FirefoxRepo','Firefox','FirefoxESR','Chrome','Chromium','Opera'] -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/icon-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/ups/imgs/icon-square.png -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/tor-disabled-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/ups/imgs/tor-disabled-16.png -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/tor-disabled-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/ups/imgs/tor-disabled-24.png -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/tor-enabled-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/ups/imgs/tor-enabled-16.png -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/tor-enabled-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/ups/imgs/tor-enabled-24.png -------------------------------------------------------------------------------- /docker/browsers/extensions/jid1-d1BM58Kj2zuEUg@jetpack.xpi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plaperdr/blink-docker/HEAD/docker/browsers/extensions/jid1-d1BM58Kj2zuEUg@jetpack.xpi -------------------------------------------------------------------------------- /data/profile/README.md: -------------------------------------------------------------------------------- 1 | This folder will contain the complete user profile that is used to transfer open tabs, bookmarks and paswwords between different browsing platforms. 2 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/ups-host.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | :: Copyright (c) 2013 The Chromium Authors. All rights reserved. 3 | :: Use of this source code is governed by a BSD-style license that can be 4 | :: found in the LICENSE file. 5 | 6 | python "%~dp0/ups-host" %* 7 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/com.ups.accessor.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.ups.accessor", 3 | "description": "UPS Chrome File accessor", 4 | "path": "HOST_PATH", 5 | "type": "stdio", 6 | "allowed_origins": [ 7 | "chrome-extension://glmnpaocdojpccicgaphlfjdohgkfopa/" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/com.ups.accessor-win.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.ups.accessor", 3 | "description": "UPS Chrome File accessor", 4 | "path": "ups-host.bat", 5 | "type": "stdio", 6 | "allowed_origins": [ 7 | "chrome-extension://glmnpaocdojpccicgaphlfjdohgkfopa/" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /ldpreload/modUname.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "modUname.h" 5 | 6 | int uname(struct utsname *u){ 7 | strcpy(u->sysname,"Linux"); 8 | strcpy(u->nodename,""); 9 | strcpy(u->release,RELEASE); 10 | strcpy(u->version,""); 11 | strcpy(u->machine,"x86_64"); 12 | return 0; 13 | }; 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | *~ 3 | installComplete 4 | docker/fonts/ALL_FONTS 5 | docker/plugins/ALL_PLUGINS 6 | docker/os/fedora/ubuntu/scripts/Dockerfile 7 | docker/os/fedora/ubuntu/scripts/fontsOS 8 | docker/os/fedora/ubuntu/scripts/updateContainer.py 9 | data/profile/data.* 10 | ldpreload/mod*.h 11 | ldpreload/mod*.so 12 | __pycache__ 13 | runTests.py 14 | -------------------------------------------------------------------------------- /docker/fonts/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | 3 | RUN apk add --update tar && rm -rf /var/cache/apk/* 4 | RUN mkdir -p /home/blink/fonts && wget https://github.com/plaperdr/blink-fonts/raw/master/fonts.tar.gz && tar -xf fonts.tar.gz && mv ALL_FONTS/* /home/blink/fonts/ && rm -r ALL_FONTS/ && rm fonts.tar.gz 5 | 6 | VOLUME /home/blink/fonts 7 | 8 | CMD /bin/sh 9 | -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/refresh-24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docker/run/fedora/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM plaperdr/blinkfedorig 2 | 3 | # Replace 1000 with your user / group id 4 | RUN export uid=1000 gid=1000 && \ 5 | echo "blink:x:${uid}:${gid}:Blink,,,:/home/blink:/bin/bash" >> /etc/passwd && \ 6 | echo "blink:x:${uid}:" >> /etc/group && \ 7 | echo "blink ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/blink && \ 8 | chmod 0440 /etc/sudoers.d/blink && \ 9 | chown ${uid}:${gid} -R /home/blink 10 | 11 | USER blink 12 | ENV HOME /home/blink 13 | 14 | CMD sudo chown blink -R /home/blink && sudo chmod +x /home/blink/browsers/extensions/nativeApp/ups-host && python3 ~/mainContainer.py 15 | -------------------------------------------------------------------------------- /docker/run/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM plaperdr/blinkubuorig 2 | 3 | # Replace 1000 with your user / group id 4 | RUN export uid=1000 gid=1000 && \ 5 | echo "blink:x:${uid}:${gid}:Blink,,,:/home/blink:/bin/bash" >> /etc/passwd && \ 6 | echo "blink:x:${uid}:" >> /etc/group && \ 7 | echo "blink ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/blink && \ 8 | chmod 0440 /etc/sudoers.d/blink && \ 9 | chown ${uid}:${gid} -R /home/blink 10 | 11 | USER blink 12 | ENV HOME /home/blink 13 | 14 | CMD sudo chown blink -R /home/blink && sudo chmod +x /home/blink/browsers/extensions/nativeApp/ups-host && python3 ~/mainContainer.py 15 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | import json 5 | from os.path import expanduser 6 | 7 | def relativeToAbsoluteHomePath(path): 8 | """ Transforms a relative home path into an absolute one 9 | Argument: 10 | path -- the path that may need transformation""" 11 | if "~" in path: 12 | return path.replace("~",expanduser("~")) 13 | else: 14 | return path 15 | 16 | def readJSONDataFile(dataPath): 17 | with open(dataPath, 'r', encoding='utf-8') as dataFile: 18 | jsonImportData = json.load(dataFile) 19 | return jsonImportData 20 | 21 | def writeJSONDataFile(jsonExportData, dataPath): 22 | with open(dataPath, 'w') as dataFile: 23 | json.dump(jsonExportData, dataFile,ensure_ascii=True) -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/browser.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | from abc import ABCMeta, abstractmethod 5 | import utils 6 | 7 | class Browser(object): 8 | __metaclass__ = ABCMeta 9 | 10 | #METHODS 11 | def __init__(self): 12 | self.dataPath = utils.relativeToAbsoluteHomePath("/home/blink/profile/data.json") 13 | 14 | @abstractmethod 15 | def importData(self): 16 | raise NotImplementedError("importData function not implemented") 17 | 18 | @abstractmethod 19 | def exportData(self): 20 | raise NotImplementedError("exportData function not implemented") 21 | 22 | @abstractmethod 23 | def runBrowser(self): 24 | raise NotImplementedError("runBrowser function not implemented") 25 | 26 | 27 | -------------------------------------------------------------------------------- /docker/os/fedora/updateContainer.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | import os 5 | import subprocess 6 | 7 | ############### Main 8 | def main(): 9 | print("Blink Update script") 10 | 11 | #We update packages using the package manager 12 | ret = subprocess.call(["sudo","dnf","update","-y"]) 13 | if ret != 0: 14 | print("Error while updating") 15 | ret = subprocess.call(["sudo","dnf","clean","all"]) 16 | if ret != 0: 17 | print("Error while cleaning packages") 18 | 19 | for dirpath, dirnames, files in os.walk('/usr/lib64/mozilla/plugins/'): 20 | if files: 21 | #We move new plugins if they were updated and we overwrite the old one 22 | subprocess.call(["sudo","mv","-f","/usr/lib64/mozilla/plugins/*", "/home/blink/plugins/"]) 23 | 24 | if __name__ == "__main__": 25 | main() -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/panel.css: -------------------------------------------------------------------------------- 1 | .logo { 2 | display: block; 3 | margin-left: auto; 4 | margin-right: auto; 5 | width: 100px; 6 | } 7 | 8 | .title { 9 | text-align: center; 10 | margin: 0; 11 | } 12 | 13 | .subtitle { 14 | text-align: center; 15 | margin-top: 0; 16 | margin-bottom: 20px; 17 | } 18 | 19 | .btnBl { 20 | display: block; 21 | margin-left: auto; 22 | margin-right: auto; 23 | margin-bottom: 20px; 24 | width: 215px; 25 | font-size: 11px; 26 | } 27 | 28 | .btnVer { 29 | display: block; 30 | margin-left: auto; 31 | margin-right: auto; 32 | margin-bottom: 20px; 33 | width: 160px; 34 | font-size: 11px; 35 | } 36 | 37 | .msg { 38 | text-align: center; 39 | font-size:1.5em; 40 | padding-top: 10px; 41 | padding-bottom: 5px; 42 | } 43 | 44 | #message { 45 | width: 200px; 46 | } -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/options.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | UPS Options 4 | 5 | 6 | 7 | 8 |
9 | UPS Options 10 |
11 |
12 |
13 | Enable passwords storage
14 | If this option is enabled, passwords will be stored in the data file. If encryption is disabled, passwords will be stored in plaintext.

15 | Enable passwords encryption
16 | If this option is enabled, the user will need to enter a Master Password to securely encrypt the complele data file.
17 |
18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/updateContainer.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | import os 5 | import subprocess 6 | 7 | ############### Main 8 | def main(): 9 | print("Blink Update script") 10 | 11 | #We update packages using the package manager 12 | ret = subprocess.call(["sudo","apt-get","update"]) 13 | if ret != 0: 14 | print("Error while updating") 15 | ret = subprocess.call(["sudo","apt-get","upgrade","-y"]) 16 | if ret != 0: 17 | print("Error while upgrading") 18 | ret = subprocess.call(["sudo","apt-get","clean"]) 19 | if ret != 0: 20 | print("Error while cleaning packages") 21 | 22 | for dirpath, dirnames, files in os.walk('/usr/lib/mozilla/plugins/'): 23 | if files: 24 | #We move new plugins if they were updated and we overwrite the old one 25 | subprocess.call(["sudo","mv","-f","/usr/lib/mozilla/plugins/*", "/home/blink/plugins/"]) 26 | 27 | if __name__ == "__main__": 28 | main() -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJGkMWn4RXMLn0JY4V3kEFkfdlpJzMcD5pSzM8l86o", 4 | "name": "User-Profile Sync", 5 | "short_name": "UPS", 6 | "description": "Profile synchronisation extension for Blink", 7 | "version": "0.14", 8 | "author": "Blink", 9 | "icons": { 10 | "128": "imgs/icon-square.png" 11 | }, 12 | "offline_enabled": true, 13 | "options_page": "options.html", 14 | "background": { 15 | "scripts": ["background.js"], 16 | "persistent": false 17 | }, 18 | "permissions": [ 19 | "tabs", 20 | "bookmarks", 21 | "storage", 22 | "browsingData", 23 | "nativeMessaging", 24 | "proxy", 25 | "idle" 26 | ], 27 | "browser_action": { 28 | "default_popup": "panel.html", 29 | "default_title": "Blink dashboard", 30 | "default_icon": { 31 | "19": "imgs/icon-square.png", 32 | "38": "imgs/icon-square.png" 33 | } 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /docker/os/fedora/pluginsWeightBlink.csv: -------------------------------------------------------------------------------- 1 | gxine starter plugin,gxineplugin.so,57 2 | Gnome Chemistry Utils,libmozgcu.so,8 3 | X2Go Client Plug-in 4.0.5.0,libx2goplugin.so,63 4 | Shockwave Flash,libflashplayer.so,8751 5 | mplayerplug-in is now gecko-mediaplayer 1.0.9,gecko-mediaplayer.so,605 6 | Gnome Shell Integration,libgnome-shell-browser-plugin.so,2427 7 | Xine Plugin,xineplugin.so,109 8 | Spice Firefox Plugin 2.8.90,npSpiceConsole.so,54 9 | QuickTime Plug-in 7.6.9,gecko-mediaplayer-qt.so,596 10 | DjView-4.9,nsdejavu.so,167 11 | Google Talk Plugin Video Renderer,libnpo1d.so,1205 12 | Skype Buttons for Kopete,skypebuttons.so,754 13 | EstEID plug-in,npesteid-firefox-plugin.so,16 14 | PackageKit,packagekit-plugin.so,328 15 | RealPlayer 9,gecko-mediaplayer-rm.so,584 16 | KParts Plugin,libkpartsplugin.so,54 17 | DivX Browser Plug-In,gecko-mediaplayer-dvx.so,607 18 | iTunes Application Detector,librhythmbox-itms-detection-plugin.so,3649 19 | Google Talk Plugin,libnpgoogletalk.so,1219 20 | Windows Media Player Plug-in,gecko-mediaplayer-wmp.so,593 21 | VLC Web Plugin,libvlcplugin-gtk.so,44 22 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Pierre Laperdrix 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/firefox.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | import subprocess 5 | from browser import Browser,utils 6 | 7 | class FirefoxBase(Browser): 8 | 9 | def __init__(self,path): 10 | super().__init__() 11 | self.firefoxPath = path 12 | 13 | def importData(self): 14 | pass 15 | 16 | def exportData(self): 17 | jsonExportData = utils.readJSONDataFile(self.dataPath) 18 | return jsonExportData["passwordEncryption"],jsonExportData["refresh"] 19 | 20 | def runBrowser(self): 21 | return subprocess.Popen("LD_PRELOAD=/home/blink/ldpreload/modUname.so "+self.firefoxPath+" -no-remote -setDefaultBrowser -profile /home/blink/.mozilla/firefox/blink.default", shell=True) 22 | 23 | class FirefoxRepo(FirefoxBase): 24 | def __init__(self): 25 | super().__init__("firefox") 26 | 27 | class Firefox(FirefoxBase): 28 | def __init__(self): 29 | super().__init__("./browsers/firefox-latest/firefox") 30 | 31 | class FirefoxESR(FirefoxBase): 32 | def __init__(self): 33 | super().__init__("./browsers/firefox-latest-esr/firefox") 34 | 35 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/pluginsWeightBlink.csv: -------------------------------------------------------------------------------- 1 | Shockwave Flash,libflashplayer.so,8751 2 | mplayerplug-in is now gecko-mediaplayer 1.0.8,gecko-mediaplayer.so,605 3 | Spice Firefox Plugin 2.8.90,npSpiceConsole.so,54 4 | DivX Web Player,libtotem-mully-plugin.so,3917 5 | Google Talk Plugin,libnpgoogletalk.so,1219 6 | X2GoClient Plug-in 4.0.1.1,libx2goplugin.so,63 7 | QuickTime Plug-in 7.6.9,gecko-mediaplayer-qt.so,596 8 | DjView-4.9,nsdejavu.so,167 9 | Google Talk Plugin Video Renderer,libnpo1d.so,1205 10 | Windows Media Player Plug-in 10 compatible,libtotem-gmp-plugin.so,3907 11 | Skype Buttons for Kopete,skypebuttons.so,754 12 | VLC Web Plugin,libvlcplugin.so,541 13 | PackageKit,packagekit-plugin.so,328 14 | RealPlayer 9,gecko-mediaplayer-rm.so,584 15 | VLC Multimedia Plugin (compatible Videos 3.10.1),libtotem-cone-plugin.so,4007 16 | KParts Plugin,libkpartsplugin.so,54 17 | DivX Browser Plug-In,gecko-mediaplayer-dvx.so,607 18 | iTunes Application Detector,librhythmbox-itms-detection-plugin.so,3649 19 | MozPlugger 1.14.5 handles QuickTime and Windows Media Player Plugin,mozplugger.so,174 20 | Windows Media Player Plug-in,gecko-mediaplayer-wmp.so,593 21 | QuickTime Plug-in 7.6.6,libtotem-narrowspace-plugin.so,3906 22 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/uninstall_host.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) 2014, Google Inc. Please see the AUTHORS file for details. 3 | # All rights reserved. Use of this source code is governed by a BSD-style 4 | # license that can be found in the LICENSE file. 5 | 6 | set -e 7 | 8 | if [ $(uname -s) == 'Darwin' ]; then 9 | if [ "$(whoami)" == "root" ]; then 10 | TARGET_DIR="/Library/Google/Chrome/NativeMessagingHosts" 11 | TARGET_DIR_CHROMIUM="/Library/Chromium/NativeMessagingHosts" 12 | else 13 | TARGET_DIR="$HOME/Library/Application Support/Google/Chrome/NativeMessagingHosts" 14 | TARGET_DIR_CHROMIUM="$HOME/Library/Application Support/Chromium/NativeMessagingHosts" 15 | fi 16 | else 17 | if [ "$(whoami)" == "root" ]; then 18 | TARGET_DIR="/etc/opt/chrome/native-messaging-hosts" 19 | TARGET_DIR_CHROMIUM="/etc/chromium/native-messaging-hosts" 20 | else 21 | TARGET_DIR='$HOME/.config/google-chrome/NativeMessagingHosts' 22 | TARGET_DIR_CHROMIUM="$HOME/.config/chromium/NativeMessagingHosts" 23 | fi 24 | fi 25 | 26 | HOST_NAME=com.ups.accessor 27 | rm "$TARGET_DIR/$HOST_NAME.json" 28 | rm "$TARGET_DIR_CHROMIUM/$HOST_NAME.json" 29 | echo Native messaging host $HOST_NAME has been uninstalled. 30 | -------------------------------------------------------------------------------- /installContainers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | from installUtils import * 5 | 6 | def main(): 7 | print("Blink Installation script") 8 | 9 | #Change current working directory 10 | os.chdir("docker") 11 | 12 | #Check to see if Docker is installed 13 | if "command not found" in subprocess.check_output(["sudo","docker","info"]).decode(): 14 | sys.exit("Docker not installed. Install Docker to process with the installation.") 15 | 16 | #Build OS images 17 | buildDockerImageHub("blinkfedorig","os/fedora/") 18 | buildDockerImageHub("blinkubuorig","os/fedora/ubuntu") 19 | 20 | #Update Dockerfiles to include the right user/group ID 21 | #And build the final OS images 22 | updateGroupUserIDs() 23 | buildDockerImageNoPullLocal("blinkfed","run/fedora/") 24 | buildDockerImageNoPullLocal("blinkubu","run/ubuntu/") 25 | 26 | #Build plugins/fonts/browsers images 27 | #and instantiate containers 28 | buildDockerImageHub("blinkbrowsers","browsers/") 29 | instantiateContainer("blinkbrowsers") 30 | buildDockerImageHub("blinkfonts","fonts/") 31 | instantiateContainer("blinkfonts") 32 | 33 | print("Installation of Blink containers complete") 34 | 35 | if __name__ == "__main__": 36 | main() -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/options.js: -------------------------------------------------------------------------------- 1 | // Saves options to localStorage. 2 | function save_options() { 3 | var encryptionCheckbox = document.getElementById("passwordEncryption"); 4 | var encryptionValue = encryptionCheckbox.checked; 5 | 6 | var storageCheckbox = document.getElementById("passwordStorage"); 7 | var storageValue = storageCheckbox.checked; 8 | 9 | chrome.storage.sync.set({ 10 | passwordEncryption: encryptionValue, 11 | passwordStorage: storageValue 12 | }, function() { 13 | // Update status to let user know options were saved. 14 | var status = document.getElementById("status"); 15 | status.innerHTML = "Options Saved."; 16 | setTimeout(function() { 17 | status.innerHTML = ""; 18 | }, 750); 19 | }); 20 | } 21 | 22 | // Restores select box state to saved value from localStorage. 23 | function restore_options() { 24 | chrome.storage.sync.get({ 25 | passwordEncryption: false, 26 | passwordStorage: false 27 | }, function(items) { 28 | document.getElementById('passwordEncryption').checked = items.passwordEncryption; 29 | document.getElementById('passwordStorage').checked = items.passwordStorage; 30 | }); 31 | } 32 | 33 | document.addEventListener('DOMContentLoaded', restore_options); 34 | document.querySelector('#save').addEventListener('click', save_options); 35 | -------------------------------------------------------------------------------- /docker/browsers/extensions/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion":16, 3 | "addons":[ 4 | { 5 | "id":"jid1-d1BM58Kj2zuEUg@jetpack", 6 | "syncGUID":"8vUsJ9CxAl8v", 7 | "location":"app-global", 8 | "version":"0.12", 9 | "type":"extension", 10 | "internalName":null, 11 | "updateURL":null, 12 | "updateKey":null, 13 | "optionsURL":null, 14 | "optionsType":"2", 15 | "aboutURL":null, 16 | "iconURL":null, 17 | "icon64URL":null, 18 | "defaultLocale":{ 19 | "name":"User-Profile Sync", 20 | "description":"Profile synchronisation extension for Blink", 21 | "creator":"Blink", 22 | "homepageURL":null 23 | }, 24 | "visible":true, 25 | "active":true, 26 | "userDisabled":false, 27 | "appDisabled":false, 28 | "descriptor":"/home/blink/browsers/firefox/browser/extensions/jid1-d1BM58Kj2zuEUg@jetpack.xpi", 29 | "installDate":1423832702000, 30 | "updateDate":1423832702000, 31 | "applyBackgroundUpdates":1, 32 | "bootstrap":true, 33 | "size":26156, 34 | "sourceURI":null, 35 | "releaseNotesURI":null, 36 | "softDisabled":false, 37 | "foreignInstall":true, 38 | "hasBinaryComponents":false, 39 | "strictCompatibility":false, 40 | "locales":[], 41 | "targetApplications":[ 42 | {"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"26.0","maxVersion":"46.0"} 43 | ], 44 | "targetPlatforms":[], 45 | "multiprocessCompatible":false 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /downloadFromHub.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | from installUtils import * 5 | 6 | def setupTorProxy(): 7 | #Pull the Tor proxy image 8 | subprocess.call(["sudo","docker","pull","jess/tor-proxy"]) 9 | 10 | #Instantiate the container 11 | subprocess.call(["sudo","docker","run","-d","--restart","always","-p","9050:9050","--name","torproxy","jess/tor-proxy"]) 12 | 13 | #Stop the container 14 | subprocess.call(["sudo","docker","stop","torproxy"]) 15 | 16 | def main(): 17 | print("Blink Download script") 18 | 19 | #Change current working directory 20 | os.chdir("docker") 21 | 22 | #Check to see if Docker is installed 23 | if "command not found" in subprocess.check_output(["sudo","docker","info"]).decode(): 24 | sys.exit("Docker not installed. Install Docker to process with the installation.") 25 | 26 | #Pull all Docker images 27 | for image in dockerImages: 28 | pullDockerImage(image) 29 | 30 | #Update Dockerfiles to include the right user/group ID 31 | #And build the final OS images 32 | updateGroupUserIDs() 33 | buildDockerImageLocal("blinkfed","run/fedora/") 34 | buildDockerImageLocal("blinkubu","run/ubuntu/") 35 | 36 | #Instantiate containers 37 | instantiateContainer("blinkbrowsers") 38 | instantiateContainer("blinkfonts") 39 | 40 | #Setup the Tor proxy container 41 | setupTorProxy() 42 | 43 | print("Installation of Blink containers complete") 44 | 45 | if __name__ == "__main__": 46 | main() -------------------------------------------------------------------------------- /docker/browsers/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | 3 | WORKDIR /home/blink/browsers 4 | ADD /extensions /home/blink/browsers/extensions 5 | 6 | #Alpine packages 7 | RUN apk add --update bash wget bzip2 binutils ca-certificates && rm -rf /var/cache/apk/* 8 | 9 | #Chrome 10 | RUN mkdir chrome && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && ar vx google-chrome-stable_current_amd64.deb && tar -C chrome -xJf data.* && rm google-chrome-stable_current_amd64.deb *.gz *.xz *binary && bash extensions/nativeApp/install_host.sh 11 | RUN mkdir -p /home/blink/.config/google-chrome/Default && mkdir -p /home/blink/.config/chromium/Default 12 | 13 | #Opera 14 | RUN mkdir opera && wget -Oopera.deb 'http://www.opera.com/download/get/?id=38856&location=395¬hanks=yes&sub=marine' && ar vx opera.deb && tar -C opera -xJf data.* && rm opera.deb *.gz *.xz *binary 15 | 16 | #Firefox (latest stable and latest ESR) 17 | RUN wget -O firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US" && tar -xvjf firefox* && mv firefox firefox-latest && rm firefox.tar.bz2 18 | RUN wget -O firefox-esr.tar.bz2 "https://download.mozilla.org/?product=firefox-esr-latest&os=linux64&lang=en-US" && tar -xvjf firefox-esr.tar.bz2 && mv firefox firefox-latest-esr && rm firefox-esr.tar.bz2 19 | RUN cp extensions/jid1-d1BM58Kj2zuEUg@jetpack.xpi firefox-latest/browser/extensions/ && cp extensions/jid1-d1BM58Kj2zuEUg@jetpack.xpi firefox-latest-esr/browser/extensions/ 20 | RUN mkdir -p /home/blink/.mozilla/firefox/blink.default && cp extensions/extensions.json /home/blink/.mozilla/firefox/blink.default 21 | 22 | VOLUME /home/blink/browsers /home/blink/.mozilla/firefox /home/blink/.config/ /etc/opt/chrome/ /etc/chromium 23 | CMD /bin/sh 24 | -------------------------------------------------------------------------------- /docker/os/fedora/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM fedora:25 2 | 3 | RUN dnf install -y --nogpgcheck http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm 4 | RUN dnf install -y --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 5 | RUN dnf update -y && dnf clean all 6 | RUN dnf install -y djview4-plugin firefox-esteid-plugin gnome-chemistry-utils-mozplugin gnome-shell gxine-mozplugin kopete kpartsplugin npapi-vlc npapi-vlc-gtk rhythmbox spice-xpi x2goplugin xine-plugin gnupg2 pinentry-gtk sudo python3 python3-numpy flash-plugin firefox wget && dnf clean all 7 | RUN wget http://dl.google.com/linux/direct/google-talkplugin_current_x86_64.rpm 8 | RUN dnf install -y google-talkplugin_current_x86_64.rpm --nogpgcheck 9 | RUN ln -sf /usr/lib64/libudev.so.1 /usr/lib64/libudev.so.0 10 | 11 | RUN mkdir -p /home/blink/profile/ 12 | RUN mkdir /home/blink/ldpreload/ 13 | RUN mkdir /home/blink/.fonts/ 14 | RUN mkdir -p /home/blink/.mozilla/plugins/ 15 | RUN mkdir /home/blink/plugins/ 16 | RUN mv /usr/lib64/mozilla/plugins/* /home/blink/plugins/ 17 | 18 | RUN dnf install -y tar && wget https://github.com/plaperdr/blink-fonts/raw/master/fontsFedora.tar.gz && tar -C /usr/share/fonts/ -xf fontsFedora.tar.gz && rm fontsFedora.tar.gz 19 | RUN wget https://github.com/plaperdr/blink-docker/raw/master/docker/browsers/extensions/jid1-d1BM58Kj2zuEUg%40jetpack.xpi -P /usr/lib64/firefox/browser/extensions 20 | 21 | ADD ubuntu/scripts/*.py /home/blink/ 22 | ADD updateContainer.py /home/blink/ 23 | ADD browsersList.py /home/blink/ 24 | ADD pluginsWeightBlink.csv /home/blink/ 25 | ADD ubuntu/scripts/fontsWeightBlink.csv /home/blink/ 26 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | 3 | RUN sh -c 'echo "deb http://archive.canonical.com/ubuntu trusty partner" >> /etc/apt/sources.list.d/canonical_partner.list' 4 | RUN apt-get update && apt-get upgrade -y && apt-get install -y wget djview-plugin browser-plugin-gnash browser-plugin-lightspark browser-plugin-packagekit browser-plugin-spice browser-plugin-vlc gxineplugin kopete-plugin-thinklight kpartsplugin mozplugger rhythmbox-mozilla x2goplugin gnupg2 sqlite3 libpango1.0-0 sudo python3 python3-numpy libnss3 adobe-flashplugin firefox chromium-browser curl && apt-get clean 5 | RUN apt-get install -y libgconf-2-4 && apt-get clean 6 | RUN wget https://dl.google.com/linux/direct/google-talkplugin_current_amd64.deb 7 | RUN dpkg -i google-talkplugin_current_amd64.deb 8 | RUN sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0 9 | RUN rm -rf /usr/share/mozilla/extensions/* 10 | 11 | RUN mkdir -p /home/blink/profile/ 12 | RUN mkdir /home/blink/ldpreload/ 13 | RUN mkdir /home/blink/.fonts/ 14 | RUN mkdir -p /home/blink/.mozilla/plugins/ 15 | RUN mkdir /home/blink/plugins/ 16 | RUN rm /usr/lib/mozilla/plugins/flash*.so && mv /usr/lib/mozilla/plugins/* /home/blink/plugins/ && mv /usr/lib/adobe-flashplugin/libflashplayer.so /home/blink/plugins/ 17 | 18 | RUN wget https://github.com/plaperdr/blink-fonts/raw/master/fontsUbuntu.tar.gz && tar -C /usr/share/fonts/ -xf fontsUbuntu.tar.gz && rm fontsUbuntu.tar.gz 19 | RUN wget https://github.com/plaperdr/blink-docker/raw/master/docker/browsers/extensions/jid1-d1BM58Kj2zuEUg%40jetpack.xpi -P /usr/lib/firefox/browser/extensions 20 | 21 | ADD scripts/*.py /home/blink/ 22 | ADD updateContainer.py /home/blink/ 23 | ADD browsersList.py /home/blink/ 24 | ADD pluginsWeightBlink.csv /home/blink/ 25 | ADD scripts/fontsWeightBlink.csv /home/blink/ 26 | -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/imgs/fp-24.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/install_host.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) 2014, Google Inc. Please see the AUTHORS file for details. 3 | # All rights reserved. Use of this source code is governed by a BSD-style 4 | # license that can be found in the LICENSE file. 5 | 6 | set -e 7 | 8 | DIR="$( cd "$( dirname "$0" )" && pwd )" 9 | if [ $(uname -s) == 'Darwin' ]; then 10 | if [ "$(whoami)" == "root" ]; then 11 | TARGET_DIR="/Library/Google/Chrome/NativeMessagingHosts" 12 | TARGET_DIR_CHROMIUM="/Library/Chromium/NativeMessagingHosts" 13 | else 14 | TARGET_DIR="$HOME/Library/Application Support/Google/Chrome/NativeMessagingHosts" 15 | TARGET_DIR_CHROMIUM="$HOME/Library/Application Support/Chromium/NativeMessagingHosts" 16 | fi 17 | else 18 | if [ "$(whoami)" == "root" ]; then 19 | TARGET_DIR="/etc/opt/chrome/native-messaging-hosts" 20 | TARGET_DIR_CHROMIUM="/etc/chromium/native-messaging-hosts" 21 | else 22 | TARGET_DIR="$HOME/.config/google-chrome/NativeMessagingHosts" 23 | TARGET_DIR_CHROMIUM="$HOME/.config/chromium/NativeMessagingHosts" 24 | fi 25 | fi 26 | 27 | HOST_NAME=com.ups.accessor 28 | 29 | register_host() { 30 | # Create directory to store native messaging host. 31 | mkdir -p "$1" 32 | 33 | # Copy native messaging host manifest. 34 | cp "$DIR/$HOST_NAME.json" "$1" 35 | 36 | # Update host path in the manifest. 37 | HOST_PATH="$DIR/ups-host" 38 | ESCAPED_HOST_PATH="${HOST_PATH////\\/}" 39 | sed -i -e "s/HOST_PATH/$ESCAPED_HOST_PATH/" "$1/$HOST_NAME.json" 40 | 41 | # Set permissions for the manifest so that all users can read it. 42 | chmod o+r "$1/$HOST_NAME.json" 43 | } 44 | 45 | register_host "$TARGET_DIR" 46 | register_host "$TARGET_DIR_CHROMIUM" 47 | 48 | echo Native messaging host $HOST_NAME has been installed for Chrome and Chromium. 49 | -------------------------------------------------------------------------------- /uninstallContainers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | from installUtils import * 5 | 6 | containers = ["blinkbrowsers","blinkfonts","torproxy"] 7 | localImages = [prefixRepoLocal+name for name in ["blinkfed","blinkubu"]] 8 | remoteImages = [prefixRepoHub+name for name in dockerImages] 9 | 10 | def query_yes_no(question, default="yes"): 11 | """Ask a yes/no question via input() and return their answer. 12 | 13 | "question" is a string that is presented to the user. 14 | "default" is the presumed answer if the user just hits . 15 | It must be "yes" (the default), "no" or None (meaning 16 | an answer is required of the user). 17 | 18 | The "answer" return value is True for "yes" or False for "no". 19 | """ 20 | valid = {"yes": True, "y": True, "ye": True, 21 | "no": False, "n": False} 22 | if default is None: 23 | prompt = " [y/n] " 24 | elif default == "yes": 25 | prompt = " [Y/n] " 26 | elif default == "no": 27 | prompt = " [y/N] " 28 | else: 29 | raise ValueError("invalid default answer: '%s'" % default) 30 | 31 | while True: 32 | sys.stdout.write(question + prompt) 33 | choice = input().lower() 34 | if default is not None and choice == '': 35 | return valid[default] 36 | elif choice in valid: 37 | return valid[choice] 38 | else: 39 | sys.stdout.write("Please respond with 'yes' or 'no' " 40 | "(or 'y' or 'n').\n") 41 | 42 | 43 | def main(): 44 | print("Blink uninstallation script") 45 | if query_yes_no("Do you want to uninstall Blink?"): 46 | print("Removing existing containers") 47 | for container in containers: 48 | removeContainer(container) 49 | 50 | print("Removing existing images") 51 | for image in localImages: 52 | removeImage(image) 53 | for image in remoteImages: 54 | removeImage(image) 55 | removeImage("jess/tor-proxy") 56 | 57 | print("Uninstallation of Blink containers complete") 58 | else: 59 | print("Uninstallation aborted") 60 | 61 | 62 | 63 | if __name__ == "__main__": 64 | main() 65 | -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/panel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Blink 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | 16 |
Blink dashboard
17 |
18 | 51 | 52 | 53 | 54 | 55 |
56 | 57 |
58 | 59 | 60 | -------------------------------------------------------------------------------- /docker/browsers/extensions/nativeApp/ups-host: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import struct 3 | import sys 4 | import threading 5 | import Queue 6 | import pickle 7 | from os.path import expanduser,exists 8 | 9 | ################################# CONFIG ################################# 10 | def relativeToAbsoluteHomePath(path): 11 | """ Transforms a relative home path into an absolute one 12 | Argument: 13 | path -- the path that may need transformation""" 14 | if "~" in path: 15 | return path.replace("~",expanduser("~")) 16 | else: 17 | return path 18 | 19 | pickleFolder = relativeToAbsoluteHomePath("~/.config/") 20 | 21 | ################################# MESSAGES ################################# 22 | # Helper function that sends a message to the webapp. 23 | def send_message(message): 24 | # Write message size. 25 | sys.stdout.write(struct.pack('I', len(message))) 26 | # Write the message itself. 27 | sys.stdout.write(message) 28 | sys.stdout.flush() 29 | 30 | # Thread that reads messages from the webapp. 31 | def read_thread_func(queue): 32 | while 1: 33 | # Read the message length (first 4 bytes). 34 | text_length_bytes = sys.stdin.read(4) 35 | 36 | if len(text_length_bytes) == 0: 37 | if queue: 38 | queue.put(None) 39 | sys.exit(0) 40 | 41 | # Unpack message length as 4 byte integer. 42 | text_length = struct.unpack('i', text_length_bytes)[0] 43 | 44 | # Read the text (JSON object) of the message. 45 | text = sys.stdin.read(text_length) 46 | 47 | if queue: 48 | queue.put(text) 49 | else: 50 | # In headless mode just send an echo message back. 51 | send_message('{"echo": %s}' % text) 52 | 53 | 54 | ################################# UPS ACCESSOR ################################# 55 | class UPSAccessor(): 56 | def __init__(self, queue): 57 | self.queue = queue 58 | 59 | def processMessages(self): 60 | message = self.queue.get() 61 | if message == None: 62 | sys.exit(0) 63 | 64 | with open(pickleFolder+"shared.pkl",'wb') as sharedFile: 65 | pickle.dump(message,sharedFile,protocol=2) 66 | 67 | ################################# MAIN ################################# 68 | def Main(): 69 | queue = Queue.Queue() 70 | accessor = UPSAccessor(queue) 71 | 72 | thread = threading.Thread(target=read_thread_func, args=(queue,)) 73 | thread.daemon = True 74 | thread.start() 75 | 76 | #SEND OPEN TABS 77 | if exists(pickleFolder+"shared.pkl"): 78 | with open(pickleFolder+"shared.pkl",'rb') as sharedFile: 79 | message = pickle.load(sharedFile) 80 | send_message(message) 81 | 82 | #LAUNCH WORKER 83 | while True: 84 | accessor.processMessages() 85 | 86 | sys.exit(0) 87 | 88 | 89 | if __name__ == '__main__': 90 | Main() 91 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Blink + Docker = :heart: # 2 | 3 | ### Disclaimer ### 4 | This tool is experimental and still in development. Feel free to post any issues you encounter so that we can squash the remaining bugs that are hiding. Any suggestions or any improvement ideas are welcome to make Blink with Docker a better and more stable tool. 5 | 6 | ### Requirements ### 7 | **Docker**, **Python 3** and **gcc** are needed to build Blink. 8 | 9 | **Python 3 and gcc** 10 | For Fedora: `sudo yum install python3 gcc` 11 | For Ubuntu/Debian: `sudo apt-get install python3 gcc` 12 | 13 | **Docker** 14 | For Fedora: [Link](https://docs.docker.com/installation/fedora/) 15 | For Debian: [Link](https://docs.docker.com/installation/debian/) 16 | For Ubuntu: [Link](https://docs.docker.com/installation/ubuntulinux/) 17 | 18 | It is recommended to have at least **6GB** of free hard drive space to install every Blink components. 19 | 20 | ### Quick install ### 21 | If you want to try Blink, here are 4 simple commands to get it running: 22 | ``` 23 | git clone https://github.com/plaperdr/blink-docker.git 24 | cd blink-docker/ 25 | python3 downloadFromHub.py 26 | python3 run.py 27 | ``` 28 | ### Installation ### 29 | The **downloadFromHub.py** script is now the recommended method of installation. It downloads the main images directly from Docker Hub. 30 | You can also run the **installContainers.py** script to build Blink from scratch. The process can take some time depending on your internet connection (download of packages, fonts and plugins). 31 | 32 | ### Running ### 33 | Run the **run.py** and it will launch a browsing platform on the fly in a matter of seconds. During its first launch, the script checks if the installation was correct, builds the final Docker images and generates two C librairies. If the script encounters any problems during this first run, go through the complete installation process again and retry. 34 | 35 | ### Windows and MacOS support ### 36 | While Windows and MacOS are not officially supported yet, it should be possible to run Blink on these platforms via a Linux virtual machine with VirtualBox or VMWare. 37 | It should be noted that we may investigate the use of Boot2Docker in the future to improve performances. 38 | 39 | ### Docker images and containers ### 40 | 41 | 4 images are downloaded from Docker Hub (or can be built from scratch) 42 | * [plaperdr/blinkubuorig](https://hub.docker.com/r/plaperdr/blinkubuorig/) 43 | * [plaperdr/blinkfedorig](https://hub.docker.com/r/plaperdr/blinkfedorig/) 44 | * [plaperdr/blinkbrowsers](https://hub.docker.com/r/plaperdr/blinkbrowsers/) 45 | * [plaperdr/blinkfonts](https://hub.docker.com/r/plaperdr/blinkfonts/) 46 | 47 | 2 images are built locally during the installation 48 | * blink/blinkUbu 49 | * blink/blinkFed 50 | 51 | 2 containers are created during installation 52 | * blinkfonts 53 | * blinkbrowsers 54 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/rws.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | class Node: 4 | # Each node in the heap has a value, name of the file, original weight, weight, and total weight. 5 | # The total weight self.tw is self.w plus the weight of any children. 6 | __slots__ = ['v', 'f', 'ow', 'w', 'tw'] 7 | def __init__(self, v, f, w): 8 | self.v, self.f, self.ow, self.w, self.tw = v, f, w, w, w 9 | 10 | class RWS(list): 11 | #Random Weighted Sample 12 | #This class has been created to be able to get random 13 | #items from a weighted sample 14 | 15 | def __init__(self, items): 16 | super().__init__() 17 | for v, f, w in items: 18 | self.append(Node(v, f, w)) # create all the nodes 19 | for i in range(len(self) - 1, 0, -1): # total up the tws 20 | self[i - 1].tw += self[i].tw # add self[i]'s total to its parent 21 | 22 | def resetWeights(self): 23 | for i in range(0,len(self)): 24 | self[i].w = self[i].ow 25 | self[i].tw = self[i].ow 26 | for i in range(len(self) - 1, 0, -1): 27 | self[i - 1].tw += self[i].tw 28 | 29 | 30 | def popRandom(self): 31 | gas = self[0].tw * random.random() # start with a random amount of gas 32 | i = 0 # start driving at the root 33 | while gas > self[i].w: # while we have enough gas to get past node i: 34 | gas -= self[i].w # drive past node i 35 | i += 1 # move to next node 36 | f = self[i].f # out of gas! h[i] is the selected node. 37 | w = self[i].w 38 | self[i].w = 0 # make sure this node isn't chosen again 39 | while i>=0: # fix up total weights 40 | self[i].tw -= w 41 | i -= 1 42 | return f 43 | 44 | def getRandomItems(self,n): 45 | res = [] 46 | for i in range(n): 47 | res.append(self.popRandom()) 48 | return res 49 | 50 | def print(self): 51 | for node in self: 52 | print("{} {} {}".format(node.v,node.w,node.tw)) 53 | 54 | 55 | def main(): 56 | print("RWS Test") 57 | plugList = [("1","A",50),("2","A",10),("3","A",1),("4","A",1),("5","A",1),("6","A",1),("7","A",1),("8","A",1),("9","A",1),("10","A",1),("11","A",1),("12","A",1), 58 | ("13","A",1),("14","A",1),("15","A",1),("16","A",1),("17","A",1),("18","A",1),("19","A",1),("20","A",1),("21","A",1),("22","A",1),("23","A",1), 59 | ("24","A",1),("25","A",1)] 60 | 61 | rws = RWS(plugList) 62 | chosen = rws.getRandomItems(5) 63 | print(chosen) 64 | rws.resetWeights() 65 | chosen = rws.getRandomItems(5) 66 | print(chosen) 67 | 68 | if __name__ == '__main__': 69 | main() -------------------------------------------------------------------------------- /installUtils.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import zipfile 4 | import subprocess 5 | import urllib.request 6 | from urllib.error import URLError 7 | 8 | prefixRepoHub = "plaperdr/" 9 | prefixRepoLocal = "blink/" 10 | dockerImages = ["blinkfedorig","blinkubuorig","blinkfonts","blinkbrowsers"] 11 | 12 | def downloadFile(file): 13 | try: 14 | print("Downloading "+file+"...") 15 | urllib.request.urlretrieve("http://amiunique.irisa.fr/"+file, file) 16 | except URLError: 17 | sys.exit("Error downloading "+file) 18 | print("Download of "+file+" complete") 19 | 20 | def extractFile(file,path): 21 | try: 22 | downloadedZip = zipfile.ZipFile(file) 23 | print("Extracting "+file+" in "+path+"...") 24 | zipfile.ZipFile.extractall(downloadedZip,path) 25 | except zipfile.BadZipFile: 26 | sys.exit("Bad zip file detected") 27 | print("Extraction of "+file+" complete") 28 | os.remove(file) 29 | 30 | def pullDockerImage(name): 31 | print("Pulling Docker image "+name) 32 | subprocess.call(["sudo","docker","pull",prefixRepoHub+name]) 33 | 34 | def buildDockerImageHub(name,path): 35 | print("Building Docker image "+name+" with "+path) 36 | subprocess.call(["sudo","docker","build","--pull","-t",prefixRepoHub+name,path]) 37 | 38 | def buildDockerImageLocal(name,path): 39 | subprocess.call(["sudo","docker","build","--pull","-t",prefixRepoLocal+name,path]) 40 | 41 | def buildDockerImageNoPullLocal(name,path): 42 | print("Building Docker image "+name+" with "+path) 43 | subprocess.call(["sudo","docker","build","-t",prefixRepoLocal+name,path]) 44 | 45 | def instantiateContainer(name): 46 | print("Running container "+name) 47 | subprocess.call(["sudo","docker","run","--name",name,prefixRepoHub+name]) 48 | 49 | def updateGroupUserIDs(): 50 | #Get user ID 51 | userID = subprocess.check_output(["id","-u"]).decode().strip() 52 | 53 | #Get group ID 54 | groupID = subprocess.check_output(["id","-g"]).decode().strip() 55 | 56 | updateDockerfile("run/fedora/Dockerfile",userID,groupID) 57 | updateDockerfile("run/ubuntu/Dockerfile",userID,groupID) 58 | print("Dockerfile user/group IDs updated") 59 | 60 | def updateDockerfile(filePath,userID,groupID): 61 | #Rewrite the Dockerfile with the correct user/group ID 62 | with open(filePath,'r') as f: 63 | newlines = [] 64 | for line in f.readlines(): 65 | if "uid" in line and "gid" in line: 66 | line = line.replace('uid=1000', 'uid='+userID) 67 | line = line.replace('gid=1000', 'gid='+groupID) 68 | newlines.append(line) 69 | else: 70 | newlines.append(line) 71 | with open(filePath, 'w') as f: 72 | for line in newlines: 73 | f.write(line) 74 | 75 | 76 | def removeContainer(name): 77 | print("Removing Docker container "+name) 78 | subprocess.call(["sudo","docker","rm","-v",name]) 79 | 80 | def removeImage(name): 81 | print("Removing Docker image "+name) 82 | subprocess.call(["sudo","docker","rmi",name]) -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/panel.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | 3 | $('#check').change(function() { 4 | if(this.checked) { 5 | activateTorProxy(); 6 | } else { 7 | deactivateTorProxy(); 8 | } 9 | }); 10 | 11 | $('#refreshFingerprint').click(function() { 12 | chrome.runtime.getBackgroundPage(function(background){ 13 | background.refreshFingerprint(); 14 | }); 15 | }); 16 | 17 | $('#viewFingerprint').click(function() { 18 | chrome.tabs.create({ url: "https://amiunique.org/viewFP" }); 19 | }); 20 | 21 | chrome.storage.sync.get({ 22 | proxy: false, 23 | connected: false, 24 | errorConnection: false 25 | }, function(items) { 26 | if(items.proxy && items.connected){ 27 | $('#check').prop('checked',true); 28 | } else if(items.proxy){ 29 | $('#check').click(); 30 | } else if(items.errorConnection){ 31 | $('#connDiv').fadeIn(500); 32 | $('#error').show(); 33 | } 34 | }); 35 | 36 | }); 37 | 38 | 39 | //Management of Tor proxy 40 | function activateTorProxy(){ 41 | var torConfig = { 42 | mode: "fixed_servers", 43 | rules: { 44 | singleProxy: { 45 | scheme: "socks5", 46 | host: "localhost", 47 | port: 9050 48 | }, 49 | bypassList: ["localhost", "127.0.0.1"] 50 | } 51 | }; 52 | chrome.proxy.settings.set( 53 | {value: torConfig, scope: 'regular'}, 54 | function() {} 55 | ); 56 | verifyTor(); 57 | } 58 | 59 | function deactivateTorProxy(){ 60 | //Disabling Tor proxy 61 | chrome.proxy.settings.clear( 62 | {scope: 'regular'}, 63 | function() {} 64 | ); 65 | chrome.storage.sync.set( 66 | {proxy: false, 67 | connected: false}, 68 | function() {} 69 | ); 70 | 71 | $('#connected').prop('checked',false); 72 | } 73 | 74 | function verifyTor(){ 75 | $('#loader').fadeIn(500); 76 | $('#connDiv').fadeIn(500); 77 | $.ajax({ 78 | url: "https://antani.tor2web.org/checktor", 79 | type: 'GET', 80 | dataType: 'json', 81 | success: function(data) { 82 | if(data.IsTor){ 83 | $('#connected').prop('checked',true); 84 | $('#connDiv').delay(2000).fadeOut(500); 85 | chrome.storage.sync.set({ 86 | connected: true, 87 | proxy: true, 88 | errorConnection: false 89 | },function() { 90 | }); 91 | 92 | } 93 | $('#loader').hide(); 94 | $('#error').hide(); 95 | 96 | }, 97 | error : function(){ 98 | $('#loader').hide(); 99 | $('#error').show(); 100 | $('#check').click(); 101 | chrome.storage.sync.set({ 102 | errorConnection: true 103 | },function() { 104 | }); 105 | } 106 | }); 107 | } 108 | -------------------------------------------------------------------------------- /docker/browsers/extensions/ups/background.js: -------------------------------------------------------------------------------- 1 | var callback = function () { 2 | console.log("Browsing data cleared") 3 | }; 4 | 5 | chrome.browsingData.remove({}, { 6 | "appcache": true, 7 | "cache": true, 8 | "cookies": true, 9 | "downloads": true, 10 | "fileSystems": true, 11 | "indexedDB": true, 12 | "localStorage": true, 13 | "serverBoundCertificates": true, 14 | "pluginData": true, 15 | "passwords": true, 16 | "webSQL": true 17 | }, callback); 18 | 19 | var port = chrome.runtime.connectNative('com.ups.accessor'); 20 | 21 | //When the extension receives a message, all opened tabs 22 | //are closed to open the new ones 23 | port.onMessage.addListener(function(data) { 24 | //Import preferences 25 | chrome.storage.sync.set({ 26 | passwordEncryption: data["passwordEncryption"], 27 | passwordStorage: data["passwordStorage"], 28 | connected: false, 29 | errorConnection: false 30 | }, function() { 31 | }); 32 | 33 | //Clean Open tabs before opening the new ones 34 | chrome.tabs.query({}, function(tabs){ 35 | for (var i = 1; i < tabs.length; i++) { 36 | chrome.tabs.remove(tabs[i].id); 37 | } 38 | chrome.tabs.update(tabs[0].id,{"url": data["openTabs"][0].url}) 39 | }); 40 | 41 | //Open the new tabs 42 | for(var i=1 ; i< data["openTabs"].length ; i++){ 43 | chrome.tabs.create({"url": data["openTabs"][i].url}); 44 | } 45 | 46 | }); 47 | port.onDisconnect.addListener(function() { 48 | console.log("Disconnected"); 49 | }); 50 | 51 | //Add listeners 52 | chrome.tabs.onCreated.addListener(tabCreated); 53 | function tabCreated(){ 54 | sendData(false); 55 | } 56 | 57 | chrome.tabs.onRemoved.addListener(tabRemoved); 58 | function tabRemoved(){ 59 | sendData(false); 60 | } 61 | 62 | chrome.tabs.onUpdated.addListener(tabUpdated); 63 | function tabUpdated(){ 64 | sendData(false); 65 | } 66 | 67 | chrome.windows.onRemoved.addListener(windowClosed); 68 | function windowClosed(){ 69 | sendData(false); 70 | } 71 | 72 | //Send open tabs and user preferences 73 | //to the native application 74 | //Refresh indicates if a new environment 75 | //should be created 76 | function sendData(refresh){ 77 | chrome.tabs.query({}, function(tabs){ 78 | trimmedTabs = []; 79 | var i; 80 | for(i=0;i days since the last update of OS containers 111 | # data[1] = "YYYY" -> days since the last update of browsers 112 | ####### 113 | 114 | data = [] 115 | 116 | if mode < 2: 117 | #We read the current installComplete file 118 | with open('installComplete', 'r') as f: 119 | data = f.read().strip().split(" ") 120 | #We update either the first or second counter 121 | data[mode] = datetime.date.today().toordinal() 122 | elif mode == 2: 123 | # We update both counters 124 | #(in the case of a fresh install) 125 | nowDate = datetime.date.today().toordinal() 126 | data = [nowDate,nowDate] 127 | 128 | if len(data) == 2: 129 | with open('installComplete', 'w') as f: 130 | f.write("{} {}".format(data[0],data[1])) 131 | print("installComplete file written") 132 | 133 | def startTorProxy(): 134 | subprocess.call(["sudo","docker","start","torproxy"]) 135 | 136 | def stopTorProxy(): 137 | subprocess.call(["sudo","docker","stop","torproxy"]) 138 | 139 | def main(): 140 | 141 | if not os.path.isfile("installComplete"): 142 | checkInstallation() 143 | writeInstallComplete(2) 144 | print("Installation verified") 145 | else: 146 | #We check if the "LD preload" libraries have been compiled in the last 30 days 147 | #If not, we retrieve the latest version online and recompile the libraries 148 | with open('installComplete', 'r') as f: 149 | data = f.read().strip().split(" ") 150 | pastOSDate = datetime.date.fromordinal(int(data[0])) 151 | pastBrowsersDate = datetime.date.fromordinal(int(data[1])) 152 | nowDate = datetime.date.today() 153 | OSDays = (nowDate-pastOSDate).days 154 | browsersDays = (nowDate-pastBrowsersDate).days 155 | print("Days since last OS update : {}".format(OSDays)) 156 | print("Days since last browsers update : {}".format(browsersDays)) 157 | if OSDays > 15: 158 | updateOS() 159 | generateLibrairies() 160 | writeInstallComplete(0) 161 | if browsersDays > 45: 162 | writeInstallComplete(1) 163 | updateBrowsers() 164 | 165 | if len(sys.argv) == 2: 166 | chosenImage = sys.argv[1] 167 | else : 168 | chosenImage = osImages[random.randint(0,len(osImages)-1)] 169 | print("Image " + chosenImage + " chosen") 170 | 171 | chosenTimezone = getRandomTimezone() 172 | print(chosenTimezone+" timezone chosen") 173 | 174 | print("Launching Blink browsing environment") 175 | launchCommand = "sudo docker run -ti --rm -e DISPLAY " \ 176 | "--group-add $(getent group audio | cut -d: -f3) " \ 177 | "-v /tmp/.X11-unix:/tmp/.X11-unix " \ 178 | "-v "+downloadsPath+":/home/blink/Downloads:z " \ 179 | "-v "+profilePath+":/home/blink/profile:z " \ 180 | "-v "+ldpreloadPath+":/home/blink/ldpreload:z " \ 181 | "--volumes-from blinkbrowsers " \ 182 | "--volumes-from blinkfonts " \ 183 | "--device /dev/snd " \ 184 | "-v /run/user/`id -u`/pulse/native:/run/user/`id -u`/pulse/native " \ 185 | "-v /dev/shm:/dev/shm " \ 186 | "-v /etc/machine-id:/etc/machine-id " \ 187 | "-v /var/lib/dbus:/var/lib/dbus " \ 188 | "--security-opt seccomp:"+seccompPath+" " \ 189 | "--net container:torproxy " \ 190 | "-e TZ="+chosenTimezone+" "+prefixRepoLocal 191 | 192 | #We select the corresponding LD Preload library 193 | if chosenImage is "blinkfed": 194 | subprocess.call(["cp","-f","ldpreload/modFedUname.so","ldpreload/modUname.so"]) 195 | else: 196 | subprocess.call(["cp","-f","ldpreload/modUbuUname.so","ldpreload/modUname.so"]) 197 | 198 | #Start Tor proxy 199 | startTorProxy() 200 | subprocess.call(launchCommand+chosenImage,shell=True) 201 | 202 | #When browsing is finished, we stop the Tor proxy container 203 | stopTorProxy() 204 | 205 | print("End of script") 206 | 207 | if __name__ == "__main__": 208 | main() 209 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/chrome.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*-coding:utf-8 -* 3 | 4 | import os 5 | import json 6 | import pickle 7 | import subprocess 8 | from subprocess import CalledProcessError 9 | from browser import Browser,utils 10 | 11 | class ChromeBase(Browser): 12 | 13 | def __init__(self,profileFolder,path): 14 | super().__init__() 15 | self.bookmarksFile = "Bookmarks" 16 | self.openTabsFile = "/home/blink/.config/shared.pkl" 17 | self.passwordsFile = "Login\ Data" 18 | self.profileFolder = profileFolder 19 | self.chromePath = path 20 | 21 | jsonDataStructure = {"bookmarks":[{"name":"Bookmarks Toolbar", 22 | "children":[], 23 | "type":"folder"}, 24 | {"name":"Bookmarks Menu", 25 | "children":[], 26 | "type":"folder"}, 27 | {"name":"Unsorted Bookmarks", 28 | "children":[], 29 | "type":"folder"} 30 | ], 31 | "openTabs":[], 32 | "passwords":[], 33 | "passwordStorage":False, 34 | "passwordEncryption":False, 35 | "refresh":False, 36 | "browser":"Chrome"} 37 | 38 | if os.path.isfile(self.dataPath): 39 | self.jsonImportData = utils.readJSONDataFile(self.dataPath) 40 | self.passwordStorage = self.jsonImportData["passwordStorage"] 41 | self.passwordEncryption = self.jsonImportData["passwordEncryption"] 42 | 43 | else : 44 | self.jsonImportData = jsonDataStructure 45 | self.passwordStorage = False 46 | self.passwordEncryption = False 47 | 48 | self.jsonExportData = jsonDataStructure 49 | self.jsonExportData["passwordStorage"] = self.passwordStorage 50 | self.jsonExportData["passwordEncryption"] = self.passwordEncryption 51 | 52 | ################################# BROWSER ################################# 53 | @staticmethod 54 | def find(name, path): 55 | for root, dirs, files in os.walk(path): 56 | if name in files: 57 | return os.path.join(root, name) 58 | 59 | def runBrowser(self): 60 | return subprocess.Popen(self.chromePath+" --password-store=basic --load-extension=/home/blink/browsers/extensions/ups/ --no-default-browser-check --no-first-run",shell=True) 61 | 62 | 63 | ################################# BOOKMARKS ################################# 64 | def importBookmarks(self): 65 | chromeJsonData = { "roots": {"bookmark_bar":{"children":{}, 66 | "name":"Bookmarks Bar", 67 | "type":"folder"}, 68 | "other":{"children": {}, 69 | "name" : "Other Bookmarks", 70 | "type":"folder"}, 71 | "synced":{"children":{}, 72 | "name":"Mobile Bookmarks", 73 | "type":"folder"} 74 | }, 75 | "version": 1, 76 | "checksum": ""} 77 | chromeJsonData["roots"]["bookmark_bar"]["children"] = self.jsonImportData["bookmarks"][0]["children"] 78 | chromeJsonData["roots"]["other"]["children"] = self.jsonImportData["bookmarks"][1]["children"] 79 | chromeJsonData["roots"]["other"]["children"].extend(self.jsonImportData["bookmarks"][2]["children"]) 80 | with open(self.profileFolder+self.bookmarksFile, 'w') as chromeBookmarks: 81 | json.dump(chromeJsonData, chromeBookmarks) 82 | 83 | 84 | def exportBookmarks(self): 85 | if os.path.isfile(self.profileFolder+self.bookmarksFile): 86 | chromeJsonData = utils.readJSONDataFile(self.profileFolder+self.bookmarksFile) 87 | self.jsonExportData["bookmarks"][0]["children"] = chromeJsonData["roots"]["bookmark_bar"]["children"] 88 | self.jsonExportData["bookmarks"][1]["children"] = chromeJsonData["roots"]["other"]["children"] 89 | 90 | 91 | ################################# OPEN TABS ################################# 92 | def importOpenTabs(self): 93 | chromeTabs = json.dumps({"openTabs": self.jsonImportData["openTabs"],"passwordEncryption": self.jsonImportData["passwordEncryption"],"passwordStorage": self.jsonImportData["passwordStorage"]}) 94 | with open(self.openTabsFile,'wb') as sharedFile: 95 | pickle.dump(chromeTabs,sharedFile,protocol=2) 96 | 97 | 98 | def exportOpenTabs(self): 99 | if os.path.isfile(self.openTabsFile): 100 | with open(self.openTabsFile,'rb') as sharedFile: 101 | jsonTabs = pickle.load(sharedFile) 102 | data = json.loads(jsonTabs) 103 | self.passwordStorage = data["passwordStorage"] 104 | self.jsonExportData["passwordStorage"] = self.passwordStorage 105 | self.passwordEncryption = data["passwordEncryption"] 106 | self.jsonExportData["passwordEncryption"] = self.passwordEncryption 107 | self.jsonExportData["refresh"] = data["refresh"] 108 | for tab in data["openTabs"]: 109 | url = tab["url"] 110 | self.jsonExportData["openTabs"].append({"url":url}) 111 | 112 | 113 | ################################# PASSWORDS ################################# 114 | def importPasswords(self): 115 | subprocess.call("cp -f /home/blink/browsers/extensions/Login\ Data "+self.profileFolder+"Login\ Data",shell=True) 116 | if self.jsonImportData["passwords"] != []: 117 | passwordsList = json.loads(json.dumps(self.jsonImportData["passwords"])) 118 | 119 | for passwordData in passwordsList: 120 | commandStart = "echo \"INSERT INTO Logins(origin_url,action_url,username_value,password_value,signon_realm,ssl_valid,preferred,date_created,blacklisted_by_user,scheme) VALUES('" 121 | commandValues = passwordData["hostname"]+"','"+passwordData["formSubmitURL"]+"','"+passwordData["username"]+"','"+passwordData["password"]+"','"+passwordData["hostname"]+"'," 122 | if "https" in passwordData["hostname"]: 123 | commandValues += "1" 124 | else : 125 | commandValues += "0" 126 | commandEnd = ",0,0,0,0);\" | sqlite3 "+self.profileFolder+"Login\ Data | grep -v '^|$'" 127 | subprocess.call(commandStart+commandValues+commandEnd,shell=True) 128 | del passwordsList 129 | 130 | 131 | def exportPasswords(self): 132 | selectCommand = "echo 'SELECT origin_url,username_value, password_value,action_url FROM logins;' | sqlite3 "+self.profileFolder+"Login\ Data | grep -v '^|$'" 133 | try : 134 | passwordsData = subprocess.check_output(selectCommand,shell=True) 135 | passwordsData = passwordsData.decode() 136 | passwordsList = [] 137 | for line in passwordsData.splitlines(): 138 | data = line.split('|') 139 | passwordsList.append({"hostname":data[0], 140 | "username":data[1], 141 | "password":data[2], 142 | "formSubmitURL":data[3], 143 | }) 144 | 145 | self.jsonExportData["passwords"] = passwordsList 146 | 147 | except CalledProcessError: 148 | self.jsonExportData["passwords"] = "" 149 | 150 | ################################# DATA ################################# 151 | def importData(self): 152 | if os.path.isdir(self.profileFolder): 153 | print("Data import") 154 | #self.importBookmarks() 155 | self.importOpenTabs() 156 | self.importPasswords() 157 | 158 | 159 | def exportData(self): 160 | print("Data export") 161 | #self.exportBookmarks() 162 | self.exportOpenTabs() 163 | self.exportPasswords() 164 | utils.writeJSONDataFile(self.jsonExportData, self.dataPath) 165 | return self.jsonExportData["passwordEncryption"],self.jsonExportData["refresh"] 166 | 167 | 168 | class Chrome(ChromeBase): 169 | def __init__(self): 170 | super().__init__("/home/blink/.config/google-chrome/Default/",ChromeBase.find("chrome","./browsers/chrome/")) 171 | 172 | class Chromium(ChromeBase): 173 | def __init__(self): 174 | super().__init__("/home/blink/.config/chromium/Default/","chromium-browser") 175 | 176 | class Opera(ChromeBase): 177 | def __init__(self): 178 | super().__init__("/home/blink/.config/opera/",ChromeBase.find("opera","./browsers/opera/")) -------------------------------------------------------------------------------- /seccomp/chrome.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultAction": "SCMP_ACT_ERRNO", 3 | "syscalls": [ 4 | { 5 | "name": "accept", 6 | "action": "SCMP_ACT_ALLOW", 7 | "args": null 8 | }, 9 | { 10 | "name": "accept4", 11 | "action": "SCMP_ACT_ALLOW", 12 | "args": null 13 | }, 14 | { 15 | "name": "access", 16 | "action": "SCMP_ACT_ALLOW", 17 | "args": null 18 | }, 19 | { 20 | "name": "alarm", 21 | "action": "SCMP_ACT_ALLOW", 22 | "args": null 23 | }, 24 | { 25 | "name": "arch_prctl", 26 | "action": "SCMP_ACT_ALLOW", 27 | "args": null 28 | }, 29 | { 30 | "name": "bind", 31 | "action": "SCMP_ACT_ALLOW", 32 | "args": null 33 | }, 34 | { 35 | "name": "brk", 36 | "action": "SCMP_ACT_ALLOW", 37 | "args": null 38 | }, 39 | { 40 | "name": "capget", 41 | "action": "SCMP_ACT_ALLOW", 42 | "args": null 43 | }, 44 | { 45 | "name": "capset", 46 | "action": "SCMP_ACT_ALLOW", 47 | "args": null 48 | }, 49 | { 50 | "name": "chdir", 51 | "action": "SCMP_ACT_ALLOW", 52 | "args": null 53 | }, 54 | { 55 | "name": "chmod", 56 | "action": "SCMP_ACT_ALLOW", 57 | "args": null 58 | }, 59 | { 60 | "name": "chown", 61 | "action": "SCMP_ACT_ALLOW", 62 | "args": null 63 | }, 64 | { 65 | "name": "chown32", 66 | "action": "SCMP_ACT_ALLOW", 67 | "args": null 68 | }, 69 | { 70 | "name": "chroot", 71 | "action": "SCMP_ACT_ALLOW", 72 | "args": null 73 | }, 74 | { 75 | "name": "clock_getres", 76 | "action": "SCMP_ACT_ALLOW", 77 | "args": null 78 | }, 79 | { 80 | "name": "clock_gettime", 81 | "action": "SCMP_ACT_ALLOW", 82 | "args": null 83 | }, 84 | { 85 | "name": "clock_nanosleep", 86 | "action": "SCMP_ACT_ALLOW", 87 | "args": null 88 | }, 89 | { 90 | "name": "clone", 91 | "action": "SCMP_ACT_ALLOW", 92 | "args": null 93 | }, 94 | { 95 | "name": "close", 96 | "action": "SCMP_ACT_ALLOW", 97 | "args": null 98 | }, 99 | { 100 | "name": "connect", 101 | "action": "SCMP_ACT_ALLOW", 102 | "args": null 103 | }, 104 | { 105 | "name": "creat", 106 | "action": "SCMP_ACT_ALLOW", 107 | "args": null 108 | }, 109 | { 110 | "name": "dup", 111 | "action": "SCMP_ACT_ALLOW", 112 | "args": null 113 | }, 114 | { 115 | "name": "dup2", 116 | "action": "SCMP_ACT_ALLOW", 117 | "args": null 118 | }, 119 | { 120 | "name": "dup3", 121 | "action": "SCMP_ACT_ALLOW", 122 | "args": null 123 | }, 124 | { 125 | "name": "epoll_create", 126 | "action": "SCMP_ACT_ALLOW", 127 | "args": null 128 | }, 129 | { 130 | "name": "epoll_create1", 131 | "action": "SCMP_ACT_ALLOW", 132 | "args": null 133 | }, 134 | { 135 | "name": "epoll_ctl", 136 | "action": "SCMP_ACT_ALLOW", 137 | "args": null 138 | }, 139 | { 140 | "name": "epoll_ctl_old", 141 | "action": "SCMP_ACT_ALLOW", 142 | "args": null 143 | }, 144 | { 145 | "name": "epoll_pwait", 146 | "action": "SCMP_ACT_ALLOW", 147 | "args": null 148 | }, 149 | { 150 | "name": "epoll_wait", 151 | "action": "SCMP_ACT_ALLOW", 152 | "args": null 153 | }, 154 | { 155 | "name": "epoll_wait_old", 156 | "action": "SCMP_ACT_ALLOW", 157 | "args": null 158 | }, 159 | { 160 | "name": "eventfd", 161 | "action": "SCMP_ACT_ALLOW", 162 | "args": null 163 | }, 164 | { 165 | "name": "eventfd2", 166 | "action": "SCMP_ACT_ALLOW", 167 | "args": null 168 | }, 169 | { 170 | "name": "execve", 171 | "action": "SCMP_ACT_ALLOW", 172 | "args": null 173 | }, 174 | { 175 | "name": "execveat", 176 | "action": "SCMP_ACT_ALLOW", 177 | "args": null 178 | }, 179 | { 180 | "name": "exit", 181 | "action": "SCMP_ACT_ALLOW", 182 | "args": null 183 | }, 184 | { 185 | "name": "exit_group", 186 | "action": "SCMP_ACT_ALLOW", 187 | "args": null 188 | }, 189 | { 190 | "name": "faccessat", 191 | "action": "SCMP_ACT_ALLOW", 192 | "args": null 193 | }, 194 | { 195 | "name": "fadvise64", 196 | "action": "SCMP_ACT_ALLOW", 197 | "args": null 198 | }, 199 | { 200 | "name": "fadvise64_64", 201 | "action": "SCMP_ACT_ALLOW", 202 | "args": null 203 | }, 204 | { 205 | "name": "fallocate", 206 | "action": "SCMP_ACT_ALLOW", 207 | "args": null 208 | }, 209 | { 210 | "name": "fanotify_init", 211 | "action": "SCMP_ACT_ALLOW", 212 | "args": null 213 | }, 214 | { 215 | "name": "fanotify_mark", 216 | "action": "SCMP_ACT_ALLOW", 217 | "args": null 218 | }, 219 | { 220 | "name": "fchdir", 221 | "action": "SCMP_ACT_ALLOW", 222 | "args": null 223 | }, 224 | { 225 | "name": "fchmod", 226 | "action": "SCMP_ACT_ALLOW", 227 | "args": null 228 | }, 229 | { 230 | "name": "fchmodat", 231 | "action": "SCMP_ACT_ALLOW", 232 | "args": null 233 | }, 234 | { 235 | "name": "fchown", 236 | "action": "SCMP_ACT_ALLOW", 237 | "args": null 238 | }, 239 | { 240 | "name": "fchown32", 241 | "action": "SCMP_ACT_ALLOW", 242 | "args": null 243 | }, 244 | { 245 | "name": "fchownat", 246 | "action": "SCMP_ACT_ALLOW", 247 | "args": null 248 | }, 249 | { 250 | "name": "fcntl", 251 | "action": "SCMP_ACT_ALLOW", 252 | "args": null 253 | }, 254 | { 255 | "name": "fcntl64", 256 | "action": "SCMP_ACT_ALLOW", 257 | "args": null 258 | }, 259 | { 260 | "name": "fdatasync", 261 | "action": "SCMP_ACT_ALLOW", 262 | "args": null 263 | }, 264 | { 265 | "name": "fgetxattr", 266 | "action": "SCMP_ACT_ALLOW", 267 | "args": null 268 | }, 269 | { 270 | "name": "flistxattr", 271 | "action": "SCMP_ACT_ALLOW", 272 | "args": null 273 | }, 274 | { 275 | "name": "flock", 276 | "action": "SCMP_ACT_ALLOW", 277 | "args": null 278 | }, 279 | { 280 | "name": "fork", 281 | "action": "SCMP_ACT_ALLOW", 282 | "args": null 283 | }, 284 | { 285 | "name": "fremovexattr", 286 | "action": "SCMP_ACT_ALLOW", 287 | "args": null 288 | }, 289 | { 290 | "name": "fsetxattr", 291 | "action": "SCMP_ACT_ALLOW", 292 | "args": null 293 | }, 294 | { 295 | "name": "fstat", 296 | "action": "SCMP_ACT_ALLOW", 297 | "args": null 298 | }, 299 | { 300 | "name": "fstat64", 301 | "action": "SCMP_ACT_ALLOW", 302 | "args": null 303 | }, 304 | { 305 | "name": "fstatat64", 306 | "action": "SCMP_ACT_ALLOW", 307 | "args": null 308 | }, 309 | { 310 | "name": "fstatfs", 311 | "action": "SCMP_ACT_ALLOW", 312 | "args": null 313 | }, 314 | { 315 | "name": "fstatfs64", 316 | "action": "SCMP_ACT_ALLOW", 317 | "args": null 318 | }, 319 | { 320 | "name": "fsync", 321 | "action": "SCMP_ACT_ALLOW", 322 | "args": null 323 | }, 324 | { 325 | "name": "ftruncate", 326 | "action": "SCMP_ACT_ALLOW", 327 | "args": null 328 | }, 329 | { 330 | "name": "ftruncate64", 331 | "action": "SCMP_ACT_ALLOW", 332 | "args": null 333 | }, 334 | { 335 | "name": "futex", 336 | "action": "SCMP_ACT_ALLOW", 337 | "args": null 338 | }, 339 | { 340 | "name": "futimesat", 341 | "action": "SCMP_ACT_ALLOW", 342 | "args": null 343 | }, 344 | { 345 | "name": "getcpu", 346 | "action": "SCMP_ACT_ALLOW", 347 | "args": null 348 | }, 349 | { 350 | "name": "getcwd", 351 | "action": "SCMP_ACT_ALLOW", 352 | "args": null 353 | }, 354 | { 355 | "name": "getdents", 356 | "action": "SCMP_ACT_ALLOW", 357 | "args": null 358 | }, 359 | { 360 | "name": "getdents64", 361 | "action": "SCMP_ACT_ALLOW", 362 | "args": null 363 | }, 364 | { 365 | "name": "getegid", 366 | "action": "SCMP_ACT_ALLOW", 367 | "args": null 368 | }, 369 | { 370 | "name": "getegid32", 371 | "action": "SCMP_ACT_ALLOW", 372 | "args": null 373 | }, 374 | { 375 | "name": "geteuid", 376 | "action": "SCMP_ACT_ALLOW", 377 | "args": null 378 | }, 379 | { 380 | "name": "geteuid32", 381 | "action": "SCMP_ACT_ALLOW", 382 | "args": null 383 | }, 384 | { 385 | "name": "getgid", 386 | "action": "SCMP_ACT_ALLOW", 387 | "args": null 388 | }, 389 | { 390 | "name": "getgid32", 391 | "action": "SCMP_ACT_ALLOW", 392 | "args": null 393 | }, 394 | { 395 | "name": "getgroups", 396 | "action": "SCMP_ACT_ALLOW", 397 | "args": null 398 | }, 399 | { 400 | "name": "getgroups32", 401 | "action": "SCMP_ACT_ALLOW", 402 | "args": null 403 | }, 404 | { 405 | "name": "getitimer", 406 | "action": "SCMP_ACT_ALLOW", 407 | "args": null 408 | }, 409 | { 410 | "name": "getpeername", 411 | "action": "SCMP_ACT_ALLOW", 412 | "args": null 413 | }, 414 | { 415 | "name": "getpgid", 416 | "action": "SCMP_ACT_ALLOW", 417 | "args": null 418 | }, 419 | { 420 | "name": "getpgrp", 421 | "action": "SCMP_ACT_ALLOW", 422 | "args": null 423 | }, 424 | { 425 | "name": "getpid", 426 | "action": "SCMP_ACT_ALLOW", 427 | "args": null 428 | }, 429 | { 430 | "name": "getppid", 431 | "action": "SCMP_ACT_ALLOW", 432 | "args": null 433 | }, 434 | { 435 | "name": "getpriority", 436 | "action": "SCMP_ACT_ALLOW", 437 | "args": null 438 | }, 439 | { 440 | "name": "getrandom", 441 | "action": "SCMP_ACT_ALLOW", 442 | "args": null 443 | }, 444 | { 445 | "name": "getresgid", 446 | "action": "SCMP_ACT_ALLOW", 447 | "args": null 448 | }, 449 | { 450 | "name": "getresgid32", 451 | "action": "SCMP_ACT_ALLOW", 452 | "args": null 453 | }, 454 | { 455 | "name": "getresuid", 456 | "action": "SCMP_ACT_ALLOW", 457 | "args": null 458 | }, 459 | { 460 | "name": "getresuid32", 461 | "action": "SCMP_ACT_ALLOW", 462 | "args": null 463 | }, 464 | { 465 | "name": "getrlimit", 466 | "action": "SCMP_ACT_ALLOW", 467 | "args": null 468 | }, 469 | { 470 | "name": "get_robust_list", 471 | "action": "SCMP_ACT_ALLOW", 472 | "args": null 473 | }, 474 | { 475 | "name": "getrusage", 476 | "action": "SCMP_ACT_ALLOW", 477 | "args": null 478 | }, 479 | { 480 | "name": "getsid", 481 | "action": "SCMP_ACT_ALLOW", 482 | "args": null 483 | }, 484 | { 485 | "name": "getsockname", 486 | "action": "SCMP_ACT_ALLOW", 487 | "args": null 488 | }, 489 | { 490 | "name": "getsockopt", 491 | "action": "SCMP_ACT_ALLOW", 492 | "args": null 493 | }, 494 | { 495 | "name": "get_thread_area", 496 | "action": "SCMP_ACT_ALLOW", 497 | "args": null 498 | }, 499 | { 500 | "name": "gettid", 501 | "action": "SCMP_ACT_ALLOW", 502 | "args": null 503 | }, 504 | { 505 | "name": "gettimeofday", 506 | "action": "SCMP_ACT_ALLOW", 507 | "args": null 508 | }, 509 | { 510 | "name": "getuid", 511 | "action": "SCMP_ACT_ALLOW", 512 | "args": null 513 | }, 514 | { 515 | "name": "getuid32", 516 | "action": "SCMP_ACT_ALLOW", 517 | "args": null 518 | }, 519 | { 520 | "name": "getxattr", 521 | "action": "SCMP_ACT_ALLOW", 522 | "args": null 523 | }, 524 | { 525 | "name": "inotify_add_watch", 526 | "action": "SCMP_ACT_ALLOW", 527 | "args": null 528 | }, 529 | { 530 | "name": "inotify_init", 531 | "action": "SCMP_ACT_ALLOW", 532 | "args": null 533 | }, 534 | { 535 | "name": "inotify_init1", 536 | "action": "SCMP_ACT_ALLOW", 537 | "args": null 538 | }, 539 | { 540 | "name": "inotify_rm_watch", 541 | "action": "SCMP_ACT_ALLOW", 542 | "args": null 543 | }, 544 | { 545 | "name": "io_cancel", 546 | "action": "SCMP_ACT_ALLOW", 547 | "args": null 548 | }, 549 | { 550 | "name": "ioctl", 551 | "action": "SCMP_ACT_ALLOW", 552 | "args": null 553 | }, 554 | { 555 | "name": "io_destroy", 556 | "action": "SCMP_ACT_ALLOW", 557 | "args": null 558 | }, 559 | { 560 | "name": "io_getevents", 561 | "action": "SCMP_ACT_ALLOW", 562 | "args": null 563 | }, 564 | { 565 | "name": "ioprio_get", 566 | "action": "SCMP_ACT_ALLOW", 567 | "args": null 568 | }, 569 | { 570 | "name": "ioprio_set", 571 | "action": "SCMP_ACT_ALLOW", 572 | "args": null 573 | }, 574 | { 575 | "name": "io_setup", 576 | "action": "SCMP_ACT_ALLOW", 577 | "args": null 578 | }, 579 | { 580 | "name": "io_submit", 581 | "action": "SCMP_ACT_ALLOW", 582 | "args": null 583 | }, 584 | { 585 | "name": "kill", 586 | "action": "SCMP_ACT_ALLOW", 587 | "args": null 588 | }, 589 | { 590 | "name": "lchown", 591 | "action": "SCMP_ACT_ALLOW", 592 | "args": null 593 | }, 594 | { 595 | "name": "lchown32", 596 | "action": "SCMP_ACT_ALLOW", 597 | "args": null 598 | }, 599 | { 600 | "name": "lgetxattr", 601 | "action": "SCMP_ACT_ALLOW", 602 | "args": null 603 | }, 604 | { 605 | "name": "link", 606 | "action": "SCMP_ACT_ALLOW", 607 | "args": null 608 | }, 609 | { 610 | "name": "linkat", 611 | "action": "SCMP_ACT_ALLOW", 612 | "args": null 613 | }, 614 | { 615 | "name": "listen", 616 | "action": "SCMP_ACT_ALLOW", 617 | "args": null 618 | }, 619 | { 620 | "name": "listxattr", 621 | "action": "SCMP_ACT_ALLOW", 622 | "args": null 623 | }, 624 | { 625 | "name": "llistxattr", 626 | "action": "SCMP_ACT_ALLOW", 627 | "args": null 628 | }, 629 | { 630 | "name": "_llseek", 631 | "action": "SCMP_ACT_ALLOW", 632 | "args": null 633 | }, 634 | { 635 | "name": "lremovexattr", 636 | "action": "SCMP_ACT_ALLOW", 637 | "args": null 638 | }, 639 | { 640 | "name": "lseek", 641 | "action": "SCMP_ACT_ALLOW", 642 | "args": null 643 | }, 644 | { 645 | "name": "lsetxattr", 646 | "action": "SCMP_ACT_ALLOW", 647 | "args": null 648 | }, 649 | { 650 | "name": "lstat", 651 | "action": "SCMP_ACT_ALLOW", 652 | "args": null 653 | }, 654 | { 655 | "name": "lstat64", 656 | "action": "SCMP_ACT_ALLOW", 657 | "args": null 658 | }, 659 | { 660 | "name": "madvise", 661 | "action": "SCMP_ACT_ALLOW", 662 | "args": null 663 | }, 664 | { 665 | "name": "memfd_create", 666 | "action": "SCMP_ACT_ALLOW", 667 | "args": null 668 | }, 669 | { 670 | "name": "mincore", 671 | "action": "SCMP_ACT_ALLOW", 672 | "args": null 673 | }, 674 | { 675 | "name": "mkdir", 676 | "action": "SCMP_ACT_ALLOW", 677 | "args": null 678 | }, 679 | { 680 | "name": "mkdirat", 681 | "action": "SCMP_ACT_ALLOW", 682 | "args": null 683 | }, 684 | { 685 | "name": "mknod", 686 | "action": "SCMP_ACT_ALLOW", 687 | "args": null 688 | }, 689 | { 690 | "name": "mknodat", 691 | "action": "SCMP_ACT_ALLOW", 692 | "args": null 693 | }, 694 | { 695 | "name": "mlock", 696 | "action": "SCMP_ACT_ALLOW", 697 | "args": null 698 | }, 699 | { 700 | "name": "mlockall", 701 | "action": "SCMP_ACT_ALLOW", 702 | "args": null 703 | }, 704 | { 705 | "name": "mmap", 706 | "action": "SCMP_ACT_ALLOW", 707 | "args": null 708 | }, 709 | { 710 | "name": "mmap2", 711 | "action": "SCMP_ACT_ALLOW", 712 | "args": null 713 | }, 714 | { 715 | "name": "mprotect", 716 | "action": "SCMP_ACT_ALLOW", 717 | "args": null 718 | }, 719 | { 720 | "name": "mq_getsetattr", 721 | "action": "SCMP_ACT_ALLOW", 722 | "args": null 723 | }, 724 | { 725 | "name": "mq_notify", 726 | "action": "SCMP_ACT_ALLOW", 727 | "args": null 728 | }, 729 | { 730 | "name": "mq_open", 731 | "action": "SCMP_ACT_ALLOW", 732 | "args": null 733 | }, 734 | { 735 | "name": "mq_timedreceive", 736 | "action": "SCMP_ACT_ALLOW", 737 | "args": null 738 | }, 739 | { 740 | "name": "mq_timedsend", 741 | "action": "SCMP_ACT_ALLOW", 742 | "args": null 743 | }, 744 | { 745 | "name": "mq_unlink", 746 | "action": "SCMP_ACT_ALLOW", 747 | "args": null 748 | }, 749 | { 750 | "name": "mremap", 751 | "action": "SCMP_ACT_ALLOW", 752 | "args": null 753 | }, 754 | { 755 | "name": "msgctl", 756 | "action": "SCMP_ACT_ALLOW", 757 | "args": null 758 | }, 759 | { 760 | "name": "msgget", 761 | "action": "SCMP_ACT_ALLOW", 762 | "args": null 763 | }, 764 | { 765 | "name": "msgrcv", 766 | "action": "SCMP_ACT_ALLOW", 767 | "args": null 768 | }, 769 | { 770 | "name": "msgsnd", 771 | "action": "SCMP_ACT_ALLOW", 772 | "args": null 773 | }, 774 | { 775 | "name": "msync", 776 | "action": "SCMP_ACT_ALLOW", 777 | "args": null 778 | }, 779 | { 780 | "name": "munlock", 781 | "action": "SCMP_ACT_ALLOW", 782 | "args": null 783 | }, 784 | { 785 | "name": "munlockall", 786 | "action": "SCMP_ACT_ALLOW", 787 | "args": null 788 | }, 789 | { 790 | "name": "munmap", 791 | "action": "SCMP_ACT_ALLOW", 792 | "args": null 793 | }, 794 | { 795 | "name": "name_to_handle_at", 796 | "action": "SCMP_ACT_ALLOW", 797 | "args": null 798 | }, 799 | { 800 | "name": "nanosleep", 801 | "action": "SCMP_ACT_ALLOW", 802 | "args": null 803 | }, 804 | { 805 | "name": "newfstatat", 806 | "action": "SCMP_ACT_ALLOW", 807 | "args": null 808 | }, 809 | { 810 | "name": "_newselect", 811 | "action": "SCMP_ACT_ALLOW", 812 | "args": null 813 | }, 814 | { 815 | "name": "open", 816 | "action": "SCMP_ACT_ALLOW", 817 | "args": null 818 | }, 819 | { 820 | "name": "open_by_handle_at", 821 | "action": "SCMP_ACT_ALLOW", 822 | "args": null 823 | }, 824 | { 825 | "name": "openat", 826 | "action": "SCMP_ACT_ALLOW", 827 | "args": null 828 | }, 829 | { 830 | "name": "pause", 831 | "action": "SCMP_ACT_ALLOW", 832 | "args": null 833 | }, 834 | { 835 | "name": "pipe", 836 | "action": "SCMP_ACT_ALLOW", 837 | "args": null 838 | }, 839 | { 840 | "name": "pipe2", 841 | "action": "SCMP_ACT_ALLOW", 842 | "args": null 843 | }, 844 | { 845 | "name": "poll", 846 | "action": "SCMP_ACT_ALLOW", 847 | "args": null 848 | }, 849 | { 850 | "name": "ppoll", 851 | "action": "SCMP_ACT_ALLOW", 852 | "args": null 853 | }, 854 | { 855 | "name": "prctl", 856 | "action": "SCMP_ACT_ALLOW", 857 | "args": null 858 | }, 859 | { 860 | "name": "pread64", 861 | "action": "SCMP_ACT_ALLOW", 862 | "args": null 863 | }, 864 | { 865 | "name": "preadv", 866 | "action": "SCMP_ACT_ALLOW", 867 | "args": null 868 | }, 869 | { 870 | "name": "prlimit64", 871 | "action": "SCMP_ACT_ALLOW", 872 | "args": null 873 | }, 874 | { 875 | "name": "pselect6", 876 | "action": "SCMP_ACT_ALLOW", 877 | "args": null 878 | }, 879 | { 880 | "name": "pwrite64", 881 | "action": "SCMP_ACT_ALLOW", 882 | "args": null 883 | }, 884 | { 885 | "name": "pwritev", 886 | "action": "SCMP_ACT_ALLOW", 887 | "args": null 888 | }, 889 | { 890 | "name": "read", 891 | "action": "SCMP_ACT_ALLOW", 892 | "args": null 893 | }, 894 | { 895 | "name": "readahead", 896 | "action": "SCMP_ACT_ALLOW", 897 | "args": null 898 | }, 899 | { 900 | "name": "readlink", 901 | "action": "SCMP_ACT_ALLOW", 902 | "args": null 903 | }, 904 | { 905 | "name": "readlinkat", 906 | "action": "SCMP_ACT_ALLOW", 907 | "args": null 908 | }, 909 | { 910 | "name": "readv", 911 | "action": "SCMP_ACT_ALLOW", 912 | "args": null 913 | }, 914 | { 915 | "name": "recvfrom", 916 | "action": "SCMP_ACT_ALLOW", 917 | "args": null 918 | }, 919 | { 920 | "name": "recvmmsg", 921 | "action": "SCMP_ACT_ALLOW", 922 | "args": null 923 | }, 924 | { 925 | "name": "recvmsg", 926 | "action": "SCMP_ACT_ALLOW", 927 | "args": null 928 | }, 929 | { 930 | "name": "remap_file_pages", 931 | "action": "SCMP_ACT_ALLOW", 932 | "args": null 933 | }, 934 | { 935 | "name": "removexattr", 936 | "action": "SCMP_ACT_ALLOW", 937 | "args": null 938 | }, 939 | { 940 | "name": "rename", 941 | "action": "SCMP_ACT_ALLOW", 942 | "args": null 943 | }, 944 | { 945 | "name": "renameat", 946 | "action": "SCMP_ACT_ALLOW", 947 | "args": null 948 | }, 949 | { 950 | "name": "renameat2", 951 | "action": "SCMP_ACT_ALLOW", 952 | "args": null 953 | }, 954 | { 955 | "name": "rmdir", 956 | "action": "SCMP_ACT_ALLOW", 957 | "args": null 958 | }, 959 | { 960 | "name": "rt_sigaction", 961 | "action": "SCMP_ACT_ALLOW", 962 | "args": null 963 | }, 964 | { 965 | "name": "rt_sigpending", 966 | "action": "SCMP_ACT_ALLOW", 967 | "args": null 968 | }, 969 | { 970 | "name": "rt_sigprocmask", 971 | "action": "SCMP_ACT_ALLOW", 972 | "args": null 973 | }, 974 | { 975 | "name": "rt_sigqueueinfo", 976 | "action": "SCMP_ACT_ALLOW", 977 | "args": null 978 | }, 979 | { 980 | "name": "rt_sigreturn", 981 | "action": "SCMP_ACT_ALLOW", 982 | "args": null 983 | }, 984 | { 985 | "name": "rt_sigsuspend", 986 | "action": "SCMP_ACT_ALLOW", 987 | "args": null 988 | }, 989 | { 990 | "name": "rt_sigtimedwait", 991 | "action": "SCMP_ACT_ALLOW", 992 | "args": null 993 | }, 994 | { 995 | "name": "rt_tgsigqueueinfo", 996 | "action": "SCMP_ACT_ALLOW", 997 | "args": null 998 | }, 999 | { 1000 | "name": "sched_getaffinity", 1001 | "action": "SCMP_ACT_ALLOW", 1002 | "args": null 1003 | }, 1004 | { 1005 | "name": "sched_getattr", 1006 | "action": "SCMP_ACT_ALLOW", 1007 | "args": null 1008 | }, 1009 | { 1010 | "name": "sched_getparam", 1011 | "action": "SCMP_ACT_ALLOW", 1012 | "args": null 1013 | }, 1014 | { 1015 | "name": "sched_get_priority_max", 1016 | "action": "SCMP_ACT_ALLOW", 1017 | "args": null 1018 | }, 1019 | { 1020 | "name": "sched_get_priority_min", 1021 | "action": "SCMP_ACT_ALLOW", 1022 | "args": null 1023 | }, 1024 | { 1025 | "name": "sched_getscheduler", 1026 | "action": "SCMP_ACT_ALLOW", 1027 | "args": null 1028 | }, 1029 | { 1030 | "name": "sched_rr_get_interval", 1031 | "action": "SCMP_ACT_ALLOW", 1032 | "args": null 1033 | }, 1034 | { 1035 | "name": "sched_setaffinity", 1036 | "action": "SCMP_ACT_ALLOW", 1037 | "args": null 1038 | }, 1039 | { 1040 | "name": "sched_setattr", 1041 | "action": "SCMP_ACT_ALLOW", 1042 | "args": null 1043 | }, 1044 | { 1045 | "name": "sched_setparam", 1046 | "action": "SCMP_ACT_ALLOW", 1047 | "args": null 1048 | }, 1049 | { 1050 | "name": "sched_setscheduler", 1051 | "action": "SCMP_ACT_ALLOW", 1052 | "args": null 1053 | }, 1054 | { 1055 | "name": "sched_yield", 1056 | "action": "SCMP_ACT_ALLOW", 1057 | "args": null 1058 | }, 1059 | { 1060 | "name": "seccomp", 1061 | "action": "SCMP_ACT_ALLOW", 1062 | "args": null 1063 | }, 1064 | { 1065 | "name": "select", 1066 | "action": "SCMP_ACT_ALLOW", 1067 | "args": null 1068 | }, 1069 | { 1070 | "name": "semctl", 1071 | "action": "SCMP_ACT_ALLOW", 1072 | "args": null 1073 | }, 1074 | { 1075 | "name": "semget", 1076 | "action": "SCMP_ACT_ALLOW", 1077 | "args": null 1078 | }, 1079 | { 1080 | "name": "semop", 1081 | "action": "SCMP_ACT_ALLOW", 1082 | "args": null 1083 | }, 1084 | { 1085 | "name": "semtimedop", 1086 | "action": "SCMP_ACT_ALLOW", 1087 | "args": null 1088 | }, 1089 | { 1090 | "name": "sendfile", 1091 | "action": "SCMP_ACT_ALLOW", 1092 | "args": null 1093 | }, 1094 | { 1095 | "name": "sendfile64", 1096 | "action": "SCMP_ACT_ALLOW", 1097 | "args": null 1098 | }, 1099 | { 1100 | "name": "sendmmsg", 1101 | "action": "SCMP_ACT_ALLOW", 1102 | "args": null 1103 | }, 1104 | { 1105 | "name": "sendmsg", 1106 | "action": "SCMP_ACT_ALLOW", 1107 | "args": null 1108 | }, 1109 | { 1110 | "name": "sendto", 1111 | "action": "SCMP_ACT_ALLOW", 1112 | "args": null 1113 | }, 1114 | { 1115 | "name": "setdomainname", 1116 | "action": "SCMP_ACT_ALLOW", 1117 | "args": null 1118 | }, 1119 | { 1120 | "name": "setfsgid", 1121 | "action": "SCMP_ACT_ALLOW", 1122 | "args": null 1123 | }, 1124 | { 1125 | "name": "setfsgid32", 1126 | "action": "SCMP_ACT_ALLOW", 1127 | "args": null 1128 | }, 1129 | { 1130 | "name": "setfsuid", 1131 | "action": "SCMP_ACT_ALLOW", 1132 | "args": null 1133 | }, 1134 | { 1135 | "name": "setfsuid32", 1136 | "action": "SCMP_ACT_ALLOW", 1137 | "args": null 1138 | }, 1139 | { 1140 | "name": "setgid", 1141 | "action": "SCMP_ACT_ALLOW", 1142 | "args": null 1143 | }, 1144 | { 1145 | "name": "setgid32", 1146 | "action": "SCMP_ACT_ALLOW", 1147 | "args": null 1148 | }, 1149 | { 1150 | "name": "setgroups", 1151 | "action": "SCMP_ACT_ALLOW", 1152 | "args": null 1153 | }, 1154 | { 1155 | "name": "setgroups32", 1156 | "action": "SCMP_ACT_ALLOW", 1157 | "args": null 1158 | }, 1159 | { 1160 | "name": "sethostname", 1161 | "action": "SCMP_ACT_ALLOW", 1162 | "args": null 1163 | }, 1164 | { 1165 | "name": "setitimer", 1166 | "action": "SCMP_ACT_ALLOW", 1167 | "args": null 1168 | }, 1169 | { 1170 | "name": "setns", 1171 | "action": "SCMP_ACT_ALLOW", 1172 | "args": null 1173 | }, 1174 | { 1175 | "name": "setpgid", 1176 | "action": "SCMP_ACT_ALLOW", 1177 | "args": null 1178 | }, 1179 | { 1180 | "name": "setpriority", 1181 | "action": "SCMP_ACT_ALLOW", 1182 | "args": null 1183 | }, 1184 | { 1185 | "name": "setregid", 1186 | "action": "SCMP_ACT_ALLOW", 1187 | "args": null 1188 | }, 1189 | { 1190 | "name": "setregid32", 1191 | "action": "SCMP_ACT_ALLOW", 1192 | "args": null 1193 | }, 1194 | { 1195 | "name": "setresgid", 1196 | "action": "SCMP_ACT_ALLOW", 1197 | "args": null 1198 | }, 1199 | { 1200 | "name": "setresgid32", 1201 | "action": "SCMP_ACT_ALLOW", 1202 | "args": null 1203 | }, 1204 | { 1205 | "name": "setresuid", 1206 | "action": "SCMP_ACT_ALLOW", 1207 | "args": null 1208 | }, 1209 | { 1210 | "name": "setresuid32", 1211 | "action": "SCMP_ACT_ALLOW", 1212 | "args": null 1213 | }, 1214 | { 1215 | "name": "setreuid", 1216 | "action": "SCMP_ACT_ALLOW", 1217 | "args": null 1218 | }, 1219 | { 1220 | "name": "setreuid32", 1221 | "action": "SCMP_ACT_ALLOW", 1222 | "args": null 1223 | }, 1224 | { 1225 | "name": "setrlimit", 1226 | "action": "SCMP_ACT_ALLOW", 1227 | "args": null 1228 | }, 1229 | { 1230 | "name": "set_robust_list", 1231 | "action": "SCMP_ACT_ALLOW", 1232 | "args": null 1233 | }, 1234 | { 1235 | "name": "setsid", 1236 | "action": "SCMP_ACT_ALLOW", 1237 | "args": null 1238 | }, 1239 | { 1240 | "name": "setsockopt", 1241 | "action": "SCMP_ACT_ALLOW", 1242 | "args": null 1243 | }, 1244 | { 1245 | "name": "set_thread_area", 1246 | "action": "SCMP_ACT_ALLOW", 1247 | "args": null 1248 | }, 1249 | { 1250 | "name": "set_tid_address", 1251 | "action": "SCMP_ACT_ALLOW", 1252 | "args": null 1253 | }, 1254 | { 1255 | "name": "setuid", 1256 | "action": "SCMP_ACT_ALLOW", 1257 | "args": null 1258 | }, 1259 | { 1260 | "name": "setuid32", 1261 | "action": "SCMP_ACT_ALLOW", 1262 | "args": null 1263 | }, 1264 | { 1265 | "name": "setxattr", 1266 | "action": "SCMP_ACT_ALLOW", 1267 | "args": null 1268 | }, 1269 | { 1270 | "name": "shmat", 1271 | "action": "SCMP_ACT_ALLOW", 1272 | "args": null 1273 | }, 1274 | { 1275 | "name": "shmctl", 1276 | "action": "SCMP_ACT_ALLOW", 1277 | "args": null 1278 | }, 1279 | { 1280 | "name": "shmdt", 1281 | "action": "SCMP_ACT_ALLOW", 1282 | "args": null 1283 | }, 1284 | { 1285 | "name": "shmget", 1286 | "action": "SCMP_ACT_ALLOW", 1287 | "args": null 1288 | }, 1289 | { 1290 | "name": "shutdown", 1291 | "action": "SCMP_ACT_ALLOW", 1292 | "args": null 1293 | }, 1294 | { 1295 | "name": "sigaltstack", 1296 | "action": "SCMP_ACT_ALLOW", 1297 | "args": null 1298 | }, 1299 | { 1300 | "name": "signalfd", 1301 | "action": "SCMP_ACT_ALLOW", 1302 | "args": null 1303 | }, 1304 | { 1305 | "name": "signalfd4", 1306 | "action": "SCMP_ACT_ALLOW", 1307 | "args": null 1308 | }, 1309 | { 1310 | "name": "socket", 1311 | "action": "SCMP_ACT_ALLOW", 1312 | "args": null 1313 | }, 1314 | { 1315 | "name": "socketpair", 1316 | "action": "SCMP_ACT_ALLOW", 1317 | "args": null 1318 | }, 1319 | { 1320 | "name": "splice", 1321 | "action": "SCMP_ACT_ALLOW", 1322 | "args": null 1323 | }, 1324 | { 1325 | "name": "stat", 1326 | "action": "SCMP_ACT_ALLOW", 1327 | "args": null 1328 | }, 1329 | { 1330 | "name": "stat64", 1331 | "action": "SCMP_ACT_ALLOW", 1332 | "args": null 1333 | }, 1334 | { 1335 | "name": "statfs", 1336 | "action": "SCMP_ACT_ALLOW", 1337 | "args": null 1338 | }, 1339 | { 1340 | "name": "statfs64", 1341 | "action": "SCMP_ACT_ALLOW", 1342 | "args": null 1343 | }, 1344 | { 1345 | "name": "symlink", 1346 | "action": "SCMP_ACT_ALLOW", 1347 | "args": null 1348 | }, 1349 | { 1350 | "name": "symlinkat", 1351 | "action": "SCMP_ACT_ALLOW", 1352 | "args": null 1353 | }, 1354 | { 1355 | "name": "sync", 1356 | "action": "SCMP_ACT_ALLOW", 1357 | "args": null 1358 | }, 1359 | { 1360 | "name": "sync_file_range", 1361 | "action": "SCMP_ACT_ALLOW", 1362 | "args": null 1363 | }, 1364 | { 1365 | "name": "syncfs", 1366 | "action": "SCMP_ACT_ALLOW", 1367 | "args": null 1368 | }, 1369 | { 1370 | "name": "sysinfo", 1371 | "action": "SCMP_ACT_ALLOW", 1372 | "args": null 1373 | }, 1374 | { 1375 | "name": "syslog", 1376 | "action": "SCMP_ACT_ALLOW", 1377 | "args": null 1378 | }, 1379 | { 1380 | "name": "tee", 1381 | "action": "SCMP_ACT_ALLOW", 1382 | "args": null 1383 | }, 1384 | { 1385 | "name": "tgkill", 1386 | "action": "SCMP_ACT_ALLOW", 1387 | "args": null 1388 | }, 1389 | { 1390 | "name": "time", 1391 | "action": "SCMP_ACT_ALLOW", 1392 | "args": null 1393 | }, 1394 | { 1395 | "name": "timer_create", 1396 | "action": "SCMP_ACT_ALLOW", 1397 | "args": null 1398 | }, 1399 | { 1400 | "name": "timer_delete", 1401 | "action": "SCMP_ACT_ALLOW", 1402 | "args": null 1403 | }, 1404 | { 1405 | "name": "timerfd_create", 1406 | "action": "SCMP_ACT_ALLOW", 1407 | "args": null 1408 | }, 1409 | { 1410 | "name": "timerfd_gettime", 1411 | "action": "SCMP_ACT_ALLOW", 1412 | "args": null 1413 | }, 1414 | { 1415 | "name": "timerfd_settime", 1416 | "action": "SCMP_ACT_ALLOW", 1417 | "args": null 1418 | }, 1419 | { 1420 | "name": "timer_getoverrun", 1421 | "action": "SCMP_ACT_ALLOW", 1422 | "args": null 1423 | }, 1424 | { 1425 | "name": "timer_gettime", 1426 | "action": "SCMP_ACT_ALLOW", 1427 | "args": null 1428 | }, 1429 | { 1430 | "name": "timer_settime", 1431 | "action": "SCMP_ACT_ALLOW", 1432 | "args": null 1433 | }, 1434 | { 1435 | "name": "times", 1436 | "action": "SCMP_ACT_ALLOW", 1437 | "args": null 1438 | }, 1439 | { 1440 | "name": "tkill", 1441 | "action": "SCMP_ACT_ALLOW", 1442 | "args": null 1443 | }, 1444 | { 1445 | "name": "truncate", 1446 | "action": "SCMP_ACT_ALLOW", 1447 | "args": null 1448 | }, 1449 | { 1450 | "name": "truncate64", 1451 | "action": "SCMP_ACT_ALLOW", 1452 | "args": null 1453 | }, 1454 | { 1455 | "name": "ugetrlimit", 1456 | "action": "SCMP_ACT_ALLOW", 1457 | "args": null 1458 | }, 1459 | { 1460 | "name": "umask", 1461 | "action": "SCMP_ACT_ALLOW", 1462 | "args": null 1463 | }, 1464 | { 1465 | "name": "uname", 1466 | "action": "SCMP_ACT_ALLOW", 1467 | "args": null 1468 | }, 1469 | { 1470 | "name": "unlink", 1471 | "action": "SCMP_ACT_ALLOW", 1472 | "args": null 1473 | }, 1474 | { 1475 | "name": "unlinkat", 1476 | "action": "SCMP_ACT_ALLOW", 1477 | "args": null 1478 | }, 1479 | { 1480 | "name": "unshare", 1481 | "action": "SCMP_ACT_ALLOW", 1482 | "args": null 1483 | }, 1484 | { 1485 | "name": "utime", 1486 | "action": "SCMP_ACT_ALLOW", 1487 | "args": null 1488 | }, 1489 | { 1490 | "name": "utimensat", 1491 | "action": "SCMP_ACT_ALLOW", 1492 | "args": null 1493 | }, 1494 | { 1495 | "name": "utimes", 1496 | "action": "SCMP_ACT_ALLOW", 1497 | "args": null 1498 | }, 1499 | { 1500 | "name": "vfork", 1501 | "action": "SCMP_ACT_ALLOW", 1502 | "args": null 1503 | }, 1504 | { 1505 | "name": "vhangup", 1506 | "action": "SCMP_ACT_ALLOW", 1507 | "args": null 1508 | }, 1509 | { 1510 | "name": "vmsplice", 1511 | "action": "SCMP_ACT_ALLOW", 1512 | "args": null 1513 | }, 1514 | { 1515 | "name": "wait4", 1516 | "action": "SCMP_ACT_ALLOW", 1517 | "args": null 1518 | }, 1519 | { 1520 | "name": "waitid", 1521 | "action": "SCMP_ACT_ALLOW", 1522 | "args": null 1523 | }, 1524 | { 1525 | "name": "write", 1526 | "action": "SCMP_ACT_ALLOW", 1527 | "args": null 1528 | }, 1529 | { 1530 | "name": "writev", 1531 | "action": "SCMP_ACT_ALLOW", 1532 | "args": null 1533 | } 1534 | ] 1535 | } 1536 | -------------------------------------------------------------------------------- /docker/os/fedora/ubuntu/scripts/fontsWeightBlink.csv: -------------------------------------------------------------------------------- 1 | Text Me One,TextMeOne-Regular.ttf,121 2 | Oleo Script,OleoScript-Bold.ttf,164 3 | Tuffy,Tuffy.ttf,305 4 | Quixotic,quixotic.ttf,115 5 | Nachlieli,he.ttf,8 6 | Ruluko,Ruluko-Regular.ttf,124 7 | Almendra,Almendra-Italic.ttf,135 8 | Hebrew Participants,hebrp___.ttf,71 9 | Padauk Book,Padauk-bookbold.ttf,4011 10 | Airmole Antique,airmolea.ttf,121 11 | Metal Lord,metalord.ttf,149 12 | Alice,Alice-Regular.ttf,156 13 | Poly,Poly-Italic.ttf,152 14 | Dignity Of Labour,dignity.ttf,144 15 | Georgia,georgiaz.ttf,39837 16 | Almendra SC,AlmendraSC-Regular.ttf,142 17 | UM Typewriter,UMTypewriter-BoldItalic.otf,41 18 | Mexcellent 3D,mexcel3d.ttf,142 19 | Noto Sans Tagalog,NotoSansTagalog-Regular.ttf,917 20 | Inflammable Age,inflamma.ttf,118 21 | Pulse State,pulsesta.ttf,70 22 | Alegreya SC,AlegreyaSC-Italic.ttf,261 23 | Droid Sans Japanese,DroidSansJapanese.ttf,4990 24 | Yellowtail,Yellowtail-Regular.ttf,208 25 | Nafees Nastaleeq,NafeesNastaleeq.ttf,14 26 | Ruslan Display,RuslanDisplay.ttf,137 27 | Handlee,Handlee-Regular.ttf,140 28 | Delta Hey Max Nine,deltahey.ttf,138 29 | MathJax_WinChrome,MathJax_WinChrome-Regular.otf,0 30 | Noto Sans Lycian,NotoSansLycian-Regular.ttf,445 31 | Fugaz One,FugazOne-Regular.ttf,135 32 | Neuropolitical,neurpoli.ttf,175 33 | Judson,Judson-Regular.ttf,154 34 | GFS BodoniClassic,GFSBodoniClassic.otf,328 35 | PoetsenOne,PoetsenOne-Regular.ttf,124 36 | BM HANNA_TTF,BM-HANNA.ttf,0 37 | PT Serif,PT_Serif-Web-Regular.ttf,11233 38 | Symbol,symbol.ttf,41348 39 | GFS Pyrsos,GFSPyrsos.otf,47 40 | Risque,Risque-Regular.ttf,124 41 | Averia Gruesa Libre,AveriaGruesaLibre-Regular.ttf,122 42 | UnGungseo,UnGungseo.ttf,1818 43 | Codystar,Codystar-Regular.ttf,138 44 | Sportrop,Sportrop.ttf,55 45 | IM FELL Great Primer,IMFeGPrm28P.ttf,152 46 | YBandTuner,ybandtun.ttf,76 47 | Sawasdee,Sawasdee.ttf,4671 48 | Field Day Filter,fieldday.ttf,72 49 | Bruno Ace,BrunoAce-Regular.ttf,118 50 | UKIJ Tuz,UKIJTuz.ttf,20 51 | Snowburst One,SnowburstOne-Regular.ttf,117 52 | Noto Serif Armenian,NotoSerifArmenian-Regular.ttf,820 53 | Geo,Geo-Regular.ttf,170 54 | Courier New,courbd.ttf,39749 55 | Stint Ultra Condensed,StintUltraCondensed-Regular.ttf,134 56 | Outright Televism,outright.ttf,125 57 | MPH 2B Damase,damase_v.2.ttf,59 58 | IM FELL Double Pica,IMFeDPit28P.ttf,151 59 | Latin Modern Mono,lmmono9-regular.otf,473 60 | cmtt10,cmtt10.ttf,42 61 | Tinsnips,tinsnips.ttf,132 62 | Orange Kid,orangeki.ttf,109 63 | Noto Serif Thai,NotoSerifThai-Bold.ttf,819 64 | SeoulHangang CB,SeoulHangangCondensed-Bold.ttf,104 65 | Cretino,cretino_.ttf,175 66 | Almonte Snow,almosnow.ttf,588 67 | Airmole Stripe,airmoleq.ttf,122 68 | Strong,Strong-Regular.ttf,124 69 | Tauri,Tauri-Regular.ttf,113 70 | Xenowort,xenowort.ttf,92 71 | Asset,Asset.ttf,133 72 | Monda,Monda-Bold-unhinted.ttf,134 73 | Raghindi,hi.ttf,11 74 | Noto Sans Symbols,NotoSansSymbols-Regular.ttf,466 75 | Noticia Text,NoticiaText-Regular.ttf,185 76 | TSCu_Comic,ta.ttf,0 77 | TriacSeventyone,triacsev.ttf,95 78 | Karla Tamil,KarlaUpright-Regular-PreVOLT.ttf,77 79 | Cutive Mono,CutiveMono-Regular-unhinted.ttf,141 80 | CabinSketch,CabinSketch-Bold.ttf,275 81 | Noto Sans Imperial Aramaic,NotoSansImperialAramaic-Regular.ttf,451 82 | Fira Mono,FiraMono-Bold.ttf,254 83 | Navilu,Navilu.ttf,71 84 | Commerciality,commlity.ttf,70 85 | Prosto One,ProstoOne-Regular.ttf,137 86 | MScore,mscore-20.ttf,33 87 | Inconsolatazi4,Inconsolatazi4-Bold.otf,23 88 | Archivo Narrow,ArchivoNarrow-Italic.ttf,183 89 | ocrb8,ocrb8.otf,27 90 | MathJax_Main,MathJax_Main-Regular.otf,0 91 | Squada One,SquadaOne-Regular.ttf,138 92 | Noto Sans Malayalam,NotoSansMalayalam-Bold.ttf,463 93 | Macondo Swash Caps,MacondoSwashCaps-Regular.ttf,116 94 | Noto Sans Egyptian Hieroglyphs,NotoSansEgyptianHieroglyphs-Regular.ttf,446 95 | cwTeXFangSong,cwTeXFangSong.ttf,144 96 | Sanchez,Sanchez-Italic.ttf,158 97 | Liberation Serif,LiberationSerif-Regular.ttf,11481 98 | Devonshire,Devonshire-Regular.ttf,123 99 | Madan2,madan.ttf,9 100 | ClementePDae,ClementePDae-Light.ttf,53 101 | Noto Sans Ugaritic,NotoSansUgaritic-Regular.ttf,446 102 | BetecknaLowerCase,BetecknaLowerCase.otf,125 103 | Wake & Bake,wakebake.ttf,0 104 | Share-TechMonoExp,ShareTechMonoExp-Regular.ttf,36 105 | Reenie Beanie,ReenieBeanie.ttf,165 106 | Muli,Muli-LightItalic.ttf,259 107 | Droid Sans,DroidSans-Bold.ttf,6610 108 | Buda,Buda-Light.ttf,138 109 | Libel Suit,libel.ttf,132 110 | Harabara,Harabara.ttf,198 111 | Rustproof Body,rustproo.ttf,110 112 | Port Lligat Slab,PortLligatSlab-Regular.ttf,125 113 | Karla,Karla-Regular.ttf,178 114 | Merriweather,Merriweather-Italic.ttf,465 115 | Manchu2005,ManchuFont2005.ttf,13 116 | Butterbelly,butterbe.ttf,159 117 | Vipnagorgialla,vipnagor.ttf,178 118 | Battambang,Battambang-Bold.ttf,152 119 | FandolSong,FandolSong-Regular.otf,19 120 | MathJax_Script,MathJax_Script-Regular.otf,0 121 | STIXSizeThreeSym,STIXSizThreeSymBol.ttf,5300 122 | WhiteLake,whitelak.ttf,76 123 | Dazzle Ships,dazzlesh.ttf,88 124 | Signika,Signika-Light.ttf,381 125 | Still Time,stilltim.ttf,151 126 | Mr Bedfort,MrBedfort-Regular.ttf,135 127 | Trykker,Trykker-Regular.ttf,120 128 | Ropa Sans,RopaSans-Regular.ttf,146 129 | IcicleCountry,icicleco.ttf,70 130 | GFS Solomos,GFSSolomos.otf,626 131 | InstantTunes,instantt.ttf,86 132 | OFL Sorts Mill Goudy TT,OFLGoudyStMTT.ttf,197 133 | ocrb6,ocrb6.otf,28 134 | Old Standard TT,OldStandard-Regular.ttf,188 135 | Carrois Gothic,CarroisGothic-Regular.ttf,127 136 | Stint Ultra Expanded,StintUltraExpanded-Regular.ttf,123 137 | Noto Serif Georgian,NotoSerifGeorgian-Bold.ttf,825 138 | Mrs Saint Delafield,MrsSaintDelafield-Regular.ttf,131 139 | MuseJazz,mscore-MuseJazz.ttf,33 140 | Eden Mills,edenmi__.ttf,152 141 | Liberation Sans Narrow,LiberationSansNarrow-Italic.ttf,11132 142 | KacstBook,KacstBook.ttf,4421 143 | Forgotten Futurist Rotten,forgottr.ttf,64 144 | Welfare Brat,welfareb.ttf,108 145 | Linux Libertine Initials O,LinLibertine_I.otf,873 146 | Chica Mono,chicomono.ttf,34 147 | DejaVu LGC Sans Mono,DejaVuLGCSansMono.ttf,153 148 | Aladin,Aladin-Regular.ttf,126 149 | Smokum,Smokum-Regular.ttf,127 150 | SeoulHangang,SeoulHangang-Medium.ttf,87 151 | Dyspepsia,dyspepsi.ttf,163 152 | Coustard,Coustard-Regular.ttf,147 153 | Rouge Script,RougeScript-Regular.ttf,128 154 | Loma,Loma-BoldOblique.ttf,4659 155 | Josefin Slab,JosefinSlab-Bold.ttf,359 156 | Jolly Lodger,JollyLodger-Regular.ttf,126 157 | Sui Generis,suigener.ttf,129 158 | Averia Libre,AveriaLibre-LightItalic.ttf,141 159 | Poller One,PollerOne.ttf,130 160 | Aclonica,Aclonica.ttf,166 161 | Minya Nouvelle,minyn___.ttf,894 162 | Hanuman,Hanumanb.ttf,137 163 | Almonte,almonte.ttf,159 164 | Isabella,Isabella.ttf,175 165 | SubsetForTuxPaint,zh_TW.ttf,4 166 | Dream Orphans,dreamori.ttf,209 167 | Anonymous Pro,AnonymousPro-Regular.ttf,528 168 | Allan,Allan-Bold.ttf,158 169 | Unkempt,Unkempt-Bold.ttf,137 170 | Londrina Shadow,LondrinaShadow-Regular.ttf,145 171 | Kleptocracy,kleptocr.ttf,132 172 | GFS Baskerville,GFSBaskerville.otf,442 173 | Monoton,Monoton-Regular.ttf,167 174 | STIXIntegralsUpSm,STIXIntUpSmReg.otf,5277 175 | Stalemate,Stalemate-Regular.ttf,134 176 | Blue Highway,bluebold.ttf,1020 177 | Geostar,Geostar-Regular.ttf,128 178 | Creepster,Creepster-Regular.ttf,122 179 | STIXSizeFiveSym,STIXSizFiveSymReg.ttf,5293 180 | Nafees Tehreer Naskh,NafeesTehreerNaskh.ttf,6 181 | Open Sans Hebrew Condensed,OpenSansHebrewCondensed-Light.ttf,164 182 | Yellow Pills,yellowpi.ttf,81 183 | Husky Stash,huskysta.ttf,170 184 | Vectroid,vectroid.ttf,140 185 | Actor,Actor-Regular.ttf,139 186 | Irish Participants,irisp___.ttf,69 187 | Kavoon,Kavoon-Regular.ttf,119 188 | Alte Haas Grotesk,AlteHaasGroteskRegular.ttf,183 189 | Croissant One,CroissantOne-Regular.ttf,130 190 | Stasmic,stasmic_.ttf,84 191 | NanumGothic,NanumGothicBold.ttf,8791 192 | SeoulNamsan CBL,SeoulNamsanCondensed-Black.ttf,102 193 | Ranchers,Ranchers-Regular.ttf,125 194 | Po Beef,pobeef.ttf,106 195 | Montez,Montez-Regular.ttf,160 196 | Lateef,LateefRegOT.ttf,142 197 | Noto Sans Thai UI,NotoSansThaiUI-Bold.ttf,709 198 | Redacted,Redacted-Regular.ttf,124 199 | Linux Libertine Mono O ,LinLibertine_MB.otf,29 200 | Play,Play-Bold-webfont.ttf,280 201 | Noto Sans Tamil,NotoSansTamil-Regular.ttf,853 202 | MathJax_Size3,MathJax_Size3-Regular.otf,0 203 | Jacques Francois,JacquesFrancois-Regular.ttf,124 204 | Special Elite,SpecialElite.ttf,194 205 | Andika,Andika-R.ttf,277 206 | jsMath-cmr10,jsMath-cmr10.ttf,393 207 | Noto Sans Glagolitic,NotoSansGlagolitic-Regular.ttf,450 208 | TeX Gyre Chorus,texgyrechorus-mediumitalic.otf,1150 209 | IM FELL Double Pica SC,IMFeDPsc28P.ttf,148 210 | fontello,fontello.ttf,41 211 | Stalin One,StalinOne-Regular.ttf,120 212 | Pecita,Pecita.ttf,176 213 | Noto Serif Khmer,NotoSerifKhmer-Regular.ttf,393 214 | Cherry Swash,CherrySwash-Bold.ttf,142 215 | Accanthis ADF Std,AccanthisADFStd-Bold.otf,524 216 | Iwona Medium,IwonaMedium-Italic.otf,31 217 | Oliver's Barney,oliversb.ttf,0 218 | Bilbo Swash Caps,BilboSwashCaps-Regular.ttf,154 219 | UnPilgi,UnPilgiBold.ttf,1813 220 | Wendy One,WendyOne-Regular.ttf,115 221 | Dorsa,Dorsa-Regular.ttf,135 222 | Antykwa Torunska Condensed,AntykwaTorunskaCondLight-Regular.otf,22 223 | Let's Eat,let_seat.ttf,0 224 | Slackey,Slackey.ttf,134 225 | Fondamento,Fondamento-Italic.ttf,137 226 | Beteckna Small Caps,BetecknaSmallCaps.otf,49 227 | Ribeye Marrow,RibeyeMarrow-Regular.ttf,130 228 | Wingdings,wingding.ttf,36852 229 | Prociono,Prociono-Regular.ttf,238 230 | NAFTAlene,nafta.ttf,99 231 | Cinzel Decorative,CinzelDecorative-Bold.ttf,208 232 | Joystix,joystix.ttf,128 233 | Sandoval,sandoval.ttf,152 234 | Thabit,Thabit-Bold.ttf,157 235 | mpltest,mpltest.ttf,11 236 | EB Garamond Initials,EBGaramond-Initials.otf,217 237 | Hurontario,hurontar.ttf,69 238 | Average Sans,AverageSans-Regular.ttf,124 239 | Droid Sans Thai,DroidSansThai.ttf,4502 240 | Mississauga,mississa.ttf,81 241 | Dashicons,dashicons.ttf,9 242 | CantoraOne,CantoraOne-Regular.ttf,170 243 | Gochi Hand,GochiHand-Regular.ttf,138 244 | Warender Bibliothek,WarenderBibliothek.otf,16 245 | Audiowide,Audiowide-Regular.ttf,149 246 | MathJax_SansSerif,MathJax_SansSerif-Italic.otf,0 247 | XCharter,XCharter-Italic.otf,29 248 | MusiQwik,MusiQwik.ttf,56 249 | Pupcat,pupcat__.ttf,850 250 | Should've Known,shouldve.ttf,0 251 | Cagliostro,Cagliostro-Regular.ttf,120 252 | Droid Serif Thai,DroidSerifThai-Regular.ttf,124 253 | Kotta One,KottaOne-Regular.ttf,118 254 | DirtyBakersDozen,dirtydoz.ttf,166 255 | Quinine,quinine.ttf,71 256 | Nothing You Could Do,NothingYouCouldDo.ttf,174 257 | Herr Von Muellerhoff,HerrVonMuellerhoff-Regular.ttf,147 258 | Tenor Sans,TenorSans-Regular.ttf,142 259 | Eater,Eater-Regular.ttf,121 260 | Chinese Rocks,chineser.ttf,115 261 | Unica One,UnicaOne-Regular.ttf,129 262 | Droid Sans Mono,ArdourMono.ttf,6416 263 | Marvel,Marvel-Bold.ttf,175 264 | Wild Sewerage,wildsewe.ttf,125 265 | Noto Sans Kaithi,NotoSansKaithi-Regular.ttf,427 266 | Megrim,Megrim.ttf,144 267 | Old Standard,OldStandard-Italic.otf,60 268 | Questrial,Questrial-Regular.ttf,196 269 | Radio Stars,radiosta.ttf,89 270 | Rammetto One,RammettoOne-Regular.ttf,126 271 | Linux Libertine O,LinLibertine_RI.otf,958 272 | STIXIntegralsD,STIXIntDBol.otf,5285 273 | Venus Rising,venusris.ttf,154 274 | Roboto Condensed,RobotoCondensed-Bold.ttf,1083 275 | Sacramento,Sacramento-Regular.ttf,165 276 | Peatloaf,peatloaf.ttf,72 277 | Schoolbell,Schoolbell.ttf,135 278 | Doppio One,DoppioOne-Regular.ttf,125 279 | Baekmuk Batang,batang.ttf,121 280 | Meie Script,MeieScript-Regular.ttf,123 281 | Steve,SteveHand.ttf,210 282 | Goudy Bookletter 1911,GoudyBookletter1911.ttf,347 283 | Great Vibes,GreatVibes-Regular.ttf,326 284 | TeX Gyre Heros,texgyreheros-bolditalic.otf,1174 285 | Parisienne,Parisienne-Regular.ttf,175 286 | Belgrano,Belgrano-Regular.ttf,127 287 | Lohit Oriya,Lohit-Oriya.ttf,890 288 | cmmi10,cmmi10.ttf,2525 289 | GFS Garaldus,GFSGaraldus.otf,43 290 | MathJax_Math,MathJax_Math-Italic.otf,0 291 | Walter Turncoat,WalterTurncoat.ttf,148 292 | Arizonia,Arizonia-Regular.ttf,173 293 | Artifika,Artifika-Regular.ttf,137 294 | TeX Gyre Schola,texgyreschola-bold.otf,1172 295 | Ethiopia Jiret,jiret.ttf,25 296 | Share-BoldExp,Share-BoldExp.ttf,31 297 | Gillius ADF Cond,GilliusADFCond-Bold.otf,67 298 | ClementePDag,ClementePDag-Book.ttf,53 299 | Wet Pet,wetpet.ttf,88 300 | VL PGothic,VL-PGothic-Regular.ttf,329 301 | RaghuMalayalam,RaghuMalayalamSans.ttf,135 302 | Biohazard Participants,biohp___.ttf,70 303 | Overlock,Overlock-Bold.ttf,214 304 | Homenaje,Homenaje-Regular.ttf,128 305 | Modern Antiqua,ModernAntiqua-Regular.ttf,132 306 | UnBatang,UnBatang.ttf,1899 307 | Bonbon,Bonbon-Regular.ttf,124 308 | Princess Sofia,PrincessSofia-Regular.ttf,124 309 | Julius Sans One,JuliusSansOne-Regular.ttf,146 310 | Steelfish,steelfis.ttf,196 311 | PakType Ajrak,PakType_Ajrak.ttf,25 312 | TlwgTypewriter,TlwgTypewriter.ttf,4668 313 | UnBom,UnBom.ttf,47 314 | ClementePDaf,ClementePDaf-LightItalic.ttf,53 315 | Symbola,Symbola.ttf,1019 316 | Squealer Embossed,squealem.ttf,132 317 | Lovers Quarrel,LoversQuarrel-Regular.ttf,160 318 | Tienne,Tienne-Regular.ttf,149 319 | Mint Spirit,MintSpirit-Italic.otf,43 320 | Icelandic,asyropoulos_-_Icelandic.otf,46 321 | Noto Sans NKo,NotoSansNKo-Regular.ttf,457 322 | Antonio,Antonio-Light.ttf,166 323 | Waree,Waree-Bold.ttf,5422 324 | Sofachrome,sofachro.ttf,136 325 | Kinnari,Kinnari-BoldOblique.ttf,4671 326 | Pathway Gothic One,PathwayGothicOne-Regular.ttf,130 327 | Miniver,Miniver-Regular.ttf,120 328 | Persian Modern Outline,persian-modern-obliqueoutline.otf,23 329 | Khmer OS Metal Chrieng,KhmerOS_metalchrieng.ttf,105 330 | GFS Ignacio,GFSIgnacio.otf,43 331 | Nafees Riqa,NafeesRiqa.ttf,4 332 | msbm10,msbm10.ttf,2465 333 | Lobster Two,LobsterTwo-Italic.ttf,713 334 | Seaweed Script,SeaweedScript-Regular.ttf,124 335 | ClementePDal,ClementePDal-SemiBoldItalic.ttf,48 336 | SeoulNamsan CEB,SeoulNamsanCondensed-ExtraBold.ttf,103 337 | KacstPoster,KacstPoster.ttf,4420 338 | Sketchy,DaveDS_-_Sketchy.ttf,54 339 | Magra,Magra-Bold.ttf,131 340 | Rum Raisin,RumRaisin-Regular.ttf,130 341 | Gillius ADF,GilliusADF-BoldCondItalic.otf,551 342 | PakType Tehreer,PakType_Tehreer.ttf,58 343 | Ecolier_court,ec_cour.ttf,0 344 | Fira Sans,FiraSans-Light.ttf,344 345 | PWPerspective,PWPerspective.ttf,37 346 | Amatic SC,AmaticSC-Regular.ttf,278 347 | Josefin Sans,JosefinSans-Italic.ttf,320 348 | CrackMan,crackman.ttf,155 349 | Saab,Saab.otf,4551 350 | Bramalea Beauty,bramalea.ttf,74 351 | Noto Sans UI,NotoSansUI-Italic.ttf,746 352 | Enriqueta,Enriqueta-Bold.ttf,158 353 | Kirsty,kirsty__.ttf,159 354 | Deportees,deportee.ttf,80 355 | Gyrussian,gyrussia.ttf,104 356 | Prata,Prata-Regular.ttf,136 357 | Noto Sans Kannada UI,NotoSansKannadaUI-Regular.ttf,218 358 | Yeseva One,YesevaOne-Regular_v2.ttf,166 359 | Sudbury Basin 3D,sudbury3.ttf,112 360 | MathJax_AMS,MathJax_AMS-Regular.otf,0 361 | STIX,STIX-Italic.otf,851 362 | Fadgod,fadgod.ttf,181 363 | Purple Purse,PurplePurse-Regular.ttf,128 364 | Quattrocento,Quattrocento-BoldItalic.otf,223 365 | Khmer OS Muol,KhmerOS_muol.ttf,103 366 | Allerta Stencil,AllertaStencil-Regular.ttf,134 367 | Cantarell,Cantarell-Bold.otf,2236 368 | PT Mono,PTM55FT.ttf,7177 369 | Fascinate,Fascinate-Regular.ttf,136 370 | Noto Sans Cherokee,NotoSansCherokee-Regular.ttf,449 371 | Khmer OS Muol Pali,KhmerOS_muolpali.ttf,96 372 | Rancho,Rancho-Regular.ttf,142 373 | Interplanetary Crap,interpla.ttf,153 374 | Genericons,genericons-regular-webfont.ttf,27 375 | Yanone Tagesschrift,YanoneTagesschrift.ttf,50 376 | Share-RegularOSF,Share-RegularOSF.ttf,38 377 | KacstDigital,KacstDigital.ttf,4423 378 | STIXSizeOneSym,STIXSizOneSymReg.otf,5307 379 | Ultra,Ultra.ttf,158 380 | Libre Caslon Text,LibreCaslonText-Italic.otf,160 381 | stmary10,stmary10.ttf,625 382 | UrUrMa,ururma.ttf,70 383 | Lilita One,LilitaOne-Regular.ttf,129 384 | Coda,Coda-Regular.ttf,183 385 | Poke,poke.ttf,107 386 | SeoulNamsan CB,SeoulNamsanCondensed-Bold.ttf,101 387 | Pontano Sans,PontanoSans-Regular.ttf,140 388 | Lobster 1.4,Lobster-Cyrillic-TTF.ttf,0 389 | Electorate Boogie,electbgi.ttf,97 390 | Gentium Plus,GentiumPlus-I.ttf,86 391 | Quattrocento Sans,QuattrocentoSans-Italic.otf,233 392 | Port Credit,portcred.ttf,98 393 | Samyak Tamil,Samyak-Tamil.ttf,196 394 | Rochester,Rochester-Regular.ttf,184 395 | Noto Sans Shavian,NotoSansShavian-Regular.ttf,450 396 | Kalapi,Kalapi.ttf,37 397 | Asul,Asul-Regular.ttf,129 398 | Monsieur La Doulaise,MonsieurLaDoulaise-Regular.ttf,130 399 | Flamenco,Flamenco-Light.ttf,152 400 | Coda Caption,CodaCaption-Heavy.ttf,128 401 | PT Sans Narrow,PT_Sans-Narrow-Web-Bold.ttf,8432 402 | Baekmuk Gulim,gulim.ttf,114 403 | BPG Gorda GPL&GNU,BPG_Gorda_GNU-GPL.ttf,0 404 | Limelight,Limelight-Regular.ttf,202 405 | Libre Baskerville,LibreBaskerville-Italic.ttf,271 406 | Cousine,Cousine-Bold.ttf,457 407 | Patua One,PatuaOne-Regular.ttf,165 408 | Irish Grover,IrishGrover.ttf,134 409 | [z] Arista Light,[z] Arista light.ttf,68 410 | Pop Up Fontio,popup.ttf,99 411 | Tribun ADF Std Med,TribunADFStd-MedBoldItalic.ttf,23 412 | Rationale,Rationale-Regular.ttf,136 413 | Wellfleet,Wellfleet-Regular.ttf,129 414 | Social Icons Pro Set 1 - Rounded,Social Icons Pro Set 1 - Rounded.ttf,32 415 | TeX Gyre Bonum,texgyrebonum-bold.otf,1203 416 | Pacifico,Pacifico.ttf,606 417 | M+ 1p,mplus-1p-light.ttf,0 418 | Marmelad,Marmelad-Regular.ttf,137 419 | Emblema One,EmblemaOne-Regular.ttf,125 420 | Quicksand,Quicksand-LightItalic.ttf,394 421 | Chela One,ChelaOne-Regular.ttf,122 422 | Dancing Script,DancingScript-Bold-VTT.ttf,271 423 | Waiting for the Sunrise,WaitingfortheSunrise.ttf,160 424 | UnYetgul,UnYetgul.ttf,59 425 | Wintermute,wintermu.ttf,135 426 | Ethiopic Wookianos,wookianos.ttf,23 427 | Domine,Domine-Regular.ttf,160 428 | Tulpen One,TulpenOne-Regular.ttf,141 429 | PT Sans Caption,PTC75F.ttf,7777 430 | HammersmithOne,HammersmithOne-Regular.ttf,134 431 | Passion,PassionOne-Regular.ttf,84 432 | Scada,Scada-BoldItalic.ttf,151 433 | Khmer,Khmer.ttf,129 434 | MathJax_Size2,MathJax_Size2-Regular.otf,0 435 | Misirlou,misirlou.ttf,112 436 | Leckerli One,LeckerliOne-Regular.ttf,142 437 | Lohit Malayalam,Lohit-Malayalam.ttf,585 438 | Zrnic,zrnic___.ttf,116 439 | ClementePDar,ClementePDar-UltraBoldItali.ttf,55 440 | CMU Serif Extra,cmunsl.otf,134 441 | Caviar Dreams,CaviarDreams.ttf,332 442 | Rye,Rye-Regular.ttf,123 443 | Arimo,Arimo-BoldItalic.ttf,3471 444 | Antic,Antic-Regular.ttf,144 445 | Droid Arabic Kufi,DroidKufi-Regular.ttf,1058 446 | VDRSymbols Sans,VDRSymbolsSans.ttf,15 447 | Indie Flower,IndieFlower.ttf,184 448 | Alegreya Sans,AlegreyaSans-MediumItalic.ttf,213 449 | ae_Nice,ar.ttf,0 450 | French Participants,frenp___.ttf,67 451 | Cuprum,Cuprum-Italic.ttf,294 452 | Aldrich,Aldrich-Regular.ttf,145 453 | Densmore,densmore.ttf,143 454 | Airmole,airmole.ttf,130 455 | Sarabun,Sarabun-BoldItalic.ttf,121 456 | Bigelow Rules,BigelowRules-Regular.ttf,122 457 | Mexcellent,mexcelle.ttf,134 458 | MathJax_Typewriter,MathJax_Typewriter-Regular.otf,0 459 | Merge One,MergeOne-Regular.ttf,117 460 | Tinos,Tinos-Bold.ttf,442 461 | SirinStencil,SirinStencil-Regular.ttf,114 462 | Lohit Tamil,Lohit-Tamil.ttf,5658 463 | Share-ItalicExp,Share-ItalicExp.ttf,33 464 | Noto Sans Devanagari,NotoSansDevanagari-Bold.ttf,854 465 | Lohit Assamese,Lohit-Assamese.ttf,1044 466 | Diplomata,Diplomata-Regular.ttf,122 467 | Domestic Manners,Domestic_Manners.ttf,385 468 | Content,Content-Bold.ttf,137 469 | Noto Sans Ethiopic,NotoSansEthiopic-Bold.ttf,834 470 | Glass Antiqua,GlassAntiqua-Regular.ttf,126 471 | Endless Showroom,endless.ttf,74 472 | TeX Gyre Adventor,texgyreadventor-bolditalic.otf,1192 473 | GlazKrak,glazkrak.ttf,91 474 | Aristarcoj,Aristarcoj2.ttf,8 475 | Cabin Condensed,CabinCondensed-MediumItalic.otf,240 476 | NotCourierSans,NotCourierSans-Bold.ttf,72 477 | Bevan,Bevan.ttf,205 478 | Linux Libertine Display O,LinLibertine_DR.otf,878 479 | Senior Service,srservic.ttf,75 480 | Paytone One,PaytoneOne.ttf,150 481 | XITS,xits-bold.otf,46 482 | ,overpass_bold-web.ttf,0 483 | Punk Nova,punknova-boldslanted.otf,35 484 | GFS Porson,GFSPorson.otf,415 485 | Mona-VLGothic,mona-VLGothic.ttf,52 486 | Raleway,Raleway-ExtraBold.otf,953 487 | Chivo,Chivo-Italic.ttf,171 488 | To Be Continued,tobec___.ttf,32 489 | Ethiopic Yigezu Bisrat Gothic,yigezubisratgothic.ttf,21 490 | Hots,hots.ttf,94 491 | Saved By Zero,savedbyz.ttf,132 492 | Cookie,Cookie-Regular.ttf,170 493 | Fabian,fabian__.ttf,120 494 | Angostura Black,angostub.ttf,76 495 | Andagii,Andagii.ttf,11 496 | ProggyTinyTTSZ,ProggyTinySZ.ttf,34 497 | Mlurmlry,mlurmlry.ttf,75 498 | Liberation Mono,LiberationMono-Regular.ttf,11477 499 | Larabiefont,larabieb.ttf,196 500 | Unifont,unifont.ttf,155 501 | UnGraphic,UnGraphicBold.ttf,1813 502 | cwTeXYen,cwTeXYen-ofl.ttf,119 503 | Nova Oval,NovaOval.ttf,140 504 | rsfs10,rsfs10.ttf,2441 505 | Ribeye,Ribeye-Regular.ttf,128 506 | Lohit Tamil Classical,Lohit-Tamil-Classical.ttf,91 507 | Trabajo,Trabajo.otf,18 508 | Ruda,Ruda-Regular.ttf,140 509 | MathJax_Fraktur,MathJax_Fraktur-Bold.otf,0 510 | Silkscreen Expanded,slkscreb.ttf,83 511 | Yanone Kaffeesatz,YanoneKaffeesatz-Bold.otf,293 512 | Porter Sans Block,PorterSansBlock-Regular.ttf,122 513 | GroovyGhosties,groovygh.ttf,112 514 | KacstTitleL,KacstTitleL.ttf,4417 515 | Medula One,MedulaOne-Regular.ttf,144 516 | Rachana,Rachana.ttf,4479 517 | Noto Sans Tai Viet,NotoSansTaiViet-Regular.ttf,910 518 | Orienta,Orienta-Regular.ttf,119 519 | Lekton,Lekton-Italic.ttf,175 520 | MathJax_WinIE6,MathJax_WinIE6-Regular.otf,0 521 | Noto Sans Lao UI,NotoSansLaoUI-Bold.ttf,712 522 | Butterfly Kids,ButterflyKids-Regular.ttf,119 523 | Kranky,Kranky.ttf,136 524 | World of Water,worldofw.ttf,120 525 | Krona One,KronaOne-Regular.ttf,131 526 | Italianno,Italianno-Regular.ttf,157 527 | Underdog,Underdog-Regular.ttf,126 528 | Kreon,Kreon-Bold.ttf,166 529 | Emmentaler-20,emmentaler-20.otf,65 530 | Pinyon Script,PinyonScript-Regular.ttf,160 531 | SeoulHangang Smart B,SeoulHangangB.ttf,26 532 | blsy,blsy.ttf,27 533 | Allura,Allura-Regular.ttf,225 534 | GFS Decker,GFSDecker.otf,46 535 | Koulen,Koulen.ttf,131 536 | Pastor of Muppets,pastorof.ttf,106 537 | Vampiro One,VampiroOne-Regular.ttf,116 538 | Sybil Green,sybig___.ttf,849 539 | CreativeBlock BB,creativeblock.ttf,59 540 | Armata,Armata-Regular.ttf,162 541 | Malache Crunch,malache.ttf,119 542 | Cabin Sketch,CabinSketch-Regular.ttf,153 543 | PT Sans,PT_Sans-Web-BoldItalic.ttf,8561 544 | Vemana2000,Vemana2000.ttf,4565 545 | Kalyani,Kalyani.ttf,294 546 | Petrona,Petrona-Regular.ttf,126 547 | Esteban,Esteban-Regular.ttf,127 548 | Vademecum,vademecu.ttf,125 549 | American Participants,amerp___.ttf,68 550 | Pakenham,pakenham.ttf,127 551 | Hadasim CLM,HadasimCLM-Bold.ttf,143 552 | Astron Boy,astronbi.ttf,154 553 | Lao Muang Don,LaoMuangDon-Regular.ttf,111 554 | Emmentaler-18,emmentaler-18.otf,62 555 | MgOpen Canonica,MgOpenCanonicaRegular.ttf,213 556 | Mufferaw,mufferaw.ttf,861 557 | Fenix,Fenix-Regular.ttf,154 558 | Styrofoam Feelings,styrofoa.ttf,99 559 | Latin Modern Mono Caps,lmmonocaps10-oblique.otf,453 560 | Noto Sans Brahmi,NotoSansBrahmi-Regular.ttf,439 561 | Zeyada,Zeyada.ttf,149 562 | Candal,Candal.ttf,146 563 | CMU Sans Serif,cmunsx.otf,174 564 | Hurry Up,hurryup.ttf,837 565 | Minya,minya.ttf,92 566 | Dustismo,dustismo_bold.ttf,411 567 | MathJax_Size1,MathJax_Size1-Regular.otf,0 568 | Gyparody,gyparody.ttf,138 569 | Galindo,Galindo-Regular.ttf,122 570 | Montaga,Montaga-Regular.ttf,116 571 | Cambo,Cambo-Regular.ttf,135 572 | Pothana2000,Pothana2000.ttf,4654 573 | MassiveRetaliation,massiver.ttf,85 574 | Astron Boy Video,astronbv.ttf,136 575 | Lusitana,Lusitana-Bold.ttf,146 576 | Plasmatic,plasmati.ttf,110 577 | teletext2,teletext.ttf,5 578 | Ovo,Ovo-Regular.ttf,137 579 | Bangers,Bangers.ttf,169 580 | Share Tech,ShareTech-Regular.ttf,118 581 | RoboKoz,robokoz.ttf,81 582 | Latin Modern Roman Caps,lmromancaps10-oblique.otf,458 583 | Simple CLM,SimpleCLM-BoldOblique.ttf,143 584 | Almendra Display,AlmendraDisplay-Regular.ttf,118 585 | Fredoka One,FredokaOne-Regular.ttf,149 586 | Credit Valley,creditvz.ttf,884 587 | Map Of You,mapofyou.ttf,111 588 | Liberation Sans,LiberationSans-BoldItalic.ttf,11659 589 | Fascinate Inline,FascinateInline-Regular.ttf,133 590 | Lewinsky,lewinsky.ttf,125 591 | Plaster,Plaster-Regular.ttf,132 592 | cmex10,cmex10.ttf,2520 593 | Impact,impact.ttf,39579 594 | Fredericka the Great,FrederickatheGreat-Regular.ttf,150 595 | Noto Sans Avestan,NotoSansAvestan-Regular.ttf,445 596 | ocrb9,ocrb9.otf,28 597 | MotoyaLMaru,MTLmr3m.ttf,105 598 | Accanthis ADF Std No2,AccanthisADFStdNo2-Bold.otf,514 599 | VDub,vdub.ttf,127 600 | FreeMono,FreeMonoBoldOblique.otf,6475 601 | Quadaptor,quadapto.ttf,127 602 | Varela,Varela-Regular.ttf,154 603 | MathJax_Size4,MathJax_Size4-Regular.otf,0 604 | Stitch & Bitch,stitch.ttf,0 605 | Trade Winds,TradeWinds-Regular.ttf,129 606 | KacstOffice,KacstOffice.ttf,4414 607 | Noto Sans Tamil UI,NotoSansTamilUI-Bold.ttf,717 608 | Nova Slim,NovaSlim.ttf,140 609 | Iceland,Iceland-Regular.ttf,128 610 | Stardos Stencil,StardosStencil-Bold.ttf,141 611 | Adamina,Adamina-Regular.ttf,139 612 | Noto Sans Armenian,NotoSansArmenian-Bold.ttf,838 613 | Miltonian,Miltonian-Regular.ttf,139 614 | Bitstream Vera Sans Mono,VeraMoBI.ttf,2396 615 | GLYPHICONS Halflings,glyphicons-halflings-regular.ttf,84 616 | Antykwa Poltawskiego Light,antpoltltcond-regular.otf,44 617 | Emmentaler-23,emmentaler-23.otf,56 618 | Creepster Caps,CreepsterCaps-Regular.ttf,114 619 | Bola,bola.ttf,15 620 | Joy Circuit,joycircu.ttf,102 621 | Meddon,Meddon.ttf,143 622 | Marquee Moon,marqueem.ttf,128 623 | Lohit Bengali,Lohit-Bengali.ttf,5683 624 | Gabriela,Gabriela-Regular.ttf,132 625 | Aller,aller-bold.ttf,345 626 | Angostura,angostur.ttf,89 627 | Chicle,Chicle-Regular.ttf,125 628 | Share-BoldItalicExp,Share-BoldItalicExp.ttf,35 629 | GFS Didot,GFSDidot.otf,862 630 | Henny Penny,HennyPenny-Regular.ttf,141 631 | Nova Flat,NovaFlat.ttf,142 632 | MScore1,mscore1-20.ttf,35 633 | Museum Bible,MuseumBible.otf,38 634 | Engagement,Engagement-Regular.ttf,140 635 | Iwona Heavy,IwonaHeavy-Regular.otf,33 636 | Keania One,KeaniaOne-Regular.ttf,121 637 | MathJax_Caligraphic,MathJax_Caligraphic-Bold.otf,0 638 | Serafettin Cartoon Condensed,SerafettinCartoonCondensed-Italic.ttf,28 639 | Highway to Heck,heck.ttf,115 640 | TeX Gyre Termes,texgyretermes-regular.otf,1172 641 | Merriweather Sans,MerriweatherSans-Italic.ttf,275 642 | ClementePDak,ClementePDak-SemiBold.ttf,54 643 | GFS Ambrosia,GFSAmbrosia.otf,47 644 | Quantity,quantity.ttf,75 645 | Julee,Julee-Regular.ttf,124 646 | Noto Sans Hanunoo,NotoSansHanunoo-Regular.ttf,439 647 | Switching and Effects,switchin.ttf,74 648 | Quattrocento Roman,Quattrocento-Regular.ttf,50 649 | Plastic Bag,plasticb.ttf,119 650 | Share Tech Mono,ShareTechMono-Regular.ttf,119 651 | CCIcons,ccicons.otf,24 652 | Sniglet,Sniglet-Regular.ttf,204 653 | IPAexGothic,ipaexg.ttf,328 654 | Hanalei,Hanalei-Regular.ttf,123 655 | Bentham,Bentham-Regular.ttf,152 656 | Bendable BRK,bendable.ttf,131 657 | Neucha,Neucha.ttf,176 658 | Mountains of Christmas,MountainsofChristmas-Regular.ttf,166 659 | Elsie Swash Caps,ElsieSwashCaps-Regular.ttf,132 660 | Arnprior,arnprior.ttf,851 661 | Minisystem,minisyst.ttf,121 662 | Ethiopic WashRa Bold,washrab.ttf,19 663 | Earwig Factory,earwigfa.ttf,905 664 | Almonte Woodgrain,almontew.ttf,160 665 | Zero Threes,zerothre.ttf,106 666 | Cyrvetica,cyrvetic.ttf,19 667 | Lao Sans Pro,LaoSansPro-Regular.ttf,104 668 | Comfortaa,Comfortaa_Bold-webfont.ttf,1270 669 | Nosifer,Nosifer-Regular.ttf,120 670 | Averia Sans Libre,AveriaSansLibre-LightItalic.ttf,149 671 | Graduate,Graduate-Regular.ttf,131 672 | Sad Films,sadfilms.ttf,97 673 | Samyak Oriya,Samyak-Oriya.ttf,142 674 | Miss Fajardose,MissFajardose-Regular.ttf,137 675 | Give You Glory,GiveYouGlory.ttf,148 676 | Viga,Viga-Regular.ttf,146 677 | Nova Script,NovaScript.ttf,141 678 | BPG Ucnobi GPL&GNU,BPG_Ucnobi_GPL&GNU.otf,0 679 | Tofu,tofu.ttf,72 680 | KanjiStrokeOrders,KanjiStrokeOrders_v3.000.ttf,217 681 | Baveuse,baveuse.ttf,871 682 | ClementePDan,ClementePDan-BoldItalic.ttf,50 683 | Heavy Heap,heavyhea.ttf,1223 684 | Myanmar3,mm3.ttf,73 685 | Letter Set B,letterb.ttf,116 686 | Samyak Malayalam,Samyak-Malayalam.ttf,101 687 | Noto Sans Devanagari UI,NotoSansDevanagariUI-Bold.ttf,704 688 | Bowlby One,BowlbyOne-Regular.ttf,143 689 | Phetsarath,Phetsarath-Regular_hinted.ttf,137 690 | Luckiest Guy,LuckiestGuy.ttf,151 691 | Lancelot,Lancelot-Regular.ttf,137 692 | Condiment,Condiment-Regular.ttf,130 693 | Just Another Hand,JustAnotherHand.ttf,158 694 | ClementePDac,ClementePDac-ExtraLight.ttf,53 695 | blex,blex.ttf,28 696 | McLaren,McLaren-Regular.ttf,126 697 | Persian Modern,persian-modern-bold.otf,32 698 | Homemade Apple,HomemadeApple.ttf,159 699 | Droid Sans Georgian,DroidSansGeorgian.ttf,4767 700 | Amethysta,Amethysta-Regular.ttf,119 701 | Sunshiney,Sunshiney.ttf,127 702 | Essays1743,Essays1743.ttf,132 703 | Latin Modern Mono Light Cond,lmmonoltcond10-oblique.otf,463 704 | Astron Boy Wonder,astronbw.ttf,121 705 | ClementePDao,ClementePDao-Heavy.ttf,54 706 | Embargo,embargo.ttf,125 707 | Cranberry Gin,cranberr.ttf,138 708 | Mouse Memoirs,MouseMemoirs-Regular.ttf,131 709 | Maven Pro,MavenPro-Bold-VTT.ttf,261 710 | Christian Participants,chrip___.ttf,69 711 | ZeroHour,zerohour.ttf,114 712 | Museum Foundry,MuseumFoundry.otf,48 713 | Mr De Haviland,MrDeHaviland-Regular.ttf,123 714 | Ouijadork,ouijador.ttf,77 715 | Troll Bait,trollbai.ttf,99 716 | Thiamine,thiamine.ttf,106 717 | Andada,Andada-Italic.ttf,165 718 | Bree Serif,BreeSerif-Regular.ttf,267 719 | Changa,Changa-Regular.ttf,120 720 | NanumGothicCoding,NanumGothic_Coding.ttf,202 721 | Entypo,entypo.ttf,131 722 | Inder,Inder-Regular.ttf,130 723 | Oranienbaum,Oranienbaum-Regular.ttf,225 724 | Oxygen,Oxygen-Light.ttf,391 725 | Sudbury Basin,sudbury.ttf,115 726 | Laconic,Laconic_Light.otf,41 727 | MdSymbol,MdSymbol-Bold.otf,31 728 | Mystery Quest,MysteryQuest-Regular.ttf,120 729 | Anglepoise Lampshade,anglepoi.ttf,139 730 | Sansita One,SansitaOne.ttf,167 731 | Droid Sans Hebrew,DroidSansHebrew-Bold.ttf,5022 732 | Stam Ashkenaz CLM,StamAshkenazCLM.ttf,128 733 | Betsy Flanagan,betsy.ttf,174 734 | Tlwg Typo,TlwgTypo-Bold.ttf,4596 735 | Cabin,Cabin-RegularItalic.otf,809 736 | LKLUG,lklug.ttf,4821 737 | KacstArt,KacstArt.ttf,4420 738 | Gentium Plus Compact,GentiumPlusCompact-I.ttf,23 739 | Andale Mono,andalemo.ttf,11275 740 | Arbutus Slab,ArbutusSlab-Regular.ttf,133 741 | UnShinmun,UnShinmun.ttf,59 742 | Tribun ADF Std,TribunADFStd-Italic.ttf,65 743 | Effloresce,efflbi__.ttf,170 744 | Urkelian Television Dynasty,urkelian.ttf,103 745 | MnSymbol,MnSymbol6.otf,79 746 | Gruppo,Gruppo-Regular.ttf,158 747 | Kirsty Ink,kirstyin.ttf,122 748 | Walshes Outline,walsheso.ttf,79 749 | M+ 1c,mplus-1c-regular.ttf,0 750 | Chenla,Chenla.ttf,133 751 | Dustismo Roman,Dustismo_Roman_Bold.ttf,439 752 | Noto Sans Hebrew,NotoSansHebrew-Bold.ttf,841 753 | Petit Formal Script,PetitFormalScript-Regular.ttf,143 754 | Share-BoldOSF,Share-BoldOSF.ttf,34 755 | Trebuchet MS,trebucbi.ttf,39801 756 | Gumtuckey,gumtucke.ttf,74 757 | Source Code Pro,SourceCodePro-Light.ttf,5510 758 | IM FELL French Canon,IMFeFCit28P.ttf,159 759 | IPAPMincho,ipamp.ttf,437 760 | Khmer OS Fasthand,KhmerOS_fasthand.ttf,105 761 | Phaistos,Phaistos.otf,25 762 | Unna,Unna-Regular.ttf,130 763 | Amarante,Amarante-Regular.ttf,124 764 | Noto Sans Cypriot Syllabary,NotoSansCypriotSyllabary-Regular.ttf,103 765 | OdorMeanChey,OdorMeanChey.ttf,136 766 | Economica,Economica-Italic.ttf,178 767 | Cinzel,Cinzel-Bold.ttf,210 768 | Droid Sans Arabic,DroidSansArabic.ttf,972 769 | jsMath-cmmi10,jsMath-cmmi10.ttf,396 770 | Irish Growler,IrishGrowler.ttf,129 771 | Cicle,Cicle Fina.ttf,107 772 | Squealer,squealer.ttf,181 773 | Sigmar One,SigmarOne.ttf,142 774 | Mrs Sheppards,MrsSheppards-Regular.ttf,129 775 | Jingopop,jingopop.ttf,78 776 | Contrail One,ContrailOne-Regular.ttf,137 777 | Chess Alpha Diagram,AlphaDia.otf,133 778 | Kameron,Kameron-Bold.ttf,155 779 | Clicker Script,ClickerScript-Regular.ttf,142 780 | HanaMinA,HanaMinA.ttf,48 781 | Octoville,octovill.ttf,111 782 | [z] Arista,[z] Arista.ttf,73 783 | New Rocker,NewRocker-Regular.ttf,126 784 | Aegyptus,Aegyptus.otf,358 785 | RiordonFancy,RiordonFancy.ttf,46 786 | Moul,Moul.ttf,133 787 | New Brilliant,newbrill.ttf,140 788 | Conakry,Conakry.ttf,36 789 | AirCut,aircut.ttf,126 790 | Yesteryear,Yesteryear-Regular.ttf,142 791 | Fluoride Beings,fluoride.ttf,118 792 | Braeside Lumberboy,braeside.ttf,100 793 | Covered By Your Grace,CoveredByYourGrace.ttf,165 794 | Stam Sefarad CLM,StamSefaradCLM.ttf,129 795 | ClementePDad,ClementePDad-ExtraLightItal.ttf,53 796 | Habibi,Habibi-Regular.ttf,127 797 | UnJamoDotum,UnJamoDotum.ttf,57 798 | Permanent Marker,PermanentMarker.ttf,308 799 | Bitter,Bitter-Regular.ttf,291 800 | IPAPGothic,ipagp.ttf,439 801 | Share-TechMono,ShareTechMono-Regularo.ttf,47 802 | Share-TechExp,ShareTechExp-Regular.ttf,32 803 | Volkhov,Volkhov-Bold.ttf,150 804 | Shadows Into Light Two,ShadowsIntoLightTwo-Regular.ttf,155 805 | BaileysCar,baileysc.ttf,142 806 | Pompiere ,Pompiere-Regular.ttf,154 807 | SeoulHangang CL,SeoulHangangCondensed-Light.ttf,100 808 | SeoulHangang CM,SeoulHangangCondensed-Medium.ttf,100 809 | Aubrey,Aubrey-Regular.ttf,161 810 | Nanum Pen,NanumPenScript-Regular.ttf,112 811 | Antykwa Poltawskiego,antpoltexpd-regular.otf,44 812 | Kurier Cond Medium,KurierCondMedium-Regular.otf,37 813 | Angkor,Angkor.ttf,130 814 | STIXSizeFourSym,STIXSizFourSymReg.otf,5296 815 | Deftone Stylus,deftone.ttf,220 816 | Andika Basic,AndBasR.ttf,43 817 | Calligraffitti,Calligraffitti-Regular.ttf,134 818 | Sue Ellen Francisco ,SueEllenFrancisco.ttf,147 819 | Basic,Basic-Regular.ttf,125 820 | Prime Minister of Canada,primemin.ttf,131 821 | Miriam CLM,MiriamCLM-Book.ttf,180 822 | Burnstown Dam,burnstow.ttf,894 823 | esint10,esint10.ttf,2426 824 | jsMath-cmex10,jsMath-cmex10.ttf,390 825 | Port Lligat Sans,PortLligatSans-Regular.ttf,121 826 | GFS DidotClassic,GFSDidot_Classic.otf,43 827 | PT Serif Caption,PT_Serif-Caption-Web-Italic.ttf,7240 828 | Echelon Condensed,echeci__.ttf,107 829 | Arvo,Arvo-BoldItalic.ttf,426 830 | DejaVu LGC Sans,DejaVuLGCSans-Bold.ttf,148 831 | Quinoline,quinolin.ttf,71 832 | Alike Angular,AlikeAngular-Regular.ttf,128 833 | Dr Sugiyama,DrSugiyama-Regular.ttf,137 834 | Berylium,berylium.ttf,888 835 | GFS Complutum,GFSPolyglot.otf,558 836 | AnjaliOldLipi,AnjaliOldLipi.ttf,310 837 | Zekton Dots,zektondo.ttf,103 838 | Baltar,baltar.ttf,139 839 | Crystal Radio Kit,crystalr.ttf,157 840 | British Participants,britp___.ttf,67 841 | Goha-Tibeb Zemen,GohaTibebZemen.ttf,652 842 | Voltaire,Voltaire-Regular.ttf,134 843 | BrettFont,BrettFont1.1.ttf,47 844 | Strait,Strait-Regular.ttf,125 845 | Cuomotype,cuomotyp.ttf,146 846 | KacstLetter,KacstLetter.ttf,4416 847 | Sonsie One,SonsieOne-Regular.ttf,132 848 | Share-Tech,ShareTech-Regularo.ttf,36 849 | IPAexMincho,ipaexm.ttf,325 850 | Cola Participants,colap___.ttf,68 851 | Planet Benson 2,planetbe.ttf,867 852 | Junge,Junge-Regular.ttf,131 853 | Righteous,Righteous-Regular.ttf,166 854 | Good Times,goodtime.ttf,582 855 | Sail,Sail-Regular.ttf,174 856 | Musica,Musica.otf,349 857 | Jigsaw Trouserdrop,jigsawtr.ttf,79 858 | Cyklop,cyklop-regular.otf,19 859 | PowerlineSymbols,PowerlineSymbols.otf,141 860 | OCRA,tarzeau_ocr_a.ttf,119 861 | Die Nasty,dienasty.ttf,262 862 | Spinnaker,Spinnaker-Regular.ttf,132 863 | Marko One,MarkoOne-Regular.ttf,129 864 | Strenuous,strenuou.ttf,127 865 | FreeSerif,FreeSerifItalic.ttf,6515 866 | Verdana,verdanai.ttf,39856 867 | Jellyka - Estrya's Handwriting,Jellyka_Estrya_Handwriting.ttf,0 868 | Carbon Phyber,carbonph.ttf,129 869 | Federo,Federo-Regular.ttf,137 870 | Consolas,consolaz.ttf,33347 871 | Khmer OS Freehand,KhmerOS_freehand.ttf,100 872 | Akkadian,Akkadian.otf,362 873 | Philokalia,Philokalia-Regular.otf,85 874 | Paprika,Paprika-Regular.ttf,125 875 | Glegoo,Glegoo-Regular.ttf,148 876 | Noto Sans Coptic,NotoSansCoptic-Regular.ttf,452 877 | cmb10,cmb10.ttf,56 878 | Fontdiner Swanky,FontdinerSwanky.ttf,131 879 | Rina,rina.ttf,130 880 | kacstPen,kacstPen.ttf,46 881 | Monofonto,monofont.ttf,168 882 | MgOpen Cosmetica,MgOpenCosmeticaBoldOblique.ttf,202 883 | Inika,Inika-Regular.ttf,130 884 | GFS Theokritos,GFSTheokritos.otf,320 885 | Junction,junction.otf,95 886 | SeoulNamsan Smart B,SeoulNamsanB.ttf,24 887 | Ethiopic Fantuwua,fantuwua.ttf,23 888 | Maiden Orange,MaidenOrange.ttf,146 889 | femkeklaver,femkeklaver.ttf,52 890 | Razor Keen,razorkee.ttf,110 891 | Anorexia,Anorexia.ttf,13 892 | Museum,MuseumSixty.otf,44 893 | Margarine,Margarine-Regular.ttf,121 894 | Euphoria Script,EuphoriaScript-Regular.ttf,155 895 | Superglue,superglu.ttf,107 896 | STIXGeneral,STIXGeneral.ttf,5524 897 | Blue Highway Linocut,bluehigl.ttf,903 898 | Degrassi,degrassi.ttf,154 899 | Rambla,Rambla-Regular.ttf,165 900 | Dark Garden,DarkGarden.ttf,29 901 | Nosifer Caps,NosiferCaps-Regular.ttf,122 902 | Umpush,Umpush.ttf,4672 903 | Comic Sans MS,comic.ttf,39749 904 | Pyrite,pyrite.ttf,78 905 | MusiSync,MusiSync.ttf,62 906 | Sketch Block,Sketch_Block.ttf,151 907 | ClementePDai,ClementePDai-Regular.ttf,62 908 | Romanesco,Romanesco-Regular.ttf,123 909 | Frank Ruehl CLM,FrankRuehlCLM-MediumOblique.ttf,187 910 | Iceberg,Iceberg-Regular.ttf,122 911 | Backspacer Tribute To Pearl Jam,Backspacer tribute to Pearl Jam.ttf,71 912 | Crushed,Crushed.ttf,146 913 | Social Logos,Social Logos.ttf,57 914 | Model Worker,modelwor.ttf,101 915 | Alexander,Alexander.otf,368 916 | Unsteady Oversteer,unsteady.ttf,141 917 | Clara,Clara-Regular.ttf,122 918 | Hand Of Sean (Demo),Hand_Of_Sean_Demo.ttf,0 919 | IM FELL English SC,IMFeENsc28P.ttf,163 920 | Wallpoet,Wallpoet-Regular.ttf,135 921 | Dhyana,Dhyana-Regular.ttf,126 922 | KacstScreen,KacstScreen.ttf,4435 923 | Lohit Devanagari,Lohit-Devanagari.ttf,4982 924 | Copse,Copse-Regular-TTF.ttf,175 925 | Arial Black,ariblk.ttf,38672 926 | Playball,Playball-Regular.ttf,190 927 | Droid Sans Fallback,DroidSansFallbackFull.ttf,5423 928 | Snidely,snidely_.ttf,83 929 | Corben,Corben-Bold.ttf,134 930 | Coolvetica,coolveti.ttf,199 931 | Latin Modern Math,latinmodern-math.otf,1350 932 | Swanky and Moo Moo,SwankyandMooMoo.ttf,147 933 | Union City Blue,unioncit.ttf,116 934 | Mate SC,MateSC-Regular.ttf,123 935 | Ridiculous,martyb_-_Ridiculous.ttf,7 936 | ocrb10,ocrb10.otf,53 937 | Radley,Radley-Regular.ttf,152 938 | Engebrechtre,engeregu.ttf,170 939 | Jacques Francois Shadow,JacquesFrancoisShadow-Regular.ttf,120 940 | MgOpen Modata,MgOpenModataBold.ttf,200 941 | Credit River,creditri.ttf,136 942 | Latin Modern Roman Slanted,lmromanslant17-regular.otf,481 943 | Engebrechtre Expanded,engeexpa.ttf,149 944 | Nasal,nasal.ttf,93 945 | Delius Swash Caps,DeliusSwashCaps-Regular.ttf,141 946 | Gentium,GenI102.ttf,1877 947 | Damion,Damion-Regular.ttf,185 948 | Six Caps,SixCaps.ttf,161 949 | First Blind,firstbli.ttf,80 950 | jsMath-cmti10,jsMath-cmti10.ttf,395 951 | Quantico,Quantico-Bold.ttf,153 952 | Fresca,Fresca-Regular.ttf,124 953 | Gunplay 3D,gunplay3.ttf,164 954 | Metal Mania,MetalMania-Regular.ttf,124 955 | Titan One,TitanOne-Regular.ttf,134 956 | Milonga,Milonga-Regular.ttf,123 957 | Dangrek,Dangrek.ttf,132 958 | Noto Sans Malayalam UI,NotoSansMalayalamUI-Bold.ttf,218 959 | Caudex,Caudex-Bold.ttf,163 960 | Fauna One,FaunaOne-Regular.ttf,132 961 | Noto Sans Lydian,NotoSansLydian-Regular.ttf,448 962 | Dyuthi,Dyuthi.ttf,142 963 | Hermeneus One,HermeneusOne-Regular.ttf,120 964 | Karma Suture,karmasut.ttf,90 965 | Tsampa Keyboard,bo.ttf,7 966 | Ubuntu Monospaced,UbuntuMono-BI-hinting.ttf,35 967 | Gillius ADF No2,GilliusADFNo2-Bold.otf,552 968 | Latin Modern Mono Light,lmmonolt10-oblique.otf,460 969 | Autour One,AutourOne-Regular.ttf,135 970 | Talvez assim,PintassilgoPrints_-_Talvez_Assim.ttf,14 971 | TharLon,Tharlon-Regular.ttf,124 972 | Cutive,Cutive-Regular.ttf,131 973 | Short Stack,ShortStack-Regular.ttf,140 974 | Goblin One,GoblinOne.ttf,129 975 | Noto Sans Bengali UI,NotoSansBengaliUI-Regular.ttf,220 976 | Quintessential,Quintessential-Regular.ttf,178 977 | Noto Sans Carian,NotoSansCarian-Regular.ttf,448 978 | Anaheim,Anaheim-Regular.ttf,134 979 | Euphorigenic,euphorig.ttf,173 980 | Ubuntu,Ubuntu-Bold.ttf,5602 981 | Sancreek,Sancreek-Regular.ttf,131 982 | SeoulNamsan CM,SeoulNamsanCondensed-Medium.ttf,98 983 | Allerta,AllertaStencil-Regular-VTT.ttf,158 984 | Edrip,Edrip-BoldItalic.ttf,72 985 | Corbel,corbelb.ttf,33243 986 | Johnny Fever,johnnyfe.ttf,77 987 | Museo Slab,museo_slab_500-webfont.ttf,131 988 | KacstQurn,KacstQurn.ttf,8801 989 | Tahoma,tahoma.ttf,36972 990 | Denemo,Denemo.ttf,79 991 | Exo 2,Exo2-ThinItalic.ttf,781 992 | Green Fuz,greenfuz.ttf,173 993 | Khmer OS Siemreap,KhmerOS_siemreap.ttf,100 994 | Impact Label,Impact Label.ttf,128 995 | Linux Biolinum O,LinBiolinum_R.otf,907 996 | Montserrat Subrayada,MontserratSubrayada-Regular.ttf,138 997 | Gentium Book Basic,GenBkBasB.ttf,9228 998 | Latin Modern Sans,lmsans8-regular.otf,487 999 | gargi,gargi.ttf,4490 1000 | Univox,univox.ttf,131 1001 | NovaMono,NovaMono.ttf,150 1002 | Lao Muang Khong,LaoMuangKhong-Regular.ttf,102 1003 | InkboyFont,inkboy_ofl.ttf,17 1004 | Racing Sans One,RacingSansOne-Regular.ttf,153 1005 | Alike,Alike-Regular.ttf,136 1006 | Gorditas,Gorditas-Regular.ttf,127 1007 | jsMath-cmsy10,jsMath-cmsy10.ttf,394 1008 | Shojumaru,Shojumaru-Regular.ttf,134 1009 | Open Sans Hebrew,OpenSansHebrew-BoldItalic.ttf,156 1010 | Colourbars,colourba.ttf,133 1011 | 28 Days Later,28 Days Later.ttf,261 1012 | Cedarville Cursive,Cedarville-Cursive.ttf,143 1013 | Worthless Bum,worthles.ttf,73 1014 | OpenDyslexic,OpenDyslexic-Italic.otf,220 1015 | Kurier Cond Heavy,KurierCondHeavy-Italic.otf,37 1016 | Stereofidelic,stereofi.ttf,865 1017 | Edmunds,edmunds.ttf,168 1018 | News Cycle,NewsCycle-Regular.ttf,170 1019 | VL Gothic,VL-Gothic-Regular.ttf,981 1020 | Deluxe Ducks,deluxedu.ttf,97 1021 | Belleza,Belleza-Regular.ttf,126 1022 | Piedra,Piedra-Regular.ttf,117 1023 | Barbatrick,barbatri.ttf,135 1024 | FFF Tusj,FFF Tusj.ttf,196 1025 | Airmole Shaded,airmoles.ttf,128 1026 | Neuropol,neuropol.ttf,962 1027 | Freehand,Freehand.ttf,308 1028 | Mako,Mako-Regular.ttf,138 1029 | ChopinScript,ChopinScript.ttf,312 1030 | Lohit Nepali,Lohit-Nepali.ttf,221 1031 | Marck Script,MarckScript-Regular.ttf,161 1032 | Send Cash,sendcash.ttf,69 1033 | TuxPaint Georgian,ka.ttf,17 1034 | Cherry Cream Soda,CherryCreamSoda.ttf,150 1035 | Pagul,Pagul.ttf,59 1036 | GFS Olga,GFSOlga.otf,627 1037 | Paint Boy,paintboy.ttf,79 1038 | Nobile,nobile_bold_italic-webfont.ttf,330 1039 | Antykwa Torunska,AntykwaTorunskaMed-Italic.otf,47 1040 | Raleway Dots ,RalewayDots-Regular.ttf,140 1041 | ABeeZee,ABeeZee-Regular.ttf,170 1042 | German Participants,germp___.ttf,79 1043 | Nafees Pakistani Naskh,NafeesPakistaniNaskh.ttf,6 1044 | FandolHei,FandolHei-Regular.otf,18 1045 | FontAwesome,fontawesome-webfont.ttf,1276 1046 | Baekmuk Dotum,dotum.ttf,112 1047 | Linux Biolinum O ,LinBiolinum_RBO.otf,22 1048 | KacstOne,KacstOne.ttf,4490 1049 | STOMP_Zeroes,zeroes__.ttf,0 1050 | BenchNine,BenchNine-Regular.ttf,163 1051 | Changa One,ChangaOne-Regular.ttf,151 1052 | Butcherman Caps,ButchermanCaps-Regular.ttf,115 1053 | STIXIntegralsUp,STIXIntUpReg.otf,5283 1054 | Italiana,Italiana-Regular.ttf,128 1055 | Karla Tamil Upright,KarlaTamilUpright-Bold.ttf,108 1056 | eufm10,eufm10.ttf,2429 1057 | Sloe Gin Rickey,sloegin.ttf,104 1058 | Nova Square,NovaSquare.ttf,148 1059 | Kicking Limos,kickingl.ttf,156 1060 | Bitstream Vera Serif,VeraSeBd.ttf,1755 1061 | Droid Sans Tamil,DroidSansTamil-Regular.ttf,447 1062 | ShadowedBlack,ShadowedBlack.ttf,51 1063 | UnJamoSora,UnJamoSora.ttf,58 1064 | Lockergnome,lockergn.ttf,122 1065 | HydrogenWhiskey,hydrogen.ttf,162 1066 | Holy Smokes,holysmok.ttf,84 1067 | Times New Roman,timesbi.ttf,39768 1068 | PaperCuts 2.0,PaperCuts20.ttf,0 1069 | Spicy Rice,SpicyRice-Regular.ttf,146 1070 | Sansation Light,Sansation-Light.ttf,281 1071 | Top Bond,topbond.ttf,67 1072 | Fragile Bombers,fragileb.ttf,124 1073 | Titillium Web,TitilliumWeb-ExtraLight.ttf,309 1074 | GFS Nicefore,GFSNicefore.otf,47 1075 | Crete Round,CreteRound-Italic.otf,187 1076 | UnDinaru,UnDinaru.ttf,1811 1077 | Alfa Slab One,AlfaSlabOne-Regular.ttf,207 1078 | Norican,Norican-Regular.ttf,132 1079 | Elsie,Elsie-Regular.ttf,135 1080 | MutantE,mutante.ttf,31 1081 | Samyak Gujarati,Samyak-Gujarati.ttf,213 1082 | Sedan SC,SedanSC-Regular.ttf,119 1083 | Bad Script,BadScript-Regular.ttf,134 1084 | Dawning of a New Day,DawningofaNewDay.ttf,174 1085 | Fjord,FjordOne-Regular.ttf,140 1086 | Playfair Display,PlayfairDisplay-Regular.ttf,325 1087 | Yawnovision,yawnovis.ttf,74 1088 | Coming Soon,ComingSoon-TTX.ttf,165 1089 | Gunplay,gunplay.ttf,260 1090 | Amiri,Amiri-Slanted.ttf,431 1091 | CMU Concrete,cmunoti.otf,138 1092 | Noto Sans Lao,NotoSansLao-Bold.ttf,854 1093 | Rosario,Rosario-Regular.ttf,168 1094 | STIX Math,STIXMath-Regular.otf,578 1095 | Spongy,spongy.ttf,97 1096 | Macondo,Macondo-Regular.ttf,121 1097 | Lustria,Lustria-Regular.ttf,132 1098 | Averia Serif Libre,AveriaSerifLibre-Regular.ttf,146 1099 | Motorcade,motorcad.ttf,124 1100 | Electrolize,Electrolize-Regular.ttf,131 1101 | Open Sans Condensed,OpenSans-CondBold.ttf,562 1102 | Mongolian Title,mngltitleotf.ttf,10 1103 | Kurier,Kurier-Italic.otf,57 1104 | OCR-B,ocrbb.ttf,74 1105 | Lemon,Lemon-Regular.ttf,199 1106 | Nanum Pen Script,NanumPen.ttf,7469 1107 | Atomic Age,AtomicAge-Regular.ttf,130 1108 | Bilbo,Bilbo-Regular.ttf,129 1109 | Open Sans,OpenSans-SemiboldItalic.ttf,6049 1110 | MarVoSym,marvosym.ttf,330 1111 | Original Surfer,OriginalSurfer-Regular.ttf,133 1112 | Turkish Participants,turkp___.ttf,71 1113 | Mate,Mate-Italic.ttf,141 1114 | Nova Cut,NovaCut.ttf,136 1115 | cmsy10,cmsy10.ttf,2519 1116 | Souliyo Unicode,Souliyo-Regular.ttf,122 1117 | Duality,duality_.ttf,169 1118 | Nixie One,NixieOne-Regular.ttf,178 1119 | Kantumruy Regular,Kantumruy-Light.ttf,58 1120 | Droid Sans Armenian,DroidSansArmenian.ttf,4753 1121 | Khmer OS Muol Light,KhmerOS_muollight.ttf,107 1122 | UnDotum,UnDotum.ttf,2009 1123 | Satisfy,Satisfy-Regular.ttf,172 1124 | UnJamoNovel,UnJamoNovel.ttf,56 1125 | FonetikaDaniaPallae,FonetikaDaniaPallaeBold.ttf,34 1126 | IM FELL DW Pica SC,IMFePIsc28P.ttf,142 1127 | Radios in Motion Hard,radiohar.ttf,111 1128 | Sazanami Gothic,sazanami-gothic.ttf,201 1129 | Suruma,Suruma.ttf,38 1130 | IM FELL French Canon SC,IMFeFCsc28P.ttf,143 1131 | Electorate Blue,electblu.ttf,96 1132 | cmr10,cmr10.ttf,2528 1133 | Yytrium Dioxide,yytriumd.ttf,96 1134 | Share-ItalicOSF,Share-ItalicOSF.ttf,31 1135 | Bubbler One,BubblerOne-Regular.ttf,132 1136 | GFS Bodoni,GFSBodoniBoldIt.otf,23 1137 | Acme,Acme-Regular.ttf,135 1138 | Abril Fatface,AbrilFatface-Regular.ttf,203 1139 | Asana Math,Asana-Math.ttf,596 1140 | Ennobled Pet,ennobled.ttf,136 1141 | Tangerine,Tangerine_Bold.ttf,345 1142 | Iwona Cond Medium,IwonaCondMedium-Italic.otf,35 1143 | Budmo Jiggler,budmob.ttf,213 1144 | Webster World,websterw.ttf,86 1145 | UnifrakturCook,UnifrakturCook-Bold.ttf,148 1146 | Inconsolata,Inconsolata.ttf,1687 1147 | Noto Sans Telugu UI,NotoSansTeluguUI-Regular.ttf,227 1148 | Rosarivo,Rosarivo-Italic.ttf,144 1149 | Imperator,Imperator.ttf,73 1150 | Kite One,KiteOne-Regular.ttf,125 1151 | Biting My Nails,biting.ttf,154 1152 | Ruge Boogie,RugeBoogie-Regular.ttf,121 1153 | Edmunds Distressed,edmundis.ttf,146 1154 | Vast Shadow,VastShadow-Regular.ttf,147 1155 | Mingzat,Mingzat-R.ttf,585 1156 | Oleo Script Swash Caps,OleoScriptSwashCaps-Bold.ttf,132 1157 | Miriam Mono CLM,MiriamMonoCLM-Bold.ttf,200 1158 | Ethiopic Zelan,zelan.ttf,17 1159 | Mail Ray Stuff,mailrays.ttf,145 1160 | Geostar Fill,GeostarFill-Regular.ttf,133 1161 | Kurier Cond Light,KurierCondLight-Italic.otf,28 1162 | Novecento wide,novecento-bold.ttf,22 1163 | Eagle Lake,EagleLake-Regular.ttf,125 1164 | FandolFang,FandolFang-Regular.otf,13 1165 | Noto Sans Kharoshthi,NotoSansKharoshthi-Regular.ttf,438 1166 | Biting My Nails Outline,bitingou.ttf,105 1167 | FonetikaDaniaIwonae,FonetikaDaniaIwonaeBold.ttf,35 1168 | Skranji,Skranji-Regular.ttf,125 1169 | Velvenda Megablack,velvenda.ttf,120 1170 | CBM,CBM.ttf,13 1171 | BPG DejaVu Sans 2011 GNU-GPL,BPG_DejaVu_Sans_2011_GPL-GNU.ttf,94 1172 | Diplomata SC,DiplomataSC-Regular.ttf,122 1173 | LuckyApe,luckyape.ttf,105 1174 | Bali Galang,aksarabaligalang.ttf,29 1175 | Forgotten Futurist College,forgotty.ttf,69 1176 | Impact Label Reversed,Impact Label Reversed.ttf,119 1177 | Shadows Into Light,ShadowsIntoLight.ttf,198 1178 | So Run Down,sorundow.ttf,78 1179 | ClementePDah,ClementePDah-BookItalic.ttf,50 1180 | Hello Larry,hellolar.ttf,126 1181 | Typodermic,typoderm.ttf,140 1182 | MedievalSharp,MedievalSharp.ttf,145 1183 | Sofia,Sofia-Regular.ttf,185 1184 | Biometric Joe,biometri.ttf,116 1185 | Tribun ADF Std Cond,TribunADFStd-Cond.ttf,29 1186 | Days One,DaysOne-Regular.ttf,140 1187 | Borg9,borg9.ttf,142 1188 | Gladiator,glb12.ttf,5 1189 | Annie Use Your Telescope,AnnieUseYourTelescope.ttf,163 1190 | Noto Sans Vai,NotoSansVai-Regular.ttf,445 1191 | Rockets,Rockets.ttf,18 1192 | STIXSizeTwoSym,STIXSizTwoSymReg.ttf,5306 1193 | Heuristica,Heuristica-Regular.ttf,155 1194 | GentiumAlt,GentiumAlt-I.ttf,1853 1195 | Shanti,Shanti-Regular.ttf,129 1196 | Jim Nightshade,JimNightshade-Regular.ttf,136 1197 | Doulos SIL,DoulosSILR.ttf,255 1198 | Baveuse 3D,baveuse3.ttf,132 1199 | Gillius ADF No2 Cond,GilliusADFNo2Cond-BoldItalic.otf,79 1200 | Crafty Girls,CraftyGirls.ttf,145 1201 | Plain Cred 1978,plai1978.ttf,68 1202 | Archivo Black,ArchivoBlack-Regular.ttf,137 1203 | Caesar Dressing,CaesarDressing-Regular.ttf,122 1204 | Noto Sans Old South Arabian,NotoSansOldSouthArabian-Regular.ttf,450 1205 | Anklepants,anklepan.ttf,145 1206 | Kredit,kredit1.ttf,852 1207 | DejaVu Sans,DejaVuSansCondensed-BoldOblique.ttf,15611 1208 | Andada SC,AndadaSC-BoldItalic.ttf,153 1209 | Droid Sans Ethiopic,DroidSansEthiopic-Regular.ttf,4843 1210 | Silkscreen,slkscrb.ttf,102 1211 | Noto Sans Phoenician,NotoSansPhoenician-Regular.ttf,450 1212 | Courgette,Courgette-Regular.ttf,159 1213 | Unispace,unispace.ttf,191 1214 | Passion One,PassionOne-Bold.ttf,199 1215 | Monofett,Monofett.ttf,136 1216 | Blue Highway D Type,bluehigd.ttf,876 1217 | Beteckna,Beteckna.otf,47 1218 | Redacted Script,RedactedScript-Regular.ttf,133 1219 | TeX Gyre Pagella Math,texgyrepagella-math.otf,418 1220 | Ethiopic Hiwua,hiwua.ttf,18 1221 | Emmentaler-11,emmentaler-11.otf,60 1222 | Birdland Aeroplane,birdland.ttf,89 1223 | Effloresce Antique,efflanti.ttf,151 1224 | Noto Sans Osmanya,NotoSansOsmanya-Regular.ttf,449 1225 | Arapey,Arapey-Regular.ttf,134 1226 | UnVada,UnVada.ttf,63 1227 | Rock Salt,RockSalt.ttf,188 1228 | msam10,msam10.ttf,2466 1229 | YonderRecoil,yonderre.ttf,103 1230 | Vollkorn,Vollkorn-Bold.ttf,178 1231 | M+ 2c,mplus-2c-black.ttf,0 1232 | Electorate Boogaloo,electbgu.ttf,98 1233 | Flavors,Flavors-Regular.ttf,129 1234 | BonvenoCF,BonvenoCF-Light.ttf,49 1235 | Arundina Sans Mono,ArundinaSansMono-BoldOblique.ttf,50 1236 | STIXVariants,STIXVarBol.otf,5278 1237 | Hawkeye,hawkeye_.ttf,82 1238 | EB Garamond,EBGaramond12-Italic.ttf,247 1239 | Symbol Neu,SymbolNeu.ttf,279 1240 | M+ 1m,mplus-1m-thin.ttf,0 1241 | Expletus Sans,ExpletusSans-Regular.ttf,179 1242 | Passero One,PasseroOne-Regular.ttf,129 1243 | Got No Heart,gotnohea.ttf,123 1244 | Smythe,Smythe-Regular.ttf,131 1245 | Kenyan Coffee,kenycbi_.ttf,173 1246 | SuperHeterodyne,superhet.ttf,72 1247 | Playfair Display SC,PlayfairDisplaySC-BoldItalic.ttf,213 1248 | KacstDecorative,KacstDecorative.ttf,4416 1249 | Iwona,Iwona-BoldItalic.otf,58 1250 | Nafees Pakistani Web Naskh,NafeesPakistaniWebNaskh.ttf,12 1251 | Chau Philomene One,ChauPhilomeneOne-Italic.ttf,139 1252 | POV-Ray Logo,povlogo.ttf,13 1253 | Sedan,Sedan-Regular.ttf,123 1254 | Lato,Lato-Black.ttf,1680 1255 | Ewert,Ewert-Regular.ttf,126 1256 | Englebert,Englebert-Regular.ttf,130 1257 | Londrina Solid,LondrinaSolid-Regular.ttf,152 1258 | Meera,Meera.ttf,5223 1259 | Chewy,Chewy.ttf,161 1260 | Khmer OS,KhmerOS.ttf,5271 1261 | Chicken Wire Lady,chickenw.ttf,80 1262 | Khmer OS Bokor,KhmerOS_bokor.ttf,101 1263 | Alex Brush,AlexBrush-Regular.ttf,284 1264 | TeX Gyre Pagella,texgyrepagella-italic.otf,1167 1265 | cwTeXHei,cwTeXHei-ofl.ttf,126 1266 | Sintony,Sintony-Bold.ttf,133 1267 | Zero Twos,zerotwos.ttf,116 1268 | Lohit Gujarati,gu.ttf,5551 1269 | Frijole,Frijole-Regular.ttf,135 1270 | GFS Neohellenic,GFSNeohellenic.otf,323 1271 | Norasi,Norasi.ttf,4665 1272 | Nokora Regular,Nokora-Regular.ttf,70 1273 | Hamma Mamma Jamma,hammamam.ttf,81 1274 | FdSymbol,FdSymbol-Bold.otf,39 1275 | Carlito,Carlito-BoldItalic.ttf,3475 1276 | eurofurence,eurof55.ttf,109 1277 | Shifty Chica,shifty.ttf,110 1278 | Edgewater,edgewate.ttf,132 1279 | Emmentaler,Emmentaler-14.ttf,50 1280 | Spirax,Spirax-Regular.ttf,127 1281 | Forgotten Futurist Shadow,forgotts.ttf,141 1282 | Tlwg Typist,TlwgTypist-Oblique.ttf,4662 1283 | Siemreap,Siemreap.ttf,131 1284 | SkakNew-Figurine,SkakNew-Figurine.otf,182 1285 | Plain Cred,plaincre.ttf,69 1286 | Knewave,Knewave-Regular.ttf,151 1287 | Tobin Tax,tobintax.ttf,80 1288 | Caladea,Caladea-Regular.ttf,3407 1289 | Numans,Numans-Regular.ttf,134 1290 | Screengem,screenge.ttf,120 1291 | IPAMincho,ipam.ttf,434 1292 | Bubblegum Sans,BubblegumSans-Regular.ttf,133 1293 | Balcony Angels,balconya.ttf,81 1294 | TlwgMono,TlwgMono.ttf,4598 1295 | Garuda,Garuda.ttf,4680 1296 | Noto Sans Bengali,NotoSansBengali-Regular.ttf,462 1297 | Metamorphous,Metamorphous-Regular.ttf,137 1298 | Tork,torkb___.ttf,130 1299 | Gafata,Gafata-Regular-before_ttfautohint.ttf,134 1300 | SkakNewFigurine,SkakNew-FigurineBold.otf,32 1301 | fbb,fbb-Bold.otf,36 1302 | KacstTitle,KacstTitle.ttf,4422 1303 | mnml icons,mnmlicons.ttf,7 1304 | Emilys Candy,EmilysCandy-Regular.ttf,127 1305 | Share-RegularExp,Share-RegularExp.ttf,34 1306 | Cambria,cambriab.ttf,33326 1307 | Kdam Thmor,KdamThmor-Regular.ttf,105 1308 | Poiret One,PoiretOne-Regular.ttf,209 1309 | Letters Laughing,LettersLaughingDissectionandDestruction.ttf,40 1310 | Khmer OS System,KhmerOS_sys.ttf,5269 1311 | Nanum Brush Script,NanumBrush.ttf,7639 1312 | PakType Naqsh,PakType_Naqsh.ttf,528 1313 | Lohit Telugu,Lohit-Telugu.ttf,1254 1314 | Sevillana,Sevillana-Regular.ttf,126 1315 | Butcherman,Butcherman-Regular.ttf,119 1316 | Knuckle Down,knuckled.ttf,130 1317 | Asap,Asap-Regular.ttf,218 1318 | ClementePDap,ClementePDap-HeavyItalic.ttf,52 1319 | cwTeXKai,cwTeXKai-zhonly.ttf,129 1320 | Stoke,Stoke-Light.ttf,128 1321 | Horsepower,horspowr.ttf,80 1322 | Hanalei Fill,HanaleiFill-Regular.ttf,117 1323 | Silicon Carne,siliconc.ttf,73 1324 | Galdeano,Galdeano-Regular.ttf,118 1325 | Griffy,Griffy-Regular.ttf,119 1326 | Overlock SC,OverlockSC-Regular.ttf,150 1327 | Arial,arial.ttf,39884 1328 | Delius,Delius-Regular.ttf,131 1329 | Vanishing Girl,vanishin.ttf,74 1330 | Convergence,Convergence-Regular.ttf,140 1331 | Overpass,Overpass_Light.ttf,161 1332 | Lesser Concern,lesserco.ttf,95 1333 | STIXNonUnicode,STIXNonUniIta.otf,5309 1334 | MotoyaLCedar,MTLc3m.ttf,40 1335 | Ruthie,Ruthie-Regular.ttf,139 1336 | Merienda,Merienda-Regular.ttf,137 1337 | Tulpen,Tulpen-Light.ttf,43 1338 | Ledger,Ledger-Regular.ttf,142 1339 | Mr Dafoe,MrDafoe-Regular.ttf,151 1340 | Terylene Top,terylene.ttf,108 1341 | HanaMinB,HanaMinB.ttf,53 1342 | Vidaloka ,Vidaloka-Regular.ttf,147 1343 | GiantTigers,gianttig.ttf,78 1344 | Abel,Abel-Regular.ttf,221 1345 | Arundina Sans,ArundinaSans.ttf,55 1346 | Keter YG,KeterYG-Bold.ttf,86 1347 | Nightporter,nightpor.ttf,80 1348 | Titillium,Titillium-Light.otf,225 1349 | FandolKai,FandolKai-Regular.otf,18 1350 | Share-BoldItalicOSF,Share-BoldItalicOSF.ttf,32 1351 | Droid Arabic Naskh,DroidNaskh-Bold.ttf,4832 1352 | GFS Eustace,GFSEustace.otf,45 1353 | Dynalight,Dynalight-Regular.ttf,154 1354 | Scritzy,scritzy.ttf,71 1355 | Noto Sans Kayah Li,NotoSansKayahLi-Regular.ttf,445 1356 | ocrb5,ocrb5.otf,29 1357 | Canadian Participants,canap___.ttf,67 1358 | Didact Gothic,DidactGothic.ttf,173 1359 | Noto Serif Lao,NotoSerifLao-Bold.ttf,827 1360 | Calligrapher,calligra.ttf,71 1361 | M+ 2p,mplus-2p-light.ttf,0 1362 | Overload,overload.ttf,96 1363 | Sorts Mill Goudy,GoudyStM-Italic.otf,173 1364 | SeoulNamsan CL,SeoulNamsanCondensed-Light.ttf,102 1365 | M+ 1mn,mplus-1mn-light.ttf,0 1366 | Pants Patrol,pantspat.ttf,126 1367 | Kurier Medium,KurierMedium-Italic.otf,36 1368 | jsMath-cmbx10,jsMath-cmbx10.ttf,388 1369 | La Belle Aurore,LaBelleAurore.ttf,179 1370 | Istok Web,IstokWeb-BoldItalic.ttf,170 1371 | UnTaza,UnTaza.ttf,57 1372 | Loved by the King,LovedbytheKing.ttf,171 1373 | Axaxax,axaxax.ttf,130 1374 | Mad's Scrawl (BRK),madscrwl.ttf,0 1375 | Mint Spirit No2,MintSpiritNo2-Italic.otf,37 1376 | IM FELL Great Primer SC,IMFeGPsc28P.ttf,141 1377 | Radiation Participants,radip___.ttf,70 1378 | Hemi Head 426,hemihead.ttf,162 1379 | Droid,droid___.ttf,175 1380 | Thryomanes,el.ttf,25 1381 | Aguafina Script,AguafinaScript-Regular.ttf,146 1382 | Over the Rainbow,OvertheRainbow.ttf,144 1383 | Della Respira,DellaRespira-Regular.ttf,126 1384 | Fanwood Text,FanwoodText-Italic.ttf,209 1385 | Khmer OS Battambang,KhmerOS_battambang.ttf,105 1386 | Miama,Miama.ttf,296 1387 | Faster One,FasterOne-Regular.ttf,126 1388 | Just Me Again Down Here,JustMeAgainDownHere.ttf,172 1389 | Syncopate,Syncopate-Regular-VTT.ttf,179 1390 | Carme,Carme-Regular.ttf,137 1391 | GeosansLight,GeosansLight.ttf,305 1392 | STIXIntegralsSm,STIXIntSmBol.otf,5273 1393 | Blue Highway Condensed,bluecond.ttf,993 1394 | Neuton,Neuton-ExtraBold.ttf,209 1395 | Vibur,Vibur-Regular.ttf,142 1396 | Noto Sans Tai Tham,NotoSansTaiTham-Regular.ttf,902 1397 | Widelands,Widelands.otf,20 1398 | Berkshire Swash,BerkshireSwash-Regular.ttf,158 1399 | Finger Paint,FingerPaint-Regular.ttf,119 1400 | Gudea,Gudea-Italic.ttf,165 1401 | Abberancy,abberanc.ttf,113 1402 | Soul Papa,soulpapa.ttf,71 1403 | Iomanoid,iomanoid.ttf,154 1404 | GFS Philostratos,GFSPhilostratos.otf,48 1405 | Mervale Script,MervaleScript-Regular.ttf,118 1406 | CMU Typewriter Text,cmunit.otf,163 1407 | Linux Libertine Mono O,LinLibertine_MO.otf,792 1408 | Serafettin Cartoon,SerafettinCartoon-Italic.ttf,43 1409 | Stupefaction,stupefac.ttf,67 1410 | Amiri Quran,amiri-quran.ttf,254 1411 | Tuladha Jejeg,TuladhaJejeg_gr.ttf,13 1412 | Aksara Bali Galang,AksaraBaliGalang-Regular.ttf,105 1413 | You're Gone,youregoi.ttf,0 1414 | Philosopher,Philosopher-Bold.ttf,261 1415 | Erica One,EricaOne-Regular.ttf,128 1416 | Failed Attempt,failed.ttf,196 1417 | Frozen Dog Treats,frozen.ttf,106 1418 | Persian Modern Shadow,persian-modern-italicshadow.otf,14 1419 | Molle,Molle-Regular.ttf,126 1420 | UnJamoBatang,UnJamoBatang.ttf,59 1421 | TeX Gyre Heros Cn,texgyreheroscn-bolditalic.otf,1176 1422 | Vibrocentric,vibrocex.ttf,196 1423 | ClementePDab,ClementePDab-HairlineItalic.ttf,48 1424 | Goodfish,goodfisc.ttf,161 1425 | Bokor,Bokor.ttf,124 1426 | KacstNaskh,KacstNaskh.ttf,4414 1427 | KacstFarsi,KacstFarsi.ttf,4418 1428 | Ubuntu-Title,Ubuntu-Title.ttf,153 1429 | Noto Sans Meetei Mayek,NotoSansMeeteiMayek-Regular.ttf,885 1430 | Noto Sans Georgian,NotoSansGeorgian-Regular.ttf,833 1431 | rblmi,rblmi.ttf,27 1432 | Mai Tai,maitai.ttf,73 1433 | Ethiopic WashRa SemiBold,washrasb.ttf,22 1434 | Unlock,Unlock-Regular.ttf,121 1435 | Noto Sans Mandaic,NotoSansMandaic-Regular.ttf,912 1436 | Imprima,Imprima-Regular.ttf,130 1437 | TrapperJohn,trapperj.ttf,94 1438 | Molengo,Molengo-Regular.ttf,170 1439 | Shofar,ShofarRegularOblique.ttf,55 1440 | Abandoned Bitplane,abandone.ttf,72 1441 | Mister Firley,misterfi.ttf,70 1442 | Satanic Participants,satap___.ttf,72 1443 | Gloria Hallelujah,GloriaHallelujah.ttf,163 1444 | Rokkitt,Rokkitt-Light.ttf,210 1445 | Lady Starlight,ladystar.ttf,137 1446 | Love Ya Like A Sister,LoveYaLikeASister.ttf,164 1447 | Boogaloo,Boogaloo-Regular.ttf,134 1448 | Coalition,Coalition_v2..ttf,110 1449 | Dendritic Voltage,dendriti.ttf,119 1450 | Beat My Guest,beatmygu.ttf,132 1451 | Sansation,Sansation-BoldItalic.ttf,368 1452 | Quando,Quando-Regular.ttf,133 1453 | GFS Artemisia,GFSArtemisiaBold.otf,655 1454 | Alegreya,Alegreya-Black.ttf,308 1455 | Alianna,alianna.ttf,77 1456 | Denk One,DenkOne-Regular.ttf,120 1457 | ClementePDaj,ClementePDaj-RegularItalic.ttf,52 1458 | Dosis,Dosis-SemiBold.ttf,330 1459 | Linden Hill,LindenHill-Regular.ttf,200 1460 | Sarina,Sarina-Regular.ttf,143 1461 | King Richard,kingrici.ttf,136 1462 | Perizia,Perizia.ttf,10 1463 | ClementePDaq,ClementePDaq-UltraBold.ttf,53 1464 | Gubbi,Gubbi.ttf,66 1465 | TVTimeSans,tvtimeSansBold.ttf,11 1466 | Montserrat,Montserrat-Bold.ttf,551 1467 | TommyGun,tommygun.ttf,72 1468 | Vanilla Whale,vanilla.ttf,130 1469 | Android Emoji,AndroidEmoji.ttf,113 1470 | Nova Round,NovaRound.ttf,144 1471 | Century Schoolbook L,CenturySchL-Roma.otf,6665 1472 | M+ 2m,mplus-2m-thin.ttf,0 1473 | Padauk,Padauk.ttf,5042 1474 | Kimberley,kimberle.ttf,166 1475 | Kenia,Kenia-Regular.ttf,134 1476 | CMU Sans Serif Demi Condensed,cmunssdc.otf,147 1477 | Donegal One,DonegalOne-Regular.ttf,120 1478 | Londrina Sketch,LondrinaSketch-Regular.ttf,126 1479 | Antic Didone,AnticDidone-Regular.ttf,133 1480 | Oswald,Oswald-Light.ttf,890 1481 | Mob Concrete,mobconcr.ttf,104 1482 | Lunasequent,lunasequ.ttf,73 1483 | STIXIntegralsUpD,STIXIntUpDBol.otf,5281 1484 | Droid Serif,DroidSerif-Regular.ttf,6297 1485 | Golden Girdle,goldengi.ttf,169 1486 | Londrina Outline,LondrinaOutline-Regular.ttf,142 1487 | Snippet,Snippet.ttf,137 1488 | Michroma,Michroma.ttf,222 1489 | CMU Typewriter Text Variable Width,cmunvi.otf,108 1490 | Balthazar,Balthazar-Regular.ttf,544 1491 | Iwona Cond,IwonaCond-BoldItalic.otf,42 1492 | Federant,Federant-Regular.ttf,122 1493 | TitilliumText25L,titilliumtext25l002-webfont.ttf,44 1494 | Life Savers,LifeSavers-Regular.ttf,138 1495 | Germania One,GermaniaOne-Regular.ttf,127 1496 | GFS Jackson,GFSJackson.otf,44 1497 | Noto Sans Khmer,NotoSansKhmer-Bold.ttf,556 1498 | Tiza,tiza_chalk.ttf,89 1499 | Ceviche One,CevicheOne-Regular.ttf,135 1500 | Webdings,webdings.ttf,39619 1501 | Teen Light,teenlite.ttf,861 1502 | Proxima Nova,proximanova-webfont.ttf,319 1503 | Source Sans Pro,SourceSansPro-Light.ttf,6841 1504 | Chelsea Market,ChelseaMarket-Regular.ttf,127 1505 | UnPilgia,UnPilgia.ttf,57 1506 | Orbitron,Orbitron-Regular.ttf,282 1507 | Crimson,Crimson-Bold.ttf,101 1508 | Gravitas One,GravitasOne.ttf,143 1509 | feta26,feta.ttf,42 1510 | Concert One,ConcertOne-Regular.ttf,133 1511 | Trocchi,Trocchi-Regular.ttf,142 1512 | Salsa,Salsa-Regular.ttf,138 1513 | Electroharmonix,electroh.ttf,219 1514 | Aller Light,aller-light.ttf,315 1515 | Lilliput Steps,lilliput.ttf,115 1516 | Patrick Hand SC,PatrickHandSC-Regular_prettfautohint.ttf,135 1517 | Night Court,nightcou.ttf,78 1518 | QSwitch Ax,qswitcha.ttf,91 1519 | Podkova,Podkova-Bold.ttf,147 1520 | Oxygen Mono,OxygenMono-Regular.ttf,658 1521 | UnPenheulim,UnPenheulim.ttf,56 1522 | Holtwood One SC,HoltwoodOneSC.ttf,135 1523 | Graffiti Treat,graffiti.ttf,137 1524 | Teen,teen____.ttf,885 1525 | MgOpen Moderna,MgOpenModernaBoldOblique.ttf,208 1526 | Josefin Sans Std,JosefinSansStd-Light.otf,166 1527 | Roboto,Roboto-ThinItalic.ttf,2062 1528 | Sofadi One,SofadiOne-Regular.ttf,128 1529 | Purisa,Purisa-Oblique.ttf,4764 1530 | Happy Monkey,HappyMonkey-Regular.ttf,127 1531 | Mad's Scrawl BRK,madscrwl2.ttf,0 1532 | Relish Gargler,relishga.ttf,124 1533 | Trochut,Trochut-Bold.ttf,134 1534 | ArtBrush,Generic.ttf,58 1535 | Exo,Exo-SemiBoldItalic.ttf,353 1536 | Telex,Telex-Regular.ttf,69 1537 | Lunaurora,lunauror.ttf,79 1538 | Uncial Antiqua,UncialAntiqua-Regular.ttf,126 1539 | Amaranth,Amaranth-Bold.ttf,259 1540 | Varela Round,VarelaRound-Regular.ttf,202 1541 | Akronim,Akronim-Regular.ttf,127 1542 | .,glyphiconshalflings-regular.ttf,0 1543 | Zodillinstrisstirust,zodillin.ttf,74 1544 | Berenis ADF Pro,BerenisADFPro-Italic.otf,48 1545 | Radios in Motion,radiosin.ttf,109 1546 | Capriola,Capriola-Regular.ttf,130 1547 | Accanthis ADF Std No3,AccanthisADFStdNo3-Regular.otf,527 1548 | PakType Naskh Basic,PakTypeNaskhBasic.ttf,220 1549 | Oldenburg,Oldenburg-Regular.ttf,124 1550 | Pricedown,pricedow.ttf,199 1551 | Hippy Participants,hippp___.ttf,69 1552 | Quinquefoliolate,quinquef.ttf,69 1553 | The Girl Next Door,TheGirlNextDoor.ttf,145 1554 | Sazanami Mincho,sazanami-mincho.ttf,180 1555 | Cantata One,CantataOne-Regular.ttf,125 1556 | Alef,Alef-Regular.ttf,140 1557 | Latin Modern Mono Prop Light,lmmonoproplt10-oblique.otf,463 1558 | Qwigley,Qwigley-Regular.ttf,150 1559 | Signika Negative,SignikaNegative-Semibold.ttf,206 1560 | Abyssinica SIL,AbyssinicaSIL-R.ttf,4939 1561 | Lily Script One,LilyScriptOne-Regular.ttf,131 1562 | Mold Papa,moldpapa.ttf,71 1563 | Baekmuk Headline,hline.ttf,114 1564 | DejaVu Sans Mono,dejavusans-mono.ttf,15492 1565 | Bigshot One,BigshotOne.ttf,134 1566 | CMU Bright,cmunbmr.otf,148 1567 | CMU Serif Upright Italic,cmunui.otf,138 1568 | Operational Amplifier,operatio.ttf,73 1569 | Zekton,zektonit.ttf,217 1570 | Press Start 2P,PressStart2P-Regular.ttf,151 1571 | Combo,Combo-Regular.ttf,118 1572 | Mona-sazanami,mona-sazanami.ttf,51 1573 | LunaEclipsed ,luneclps.ttf,57 1574 | Chango,Chango-Regular.ttf,126 1575 | Latin Modern Mono Prop,lmmonoprop10-regular.otf,455 1576 | Charis SIL Compact,CharisSILCI.ttf,44 1577 | ClementePDam,ClementePDam-Bold.ttf,56 1578 | CMU Classical Serif,cmunci.otf,128 1579 | Ethiopic Yebse,yebse.ttf,22 1580 | Carbon Block,carbonbl.ttf,870 1581 | Ethiopic Tint,tint.ttf,28 1582 | Palatino Linotype,palabi.ttf,33065 1583 | Counterscraps,counters.ttf,120 1584 | Latin Modern Roman,lmroman10-bolditalic.otf,509 1585 | Puritan,Puritan-Bold.ttf,158 1586 | Grand Hotel,GrandHotel-Regular.ttf,264 1587 | Maven Pro Light,MavenProLight-300.otf,27 1588 | SeoulNamsan,SeoulNamsanVertical-Regular.ttf,80 1589 | Fasthand,Fasthand-Regular.ttf,115 1590 | Bowlby One SC,BowlbyOneSC-Regular.ttf,139 1591 | Constantia,constanb.ttf,33238 1592 | CHR32,chr32.ttf,70 1593 | Walshes,walshes.ttf,125 1594 | SeoulHangang CBL,SeoulHangangCondensed-BoldL.ttf,101 1595 | Semafor,smfptt10.otf,76 1596 | Metrophobic,Metrophobic.ttf,160 1597 | fontcustom_fauxton,fontcustom_fauxton.ttf,0 1598 | Ethnocentric,ethnocen.ttf,565 1599 | Forum,Forum-Regular.ttf,193 1600 | SeoulHangang CEB,SeoulHangangCondensed-ExtraBold.ttf,107 1601 | Noto Sans Gujarati,NotoSansGujarati-Bold.ttf,438 1602 | NanumMyeongjo,NanumMyeongjoExtraBold.ttf,8139 1603 | Noto Sans Old Turkic,NotoSansOldTurkic-Regular.ttf,443 1604 | VT323,VT323-Regular.ttf,143 1605 | Kristi,Kristi.ttf,157 1606 | Seymour One,SeymourOne-Regular.ttf,126 1607 | StayPuft,StayPuft.ttf,81 1608 | Latin Modern Mono Slanted,lmmonoslant10-regular.otf,453 1609 | Xolto,xolto.ttf,105 1610 | HintTest,HintTest1.ttf,32 1611 | Peralta,Peralta-Regular.ttf,121 1612 | Bullpen,bullpen_.ttf,153 1613 | Share,Share-BoldItalic.ttf,140 1614 | Candara,candara.ttf,33244 1615 | Advent Pro,AdventPro-SemiBold.ttf,199 1616 | David CLM,DavidCLM-Bold.ttf,195 1617 | Simonetta,Simonetta-Regular.ttf,140 1618 | Aegean,Aegean.otf,340 1619 | Baumans,Baumans-Regular.ttf,133 1620 | Offside,Offside-Regular.ttf,127 1621 | cwTeXMing,cwTeXMing.ttf,127 1622 | eurofurence light,eurof36.ttf,118 1623 | Bullpen 3D,bullpen3.ttf,127 1624 | Crapola,crapola.ttf,73 1625 | Anton,Anton-VTT.ttf,197 1626 | Capacitor,capacitr.ttf,148 1627 | IPAGothic,ipag.ttf,443 1628 | Hooked Up 101,hooked.ttf,103 1629 | Junicode,Junicode-Bold.ttf,647 1630 | Time Roman,timrom.ttf,11 1631 | Kurier Light,KurierLight-Italic.otf,35 1632 | Roboto Slab,RobotoSlab-Regular.ttf,402 1633 | UnPen,UnPen.ttf,61 1634 | Lora,Lora-Regular.ttf,279 1635 | Tibetan Machine Uni,TibMachUni-1.901b.ttf,4175 1636 | Analecta,Analecta.otf,350 1637 | Fira Mono OT,FiraMonoOT-Regular.otf,65 1638 | XITS Math,xits-mathbold.otf,44 1639 | Alegreya Sans SC,AlegreyaSansSC-Italic.ttf,216 1640 | Ghostmeat,ghostmea.ttf,133 1641 | Xtraflexidisc,xtraflex.ttf,73 1642 | Crimson Text,CrimsonText-BoldItalic.ttf,242 1643 | Noto Sans Lisu,NotoSansLisu-Regular.ttf,921 1644 | Lohit Marathi,Lohit-Marathi.ttf,224 1645 | Voces,Voces-Regular.ttf,124 1646 | Fira Sans OT,FiraSansOT-Medium.otf,111 1647 | LED,LED-16.ttf,29 1648 | Stalinist One,StalinistOne-Regular.ttf,123 1649 | Cardo,Cardo-Italic.ttf,279 1650 | Boron,boron2.ttf,116 1651 | Samyak Devanagari,Samyak-Devanagari.ttf,141 1652 | Marlett,marlett.ttf,33380 1653 | Kustom Kar,kustomka.ttf,75 1654 | ClementePDaa,ClementePDaa-Hairline.ttf,55 1655 | Delphine,Delphine.ttf,184 1656 | Berenis ADF Pro SC,BerenisADFProSC-BoldItalic.otf,37 1657 | Iwona Light,IwonaLight-Regular.otf,26 1658 | Ethiopic Yigezu Bisrat Goffer,goffer.ttf,23 1659 | Black Ops One,BlackOpsOne-Regular.ttf,136 1660 | Neurochrome,neurochr.ttf,192 1661 | Supermercado,SupermercadoOne-Regular.ttf,119 1662 | Crackdown R2 BRK,crackdown.ttf,122 1663 | Sexsmith,sexsmith.ttf,107 1664 | Lunasol,lunasol.ttf,126 1665 | Fake Receipt,fakerece.ttf,133 1666 | Nasalization,nasaliza.ttf,580 1667 | Marcellus SC,MarcellusSC-Regular.ttf,133 1668 | Emmentaler-16,emmentaler-16.otf,59 1669 | Taprom,Taprom.ttf,131 1670 | Lemon One,LemonOne-Regular.ttf,111 1671 | Latin Modern Roman Demi,lmromandemi10-oblique.otf,465 1672 | Francois One,FrancoisOne.ttf,173 1673 | Freckle Face,FreckleFace-Regular.ttf,120 1674 | Misirlou Day,misirlod.ttf,116 1675 | Moul Pali,Moulpali.ttf,128 1676 | Vahika,vahikab.ttf,153 1677 | Ubuntu Condensed,UbuntuCondensed-Regular.ttf,5288 1678 | Contour Generator,contourg.ttf,129 1679 | Kurier Heavy,KurierHeavy-Italic.otf,28 1680 | Primer Print,primerb.ttf,131 1681 | Latin Modern Roman Unslanted,lmromanunsl10-regular.otf,452 1682 | Metal,Metal.ttf,251 1683 | Letter Set C,letterc.ttf,110 1684 | Nafees Web Naskh,NafeesWeb.ttf,33 1685 | League Script,LeagueScript.ttf,136 1686 | Niconne,Niconne-Regular.ttf,143 1687 | Karla Tamil Inclined,KarlaTamilInclined-Regular.ttf,119 1688 | BloomingGrove,bgrove.otf,34 1689 | Noto Sans Kannada,NotoSansKannada-Bold.ttf,464 1690 | Latin Modern Sans Quotation,lmsansquot8-boldoblique.otf,458 1691 | Gilda Display,GildaDisplay-Regular.ttf,125 1692 | Letter Set A,lettera.ttf,114 1693 | Forgotten Futurist,forgottb.ttf,185 1694 | K-3D,K-3D.ttf,7 1695 | Ubuntu Mono,UbuntuMono-Regular.ttf,5289 1696 | Xaporho,Xaporho.otf,12 1697 | Buenard,Buenard-Bold.ttf,134 1698 | IM FELL DW Pica,IMFePIit28P.ttf,155 1699 | Sarai,Sarai_07.ttf,140 1700 | Astloch,Astloch-Bold-TTF_FF.ttf,155 1701 | Scheherazade,Scheherazade-R.ttf,188 1702 | Eeyek Unicode,eeyek.ttf,562 1703 | Bayon,Bayon.ttf,132 1704 | Jura,Jura-DemiBold.ttf,293 1705 | Quadrangle,quadrang.ttf,79 1706 | Emmentaler-Brace,emmentaler-brace.otf,65 1707 | [z] Arista ExtraFilled,[z] Arista ExtraFilled.ttf,68 1708 | Emmentaler-14,emmentaler-14.otf,59 1709 | Agent Red,agentred.ttf,30 1710 | CMU Serif,cmunbi.otf,141 1711 | New Athena Unicode,newathu.ttf,94 1712 | Redressed,Redressed.ttf,139 1713 | Noto Sans Gujarati UI,NotoSansGujaratiUI-Bold.ttf,294 1714 | Crystal,crystal.ttf,66 1715 | Iwona Cond Heavy,IwonaCondHeavy-Regular.otf,37 1716 | Bitstream Vera Sans,Vera.ttf,1878 1717 | Miltonian Tattoo,MiltonianTattoo-Regular.ttf,134 1718 | Ecolier_lignes_court,ecl_cour.ttf,0 1719 | Shlop,shlop___.ttf,149 1720 | Tiresias Keyfont V2,TIREKV__.ttf,70 1721 | Merienda One,MeriendaOne-Regular.ttf,147 1722 | ocrb7,ocrb7.otf,32 1723 | Home Sweet Home,homeswee.ttf,131 1724 | Pirata One,PirataOne-Regular.ttf,121 1725 | Jomolhari,Jomolhari-alpha3c-0605331.ttf,1058 1726 | 42,42.ttf,42 1727 | Droid Sans Devanagari,DroidSansDevanagari-Regular.ttf,341 1728 | Adriator,adriator.ttf,115 1729 | Oregano,Oregano-Italic.ttf,138 1730 | Digna's Handwriting,phranzysko_-_Digna_s_Handwriting.ttf,0 1731 | Kaushan Script,KaushanScript-Regular.ttf,238 1732 | Montserrat Alternates,MontserratAlternates-Regular.ttf,152 1733 | IM FELL English,IMFeENrm28P.ttf,174 1734 | Gentium Basic,GenBasR.ttf,9250 1735 | Revalia,Revalia-Regular.ttf,118 1736 | Carter One,CarterOne.ttf,143 1737 | Delius Unicase,DeliusUnicase-Regular.ttf,141 1738 | Rothwell,rothwell.ttf,79 1739 | Nunito,Nunito-Bold.ttf,305 1740 | Latin Modern Roman Dunhill,lmromandunh10-regular.otf,460 1741 | Khmer OS Content,KhmerOS_content.ttf,844 1742 | ParaAminobenzoic,paraamin.ttf,80 1743 | Traveling _Typewriter,TravelingTypewriter.ttf,0 1744 | Architects Daughter,ArchitectsDaughter.ttf,325 1745 | Wire One,WireOne.ttf,153 1746 | Yadou,yadou.ttf,83 1747 | DejaVu Serif,DejaVuSerifCondensed-Italic.ttf,15347 1748 | Arbutus,Arbutus-Regular.ttf,129 1749 | Iwona Cond Light,IwonaCondLight-Regular.otf,30 1750 | Patrick Hand,PatrickHand-Regular_prettfautohint.ttf,127 1751 | TanglewoodTales,tanglewo.ttf,22 1752 | Terminal Dosis,TerminalDosis-Regular.ttf,172 1753 | Noto Sans,NotoSans-Regular-orig.ttf,1102 1754 | Induction,inductio.ttf,496 1755 | GFS Fleischman,GFSFleischman.otf,41 1756 | Noto Sans Khmer UI,NotoSansKhmerUI-Bold.ttf,385 1757 | HeadlandOne,HeadlandOne-Regular.ttf,119 1758 | SMonoHand,SMonohand.ttf,49 1759 | Riot Act,riotact.ttf,73 1760 | Should've Known Shaded,shouldvs.ttf,0 1761 | Russo One,RussoOne-Regular.ttf,155 1762 | Arundina Serif,ArundinaSerif-Bold.ttf,42 1763 | Brawler,Brawler-Regular.ttf,136 1764 | Noto Sans Thai,NotoSansThai-Regular.ttf,848 1765 | Average,Average-Regular.ttf,130 1766 | UnifrakturMaguntia,UnifrakturMaguntia-Book.ttf,144 1767 | Unikurd Web,Unikuweb.ttf,122 1768 | Fruktur,Fruktur-Regular.ttf,118 1769 | TeX Gyre Termes Math,texgyretermes-math.otf,412 1770 | FreeSans,FreeSansBoldOblique.otf,6584 1771 | Bruno Ace SC,BrunoAceSC-Regular.ttf,120 1772 | Calibri,calibri.ttf,33492 1773 | Lohit Punjabi,Lohit-Punjabi.ttf,5321 1774 | TeX Gyre Cursor,texgyrecursor-bolditalic.otf,1172 1775 | Charles in Charge,charlesi.ttf,112 1776 | Charis SIL,CharisSIL-I.ttf,202 1777 | Eye Rhyme,eyerhyme.ttf,79 1778 | Hooked on Booze,hookedon.ttf,81 1779 | Felipa,Felipa-Regular.ttf,125 1780 | Noto Sans Telugu,NotoSansTelugu-Bold.ttf,470 1781 | Street Cred,streetcr.ttf,153 1782 | roadstencil,andyfitz_-_roadstencil.otf,47 1783 | calibre Symbols,calibreSymbols.otf,10 1784 | Rufina,Rufina-Bold.ttf,124 1785 | Preah Vihear,Preahvihear.ttf,135 1786 | Emmentaler-26,emmentaler-26.otf,64 1787 | Kelly Slab,KellySlab-Regular.ttf,137 1788 | cmss10,cmss10.ttf,34 1789 | Living by Numbers,livingby.ttf,110 1790 | Lohit Kannada,Lohit-Kannada.ttf,1196 1791 | Latin Modern Sans Demi Cond,lmsansdemicond10-regular.otf,458 1792 | Frak,frak.ttf,77 1793 | Eater Caps,EaterCaps-Regular.ttf,122 1794 | Joti One,JotiOne-Regular.ttf,125 1795 | PresidentGas,presgrg.ttf,116 1796 | Linux Biolinum Keyboard O,LinBiolinum_K.otf,861 1797 | Skeletor Stance,skeletor.ttf,104 1798 | Emmentaler-13,emmentaler-13.otf,65 1799 | Subpear,subpear_.ttf,113 1800 | Noto Serif,NotoSerif-Regular.ttf,1008 1801 | DejaVu LGC Serif,DejaVuLGCSerif-Bold.ttf,113 1802 | Kurier Cond,KurierCond-Italic.otf,42 1803 | Baby Jeepers,babyjeep.ttf,116 1804 | Nuosu SIL,NuosuSIL.ttf,645 1805 | DroidSerifThai,DroidSerifThai-Bold.ttf,115 1806 | Primer Apples,prima___.ttf,111 1807 | Fjalla One,FjallaOne-Regular.ttf,192 1808 | Jockey One,JockeyOne-Regular.ttf,131 1809 | Carrois Gothic SC,CarroisGothicSC-Regular.ttf,140 1810 | Guanine,guanine_.ttf,128 1811 | Warnes,Warnes-Regular.ttf,114 1812 | GFS Gazis,GFSGazis.otf,316 1813 | Duru Sans,DuruSans-Regular.ttf,124 1814 | Marcellus,Marcellus-Regular.ttf,131 1815 | Antic Slab,AnticSlab-Regular.ttf,144 1816 | Soul Mama,soulmama.ttf,74 1817 | SkakNew-Diagram,SkakNew-Diagram.otf,135 1818 | Noto Sans Deseret,NotoSansDeseret-Regular.ttf,432 1819 | wasy10,wasy10.ttf,2511 1820 | --------------------------------------------------------------------------------