
Extracted from: https://github.com/kurokirasama/nushell_sublime_syntax with the fix from kurokirasama/nushell_sublime_syntax#4
Extracted from: https://github.com/kurokirasama/nushell_sublime_syntax with the fix from kurokirasama/nushell_sublime_syntax#4
In no particular order:
web app | TLS support | basic authentication support | self-host | storage | multiple process support | replay | write from web | 2-way read | custom share urls | webrtc support | requires SSH | client open source | server open source | language | stars | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
gotty | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | go | 14k |
ttyd | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | C | 2.7k |
wetty | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | JS | 2.5k |
ttycast | ✅ | ❓ | ❓ | ✅ | ❓ | ❓ | ✅ | ❓ | ❓ | ❌ | ❌ | ❌ | ✅ | ✅ | JS |
#!/usr/bin/env bash | |
IP="10.0.0.1" #Change to IP of server | |
TOPIC="torrent/finished" # Change to your liking | |
VERSION="mqttv5" | |
if [ -n "$(command -v mosquitto_sub)" ]; then | |
echo "Found mosquitto" | |
if [ "$( uname )" == "Linux" ]; then | |
if [ -n "$( command -v termux-notification )" ]; then | |
echo "Running in termux" | |
mosquitto_sub -h "$IP" -V "$VERSION" -t "$TOPIC" | while read OUTPUT; do termux-notification -c "$OUTPUT"; done |
import { useState, useEffect, useRef } from 'react'; | |
import Web3 from 'web3'; | |
import Fortmatic from 'fortmatic'; | |
const usePromise = () => { | |
const ref = []; | |
const container = useRef(ref); | |
ref[0] = new Promise((resolve, reject) => { | |
ref[1] = resolve; |
.toasts-container { | |
position: fixed; | |
z-index: 65535; | |
right: 0; | |
max-width: 250px; | |
display: flex; | |
flex-direction: column-reverse; | |
} | |
.toasts-container > .toast-container { |
// both web3 and your contract have be defined | |
if(web3js && contract) | |
{ | |
const yourEvent = contract.YourEventName(); | |
yourEvent.watch(function(error, result) { | |
if (!error) { | |
// Callback return | |
// Object - An event object as follows: |
func emojiHash(_ input: String) -> String { | |
// HashEmoji.txt is a line separated file of 256 emojis (1 per byte) | |
// https://gist.github.com/th3m477/c0b306fd7992459f366e1a49fe0520d2 | |
guard let path = Bundle.main.path(forResource: "HashEmoji", ofType: "txt"), | |
let emojiData = try? String(contentsOfFile: path, encoding: .utf8) | |
else { | |
preconditionFailure("HashEmoji resource not available") | |
} | |
let emojis = emojiData.components(separatedBy: .newlines) |
const { MongoClient } = require('mongodb'); | |
const DB_URL = process.env.DB_URL || 'mongodb://localhost:27017'; | |
const DB_NAME = 'serverless-smoothielicious'; | |
function errorResponse(callback, err) { | |
console.error(err); | |
callback(null, { | |
statusCode: 500, |
<!doctype html> | |
<html> | |
<head> | |
<title>uPort Sample App</title> | |
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> | |
<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script> | |
<script src="https://unpkg.com/uport-connect/dist/uport-connect.js"></script> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<style> | |
main { padding: 10px 30px; } |