Skip to content

Instantly share code, notes, and snippets.

View voluntas's full-sized avatar
🎲
Focusing

voluntas voluntas

🎲
Focusing
View GitHub Profile

STUN implementations

  • stund
  • Content: server daemon and test client for STUN, RFC-3489 only
  • URL does not load, the project seems abandoned
  • The code is also available on SourceForge, last update was on January 2012
  • TCP and TLS modes not supported
  • The server needs two IPs, it’s mandatory and can not be configured
  • C++, no extra libraries required, Windows port available
  • Version = 0.97 (0.96 package available on Debian, 5 years without updates)
@voluntas
voluntas / letsencrypt_2016.md
Created February 10, 2017 12:01 — forked from cecilemuller/letsencrypt_2020.md
How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

How to setup Let's Encrypt for Nginx on Ubuntu 16.04 (including IPv6, HTTP/2 and A+ SLL rating)

There are two modes when you don't want Certbot to edit your configuration:

  • Standalone: replaces the webserver to respond to ACME challenges
  • Webroot: needs your webserver to serve challenges from a known folder.

Webroot is better because it doesn't need to replace Nginx (to bind to port 80) to renew certificates.

In the following, we're setting up mydomain.com to be served from /var/www/mydomain, and challenges will be served from /var/www/letsencrypt.

@voluntas
voluntas / Issue.txt
Created September 6, 2011 16:31 — forked from taichi/idea.txt
Koshinuke memo
マイルストーン > タスク > チケット
マイルストーンはマスタースケジュール、これをタスクに分割する。
マイルストーンの名前でリリース用のブランチが自動的に作成される。
マイルストーンを完了するとマイルストーンの名前で自動的にtagが作成される。
タスクは個人の作業単位、最小のタスクは最大でも1週間程度で終わる先の見える見積もり可能な大きさの作業になる。
要件を具体的な作業単位に落とす中間的なタスクが存在する。つまり、タスクはタスク間の関連性をN:Mマッピング出来る。
Firefox 54 simulcasting: offer (browser)
----------------------------------------
v=0
o=mozilla...THIS_IS_SDPARTA-54.0 8032511078174487015 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 3C:22:03:71:82:EA:7B:46:DB:4E:A8:9E:FE:5F:0C:83:3E:65:CB:CF:A0:59:F7:A1:58:FB:DC:9E:6C:E0:8D:FA
a=group:BUNDLE sdparta_0 sdparta_1 sdparta_2
a=ice-options:trickle
a=msid-semantic:WMS *
Firefox 56 simulcasting: offer (browser)
----------------------------------------
v=0
o=mozilla...THIS_IS_SDPARTA-56.0a1 6240803254751085187 0 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 E7:F5:25:C8:88:0D:4E:7D:B1:49:60:BF:AB:8D:84:5B:F6:D6:A9:74:FB:F1:2A:82:16:65:5B:AF:0F:23:02:BE
a=group:BUNDLE sdparta_0 sdparta_1 sdparta_2
a=ice-options:trickle
a=msid-semantic:WMS *
v=0
o=- 7449998072251763612 0 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
a=group:BUNDLE audio video
m=audio 7320 UDP/TLS/RTP/SAVPF 102 9 0 8 97 13 118 101
c=IN IP4 192.168.8.7
a=rtpmap:102 opus/48000/2
a=rtpmap:9 G722/8000
Chrome simulcasting: offer (browser)
------------------------------------
v=0
o=- 4308117731863853442 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video data
a=msid-semantic: WMS ZUJWk5rc0kNVekwY7gpiWsPbvAa6UbZWQI4A
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
@voluntas
voluntas / benchmark.py
Last active March 6, 2021 18:59 — forked from eamartin/benchmark.py
PyPy での JSON ライブラリベンチーマーク
'''cjson, jsonlib, simplejson, and yajl also use C code
demjson did not use C code, but was too painfully slow to benchmark
(took about 20 seconds for these tests)
'''
import json
import sys
import time
with open('doc.json') as f:
@voluntas
voluntas / webrtc_sfu_develop.rst
Last active June 17, 2021 10:33 — forked from alanmshelly/webrtc_sfu_develop.rst
WebRTC SFU をフルスクラッチで作ってみた

WebRTC SFU をフルスクラッチで作ってみた

I wrote a WebRTC SFU from scratch

Author

@voluntas

Translator

@alanmshelly

Version

0.0.0

url

https://voluntas.github.io/

@voluntas
voluntas / ThreadPool.zig
Created July 16, 2022 14:43 — forked from kprotty/ThreadPool.zig
An isolated thread pool implementation for Zig
const std = @import("std");
const system = std.os.system;
pub const Scheduler = struct {
pub const InitConfig = struct {
max_threads: ?u16 = null,
};
pub fn init(self: *Scheduler, config: InitConfig) !void {