first commit
This commit is contained in:
141
NiceHash/Nicehashapi.pm
Normal file
141
NiceHash/Nicehashapi.pm
Normal file
@@ -0,0 +1,141 @@
|
||||
|
||||
package Nicehashapi;
|
||||
|
||||
use Moo;
|
||||
use strictures 2;
|
||||
use namespace::clean;
|
||||
use File::Slurp;
|
||||
use Data::Printer;
|
||||
use Mojo::UserAgent;
|
||||
use Digest::SHA qw(hmac_sha256_hex);;
|
||||
use UUID::Tiny ':std';
|
||||
use Time::HiRes qw(gettimeofday);
|
||||
use Encode qw(decode encode);
|
||||
use Data::Dumper;
|
||||
|
||||
has key => (
|
||||
is => 'ro',
|
||||
);
|
||||
|
||||
has secret => (
|
||||
is => 'ro',
|
||||
);
|
||||
|
||||
has organisation_id => (
|
||||
is => 'ro',
|
||||
);
|
||||
|
||||
# my $key = '8bcbda58-5a26-4ce4-8e61-3a0fd894cfbb';
|
||||
# my $secret = '59dc1ee5-a0e6-4ba6-9a9c-a043c350b88b84266786-2d14-4b9f-9ae5-d168ed8376b7';
|
||||
# my $organisation_id = '4c615374-bf85-42fd-860d-b1bf4568c01f';
|
||||
|
||||
sub get_payouts {
|
||||
my ( $self, $page, $size) = @_;
|
||||
return _request($self, 'GET', '/main/api/v2/mining/rigs/payouts', "page=$page&size=$size", undef);
|
||||
}
|
||||
|
||||
sub get_currencies {
|
||||
my ( $self) = @_;
|
||||
return _request($self, 'GET', '/main/api/v2/public/currencies/', '', undef);
|
||||
}
|
||||
|
||||
sub get_prices {
|
||||
my ( $self) = @_;
|
||||
return _request($self, 'GET', '/exchange/api/v2/info/prices', '', undef);
|
||||
}
|
||||
|
||||
sub get_hashpowerEarnings {
|
||||
my ( $self, $currencies) = @_;
|
||||
return _request($self, 'GET', '/main/api/v2/accounting/hashpowerEarnings/' . $currencies, '', undef);
|
||||
}
|
||||
|
||||
sub get_myOrders {
|
||||
my ( $self) = @_;
|
||||
return _request($self, 'GET', '/exchange/api/v2/info/myOrders', '', undef);
|
||||
}
|
||||
|
||||
sub get_accounts2 {
|
||||
my ( $self, $extendedResponse, $fiat) = @_;
|
||||
return _request($self, 'GET', '/main/api/v2/accounting/accounts2', "extendedResponse=$extendedResponse&fiat=$fiat", undef);
|
||||
}
|
||||
|
||||
sub get_accounting_activity {
|
||||
my ( $self, $currency, $type, $stage, $limit ) = @_;
|
||||
my $query;
|
||||
|
||||
if ( defined $limit ) {
|
||||
$query = "limit=$limit";
|
||||
}
|
||||
|
||||
if ( defined $type ) {
|
||||
$query .= "&type=$type";
|
||||
}
|
||||
|
||||
if ( defined $stage ) {
|
||||
$query .= "&stage=$stage";
|
||||
}
|
||||
|
||||
return _request($self, 'GET', '/main/api/v2/accounting/activity/'.$currency, $query, undef);
|
||||
# return _request($self, 'GET', '/main/api/v2/accounting/activity/'.$currency, '' , undef);
|
||||
}
|
||||
|
||||
sub _request {
|
||||
my ( $self, $method, $path, $query, $body) = @_;
|
||||
|
||||
my $xtime = int (gettimeofday * 1000);
|
||||
my $xnonce = create_uuid(UUID_V4);
|
||||
my $uid = uuid_to_string($xnonce);
|
||||
my $xnonce2 = create_uuid(UUID_V4);
|
||||
my $uid2 = uuid_to_string($xnonce);
|
||||
|
||||
my $message = encode('UTF-8', $self->key);
|
||||
$message .= encode('UTF-8', chr(0x00));
|
||||
$message .= encode('UTF-8',$xtime);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',$uid);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8', $self->organisation_id);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',$method);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',$path);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8',$query);
|
||||
|
||||
if ($body) {
|
||||
my $body_json = Dumper($body);
|
||||
$message .= encode('UTF-8',chr(0x00));
|
||||
$message .= encode('UTF-8', $body_json);
|
||||
}
|
||||
|
||||
my $digest = hmac_sha256_hex($message, $self->secret);
|
||||
my $ua = Mojo::UserAgent->new();
|
||||
|
||||
my $headers = {
|
||||
'X-Time' => $xtime,
|
||||
'X-Nonce'=> $uid,
|
||||
'X-Auth'=> $self->key . ':' . $digest ,
|
||||
'Content-Type'=> 'application/json',
|
||||
'X-Organization-Id'=> $self->organisation_id,
|
||||
'X-Request-Id'=> $uid2
|
||||
};
|
||||
|
||||
if ( $query ) {
|
||||
$query = '?'.$query;
|
||||
}
|
||||
|
||||
my $data = $ua->get('https://api2.nicehash.com' . $path.$query => $headers )->res;
|
||||
|
||||
if ( $path =~ /activity/ ) {
|
||||
p $data;
|
||||
print $path.$query."\n";
|
||||
}
|
||||
|
||||
# my $data = $ua->get('https://api2.nicehash.com' . $path.$query => $headers )->res->json;
|
||||
|
||||
return $data->json;
|
||||
}
|
||||
|
||||
1;
|
||||
35147
NiceHash/coingeckoid.json
Normal file
35147
NiceHash/coingeckoid.json
Normal file
File diff suppressed because it is too large
Load Diff
77
NiceHash/investment.csv
Normal file
77
NiceHash/investment.csv
Normal file
@@ -0,0 +1,77 @@
|
||||
buy ;value ;sell ;value ;date ;how ;fee ;value ;ineuro ;
|
||||
BTC ;0.00111388 ;EUR ;50 ;2021-02-17 21:24:00 ;ste ;EUR ;1.45 ;43586.38 ;
|
||||
ETH ;0.01677347 ;BTC ;0.00059096 ;2021-02-17 21:26:42 ;ste ;ETH ;0.00008387 ;1473.42 ;
|
||||
RVN ;67.56756757 ;BTC ;0.0001 ;2021-02-17 21:51:55 ;ste ;RVN ;0.33783784 ;0.06517260032601803;
|
||||
LTC ;0.05581514 ;BTC ;0.00024548 ;2021-02-18 16:14:00 ;ste ;LTC ;0.00027908 ;196.39130990886653 ;
|
||||
BTC ;0.00342421 ;EUR ;150 ;2021-02-18 16:14:00 ;ste ;EUR ;2.18 ;43169.08 ;
|
||||
XRP ;24.084778 ;BTC ;0.00025 ;2021-02-18 22:50:28 ;ste ;XRP ;0.120424 ;0.4454225873823748 ;
|
||||
POLY ;37.90087464 ;BTC ;0.00026 ;2021-02-18 22:53:37 ;ste ;POLY ;0.18950437 ;0.16528781250821772;
|
||||
RVN ;77.34806630 ;BTC ;0.00014 ;2021-02-18 23:09:21 ;ste ;RVN ;0.38674033 ;0.06149183018139609;
|
||||
XLM ;25.8799172 ;BTC ;0.00025 ;2021-02-18 23:12:00 ;ste ;XLM ;0.1293996 ;0.4126191293430188 ;
|
||||
ETH ;0.01870189 ;BTC ;0.0007 ;2021-02-18 23:22:00 ;ste ;ETH ;0.00009351 ;1532.245300670433 ;
|
||||
MATIC ;66.00660066 ;BTC ;0.0002 ;2021-02-21 17:45:00 ;ste ;MATIC ;0.330033 ;0.12043422966095804;
|
||||
TNT ;101.01010101 ;BTC ;0.0001 ;2021-02-21 17:33:00 ;ste ;TNT ;0.50505051 ;0.0495 ;
|
||||
BTC ;0.00122211 ;EUR ;50 ;2021-03-01 13:28:00 ;ste ;EUR ;1.45 ;39726.37 ;
|
||||
ETH ;0.04078763 ;BTC ;0.0013 ;2021-03-01 13:33:05 ;ste ;ETH ;0.00020394 ;1225.86 ;
|
||||
BTC ;0.00307542 ;EUR ;150 ;2021-03-11 22:59:00 ;hen ;EUR ;2.18 ;48064.98 ;
|
||||
BTC ;0.00222725 ;EUR ;100 ;2021-03-25 22:00:00 ;ste ;EUR ;1.45 ;44247.39 ;
|
||||
FTM ;27.24795640 ;BTC ;0.0002 ;2021-04-02 10:02:00 ;ste ;FTM ;0.13623978 ;0.3769306838590017 ;
|
||||
BTC ;0.00195425 ;EUR ;100 ;2021-04-12 19:33:00 ;ste ;EUR ;1.45 ;50428.55 ;
|
||||
ETH ;0.05622319 ;BTC ;0.002 ;2021-04-12 19:34:05 ;ste ;ETH ;0.00028112 ;1806.414093543639 ;
|
||||
BTC ;0.00210390 ;EUR ;100 ;2021-04-19 19:25:00 ;ste ;EUR ;1.45 ;46841.58 ;
|
||||
BTC ;0.00236794 ;EUR ;100 ;2021-04-25 19:25:00 ;ste ;EUR ;1.45 ;42230.79 ;
|
||||
ETH ;0.03071291 ;BTC ;0.0022 ;2021-05-10 23:52:24 ;ste ;ETH ;0.00015356 ;3308.70 ;
|
||||
BTC ;0.00472456 ;EUR ;200 ;2021-05-13 14:18:00 ;ste ;EUR ;2.90 ;41718.17 ;
|
||||
LBA ;1846.15384615 ;BTC ;0.00024 ;2021-05-14 17:12:00 ;ste ;LBA ;9.23076923 ;0.00544389 ;
|
||||
DOGE ;111.88983856 ;BTC ;0.0011782 ;2021-05-14 17:25:00 ;ste ;DOGE ;0.55944919 ;0.44686811 ;
|
||||
BTC ;0.00524624 ;EUR ;200 ;2021-05-18 08:22:00 ;ste ;EUR ;2.90 ;37569.76 ;
|
||||
AOA ;4007.14285714 ;BTC ;0.0002805 ;2021-05-18 18:42:12 ;ste ;AOA ;20.03571429 ;0.00249554 ;
|
||||
ETH ;0.03566481 ;BTC ;0.0028006 ;2021-05-18 19:56:40 ;ste ;ETH ;0.00017832 ;2817.97 ;
|
||||
BTC ;0.00596527 ;EUR ;200 ;2021-05-20 22:47:00 ;ste ;EUR ;2.90 ;33041.25 ;
|
||||
ETH ;0.04406291 ;BTC ;0.0030403 ;2021-05-20 23:07:13 ;ste ;EUR ;0.00022031 ;2269.48 ;
|
||||
KEY ;2303.48631882 ;BTC ;0.0005989 ;2021-05-20 23:38:00 ;ste ;KEY ;11.5174316 ;0.0089 ;
|
||||
MITH ;477.01929598 ;BTC ;0.0005984 ;2021-05-20 23:45:09 ;ste ;MITH ;2.38509648 ;0.04213771 ;
|
||||
BTC ;0.00630013 ;EUR ;200 ;2021-05-24 16:22:00 ;ste ;EUR ;2.90 ;31285.07 ;
|
||||
RVN ;162.12121212 ;BTC ;0.000321 ;2021-05-24 16:25:00 ;ste ;RVN ;0.81060606 ;0.06168224 ;
|
||||
FTM ;37.80918728 ;BTC ;0.000321 ;2021-05-24 16:28:00 ;ste ;FTM ;0.18904594 ;0.264448598 ;
|
||||
EUR ;55.81 ;BTC ;0.002 ;2021-05-29 23:13:00 ;ste ;BTC ;0.00004244 ; ;Binance
|
||||
OCEAN ;43.46733668 ;BTC ;0.0006055 ;2021-06-16 23:34:00 ;ste ;OCEAN ;0.21733668 ;0.46011561 ;
|
||||
BTC ;0.00596527 ;EUR ;200 ;2021-06-20 21:47:00 ;ste ;EUR ;2.90 ;33527.40 ;
|
||||
XRP ;18.679522 ;BTC ;0.0003612 ;2021-06-25 15:15:16 ;ste ;XRP ;0.093867 ;0.53534560 ;
|
||||
POLY ;82.24118993 ;BTC ;0.0003612 ;2021-06-25 15:16:14 ;ste ;POLY ;0.41327231 ;0.12159357 ;
|
||||
MITH ;326.46756757 ;BTC ;0.0003642 ;2021-06-25 15:17:49 ;ste ;MITH ;1.64054054 ;0.03063091 ;
|
||||
FTM ;109.82689394 ;BTC ;0.0007285 ;2021-06-25 15:18:43 ;ste ;FTM ;0.55189394 ;0.18210476 ;
|
||||
RVN ;696.94647436 ;BTC ;0.0010927 ;2021-06-25 15:17:04 ;ste ;RVN ;3.50224359 ;0.04304491 ;
|
||||
BTC ;0.00677037 ;EUR ;200 ;2021-06-28 21:35:00 ;ste ;EUR ;2.90 ;29540.48 ;
|
||||
LOOM ;243.45744680 ;BTC ;0.000345 ;2021-06-25 32:35:04 ;ste ;LOOM ;1.22340426 ;0.04107493 ;
|
||||
SNT ;239.07638889 ;BTC ;0.0010927 ;2021-06-25 15:17:04 ;ste ;SNT ;1.20138889 ;0.04182763 ;
|
||||
ETH ;0.04937313 ;BTC ;0.003403 ;2021-07-07 15:52:04 ;ste ;ETH ;0.00024811 ;2025.39316 ;
|
||||
ETH ;0.06136540 ;BTC ;0.003731 ;2021-07-21 15:41:07 ;ste ;ETH ;0.00030837 ;1629.58279 ;
|
||||
KEY ;1767.30952381 ;BTC ;0.000373 ;2021-07-21 15:50:00 ;ste ;KEY ;8.88095238 ;0.00565831 ;
|
||||
LBA ;4643.85 ;BTC ;0.000373 ;2021-07-21 15:53:38 ;ste ;LBA ;18.65 ;0.00215338 ;
|
||||
BTC ;0.00601832 ;EUR ;200 ;2021-07-26 14:15:00 ;ste ;EUR ;2.90 ;33231.86 ;
|
||||
ETH ;0.10033165 ;BTC ;0.00613 ;2021-07-26 14:14:12 ;ste ;ETH ;0.00040294 ;1993.38892 ;
|
||||
EUR ;99.51 ;BTC ;0.002967 ;2021-05-29 23:13:00 ;ste ;BTC ;0 ; ;Coinbase
|
||||
EUR ;50.11 ;BTC ;0.001541 ;2021-08-03 13:37:00 ;ste ;BTC ;0.000001 ; ;Binance
|
||||
EUR ;50 ;BTC ;0.001485 ;2021-08-04 23:57:00 ;ste ;BTC ;0.000001 ; ;freebitco.in
|
||||
BTC ;0.00496098 ;EUR ;200 ;2021-08-11 19:44:00 ;ste ;EUR ;2.90 ;40314.61 ;
|
||||
BTC ;0.00190101 ;RVN ;604 ;2021-08-12 16:25:17 ;ste ;BTC ;0.00000763 ; ;71.96
|
||||
EUR ;50.02 ;BTC ;0.001274 ;2021-08-13 11:20:00 ;ste ;BTC ;0.000001 ; ;freebitco.in
|
||||
ETH ;0.04705297 ;BTC ;0.00613 ;2021-08-16 22:07:34 ;ste ;ETH ;0.00018897 ;2725.86 ;
|
||||
EUR ;100 ;BTC ;0.0025854 ;2021-08-18 16:47:00 ;ste ;BTC ;0.000001 ; ;Binance
|
||||
XRP ;104.052804 ;BTC ;0.002477 ;2021-08-25 11:10:14 ;ste ;XRP ;0.417883 ;0.961050 ;
|
||||
EUR ;100.57 ;BTC ;0.002472 ;2021-08-25 14:22:00 ;ste ;BTC ;0 ; ;Coinbase
|
||||
BTC ;0.00109573 ;RVN ;398.44813612 ;2021-08-26 15:58:17 ;ste ;BTC ;0.00000438 ;sellout ;43.77
|
||||
RVN ;870.69677420 ;BTC ;0.002439 ;2021-08-27 19:33:37 ;ste ;RVN ;3.49677419 ;0.11485054 ;
|
||||
BTC ;0.00051639 ;LBA ;6480.77307692 ;2021-09-01 17:32:17 ;ste ;BTC ;0.00000207 ;sellout ;20.64
|
||||
BTC ;0.00466603 ;EUR ;200 ;2021-09-02 13:18:00 ;ste ;EUR ;2.90 ;42915.69 ;
|
||||
MITH ;269.18918919 ;BTC ;0.0003 ;2021-09-07 20:13:42 ;ste ;MITH ;1.08108108 ;0.04364959 ;
|
||||
RVN ;521.36296296 ;BTC ;0.001272 ;2021-09-07 20:16:29 ;ste ;RVN ;2.09382716 ;0.09722593 ;
|
||||
EUR ;140.67 ;BTC ;0.00370768 ;2021-09-13 22:07:00 ;ste ;BTC ;0.00000176 ; ;freebitco.in
|
||||
BTC ;0.00538674 ;EUR ;200 ;2021-09-22 17:46:00 ;ste ;EUR ;2.86 ;37128.20 ;
|
||||
BTC ;0.00560353 ;FTM ;174.5587519 ;2021-10-16 15:00:17 ;ste ;BTC ;0.0000225 ;sellout ;297.64
|
||||
FTM ;41.73395974 ;BTC ;0.001873 ;2021-10-30 10:40:00 ;ste ;FTM ;0.16760626 ;2.39613 ;
|
||||
RVN ;750.75376884 ;BTC ;0.0015 ;2021-11-27 13:35:55 ;ste ;RVN ;3.01507538 ;0.0959 ;
|
||||
FTM ;10.34870756 ;BTC ;0.00041 ;2021-11-27 13:51:39 ;ste ;FTM ;0.04156107 ;1.9326 ;
|
||||
BTC ;0.00020643 ;LTC ;0.05553606 ;2021-11-19 20:31:51 ;ste ;BTC ;0.00000083 ;sellout ;
|
||||
EUR ;200.29 ;BTC ;0.00546 ;2022-01-18 21:49:00 ;ste ;BTC ;0.000005 ; ;Binance
|
||||
|
206
NiceHash/nicehash.pl
Normal file
206
NiceHash/nicehash.pl
Normal file
@@ -0,0 +1,206 @@
|
||||
|
||||
use lib '/home/steffen/scripte/nicehash';
|
||||
use Nicehashapi;
|
||||
use Data::Printer;
|
||||
use File::Slurp;
|
||||
use Mojo::UserAgent;
|
||||
use Time::Piece;
|
||||
# use Term::ANSIColor;
|
||||
use File::Copy;
|
||||
|
||||
my $einsatzhenner = 150;
|
||||
|
||||
my $api = Nicehashapi->new(
|
||||
key => '8bcbda58-5a26-4ce4-8e61-3a0fd894cfbb',
|
||||
secret => '59dc1ee5-a0e6-4ba6-9a9c-a043c350b88b84266786-2d14-4b9f-9ae5-d168ed8376b7',
|
||||
organisation_id => '4c615374-bf85-42fd-860d-b1bf4568c01f'
|
||||
);
|
||||
|
||||
my $data = $api->get_payouts(0, 10_000);
|
||||
|
||||
my @trading = read_file('/home/steffen/scripte/nicehash/investment.csv');
|
||||
|
||||
my %washabich;
|
||||
my %washabichwoanders;
|
||||
my %avgineuro;
|
||||
my %count4avgineuro;
|
||||
|
||||
# my %kleinstekurse = {
|
||||
# ""
|
||||
# }
|
||||
|
||||
|
||||
for my $l ( @trading ) {
|
||||
next if ( $l =~ /^buy/ );
|
||||
chomp $l;
|
||||
$l = $l =~ s/\s//gr;
|
||||
my @sp = split(/;/, $l );
|
||||
|
||||
if ( $sp[0] eq 'BTC' && $sp[2] eq 'EUR' ) {
|
||||
$washabich{'EUR'} += $sp[3] ;
|
||||
$washabich{$sp[0]} += ($sp[1] * $sp[8] );
|
||||
$avgineuro{$sp[0]} += $sp[8];
|
||||
$count4avgineuro{$sp[0]} += 1;
|
||||
} elsif ( $sp[0] eq 'BTC' && $sp[2] ne 'EUR' ) {
|
||||
if ( $sp[8] eq 'sellout' ) {
|
||||
$avgineuro{$sp[2]} = 0;
|
||||
$count4avgineuro{$sp[2]} = 0;
|
||||
$washabich{$sp[2]} = 0;
|
||||
} else {
|
||||
$washabich{$sp[2]} -= (($sp[1]- $sp[7] ) * $sp[8] );
|
||||
}
|
||||
} elsif ( $sp[0] eq 'EUR' ) {
|
||||
$washabich{'EUR'} -= $sp[1];
|
||||
$washabichwoanders{$sp[9]} += $sp[1];
|
||||
} else {
|
||||
$washabich{$sp[0]} += (($sp[1]- $sp[7] ) * $sp[8] );
|
||||
$avgineuro{$sp[0]} += $sp[8];
|
||||
$count4avgineuro{$sp[0]} += 1;
|
||||
$washabich{'BTC'} -= (($sp[1]- $sp[7] ) * $sp[8] );
|
||||
}
|
||||
}
|
||||
|
||||
p $count4avgineuro{'FTM'};
|
||||
p $washabich{'FTM'};
|
||||
|
||||
for my $k ( keys %avgineuro ) {
|
||||
next if ( $count4avgineuro{$k} == 0 );
|
||||
$avgineuro{$k} = $avgineuro{$k} / $count4avgineuro{$k};
|
||||
}
|
||||
|
||||
$washabich{'EUR'} = $washabich{'EUR'} - $einsatzhenner;
|
||||
my $get_accounts2 = $api->get_accounts2('true', 'EUR');
|
||||
|
||||
my %btcwerte;
|
||||
my %curwerte;
|
||||
|
||||
for my $li (@{$get_accounts2->{currencies}}) {
|
||||
if ( $li->{totalBalance} > 0 ) {
|
||||
$btcwerte{$li->{currency}} = $li->{fiatRate};
|
||||
$curwerte{$li->{currency}} = $li->{totalBalance};
|
||||
}
|
||||
}
|
||||
|
||||
my $othercurrbtc = $maxbtc - $btcwerte{'BTC'};
|
||||
my $cur = $api->get_prices;
|
||||
my $gesamtgebuehr = 0;
|
||||
my $gesamt = 0;
|
||||
|
||||
# write_file('/mnt/h/Download/nicehashmining.csv', "Type,Buy Amount,Buy Currency,Sell Amount,Sell Currency,Fee,Fee Currency,Exchange,Trade-Group,Comment,Date\n");
|
||||
|
||||
my $min;
|
||||
my $max;
|
||||
|
||||
# mining
|
||||
for my $line (@{$data->{list}}) {
|
||||
my $date = localtime($line->{created} / 1000);
|
||||
if ( not defined $min ) {
|
||||
$min = $line->{created};
|
||||
}
|
||||
if ( not defined $max ) {
|
||||
$max = $line->{created};
|
||||
}
|
||||
|
||||
if ( $min > $line->{created} ) {
|
||||
$min = $line->{created};
|
||||
}
|
||||
|
||||
if ( $max < $line->{created} ) {
|
||||
$max = $line->{created};
|
||||
}
|
||||
|
||||
my $datetime = $date->ymd .' ' . $date->hms;
|
||||
my $currencies = $line->{currency}->{description};
|
||||
my $feeamount = $line->{feeAmount};
|
||||
my $amount = $line->{amount};
|
||||
my $gebuehr = sprintf('%.8f', $feeamount );
|
||||
$gesamtgebuehr += $gebuehr;
|
||||
$gesamt += $amount;
|
||||
#append_file('/mnt/h/Download/nicehashmining.csv', "Mining (kommerziell),$amount,$currencies,0,EUR,$gebuehr,$currencies,NiceHash,,,$datetime\n");
|
||||
}
|
||||
|
||||
$min = localtime($min / 1000);
|
||||
$max = localtime($max / 1000);
|
||||
|
||||
my $eur = $btcwerte{'BTC'};
|
||||
my $btchenner = 0.00307542;
|
||||
|
||||
my $gesamteuro = sprintf('%.2f', ( $gesamt * $eur ) );
|
||||
my $gebuehreuro = sprintf('%.2f', ( $gesamtgebuehr * $eur ) );
|
||||
my $gesamtgebeuro = sprintf('%.2f', ( ($gesamt - $gesamtgebuehr) * $eur ) );
|
||||
my $btchennereuro = sprintf('%.2f', ( $btchenner * $eur ) ); # Henner 150 Euro
|
||||
my $btcsteffeneuro = sprintf('%.2f', ( ($curwerte{'BTC'} - $btchenner ) * $eur ) ); #
|
||||
|
||||
print 'von '.$min->ymd.' - '.$max->ymd."\n";
|
||||
print "\n";
|
||||
print "─── Mining ───────────────────────────────────────────────────────────────────────────────────\n";
|
||||
print " BTC:\t$gesamt\t €: $gesamteuro\n";
|
||||
print " Gebuehr:\t" . sprintf('%.8f', $gesamtgebuehr). "\t €: $gebuehreuro\n";
|
||||
print "nach Gebuehr:\t". sprintf('%.8f',($gesamt - $gesamtgebuehr)). "\t €: $gesamtgebeuro\n";
|
||||
print "─── Trading ────────────────────────────────────────────────────────────│\n";
|
||||
print "BTC H:\t". sprintf('%.8f', $btchenner ). "\t €: $btchennereuro\t← 150\t→ ". _rotodergruen( _prozent(150,$btchennereuro)) ." %\t│───────────────│──────────────\n";
|
||||
print "BTC S:\t". sprintf('%.8f', ($curwerte{'BTC'} - $btchenner - $gesamt) ). "\t €: $btcsteffeneuro". "\t← ".sprintf('%.2f', $washabich{'BTC'} - 150). "\t→ ". _rotodergruen(_prozent( $washabich{'BTC'} - 150,$btcsteffeneuro))." %\t│ ".sprintf('%.4f', $eur ). " €\t│ ".sprintf('%.2f',$avgineuro{'BTC'} ). " €\n";
|
||||
|
||||
my $maxsteffen = $btcsteffeneuro;
|
||||
my $maxsteffenbtc = sprintf('%.8f', ($btcwerte{'BTC'} - $btchenner) );
|
||||
for my $cu ( sort keys %btcwerte ) {
|
||||
next if ( $cu eq 'BTC' );
|
||||
$maxsteffen += sprintf('%.2f', ( $curwerte{$cu} * $btcwerte{$cu} ) );
|
||||
$maxsteffenbtc += sprintf('%.8f', $curwerte{$cu} );
|
||||
# print sprintf('%.8f', $btcwerte{$cu}). "\n";
|
||||
my $pro = _prozent($curwerte{$cu} * $avgineuro{$cu}, $curwerte{$cu} * $btcwerte{$cu} );
|
||||
|
||||
print "$cu:\t".sprintf('%.8f', $curwerte{$cu} ). "\t €: ".sprintf('%.2f', ( $curwerte{$cu} * $btcwerte{$cu} ) ). "\t← ".sprintf('%.2f', $curwerte{$cu} * $avgineuro{$cu} ). "\t→ ". _rotodergruen($pro) . " %\t│ ".sprintf('%.4f',$btcwerte{$cu} )." €\t│ ".sprintf('%.4f',$avgineuro{$cu} ). " €\n";
|
||||
}
|
||||
|
||||
print "─── result ─────────────────────────────────────────────────────────────│───────────────│──────────────\n";
|
||||
|
||||
my $totaleuro = $get_accounts2->{total}->{totalBalance} * $eur;
|
||||
|
||||
|
||||
print "Umsatz NH:\t".sprintf('%.2f', $totaleuro)." €\n";
|
||||
print "davon mining:\t$gesamtgebeuro €\n";
|
||||
print "Rendite:\t". _rotodergruen( sprintf('%.2f', ($maxsteffen - $washabich{'EUR'}))) . " €\n";
|
||||
print "ohne mining:\t". _rotodergruen(sprintf('%.2f', ($maxsteffen - $washabich{'EUR'} - $gesamtgebeuro))) . " €\n";
|
||||
print "-=-=-=-=-=-=-=-=-=-=-=-=-=-\n";
|
||||
print "Einsatz NH:\t$washabich{'EUR'} €\n";
|
||||
my $su = 0;
|
||||
for my $exch ( sort keys %washabichwoanders ) {
|
||||
print "$exch:\t$washabichwoanders{$exch} €\n";
|
||||
$su += $washabichwoanders{$exch};
|
||||
}
|
||||
|
||||
$su += $washabich{'EUR'};
|
||||
print "===========================\n";
|
||||
print "Einsatz gesamt:\t$su €\n";
|
||||
|
||||
my @dateien = read_dir('./' );
|
||||
|
||||
for my $d ( @dateien ) {
|
||||
copy( '/home/steffen/scripte/nicehash/'.$d, '/mnt/e/Programmierung/Perl/NiceHash' );
|
||||
}
|
||||
|
||||
sub _prozent {
|
||||
my ($ist, $soll) = @_;
|
||||
if ( $ist ) {
|
||||
my $result = sprintf('%.0f', ( ($soll * 100) / $ist - 100));
|
||||
if ( $result !~ /-/ ) {
|
||||
$result = " $result";
|
||||
}
|
||||
return $result;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
sub _rotodergruen {
|
||||
my ($text) = @_;
|
||||
if ( $text =~ /-/ ) {
|
||||
return "\e[31m$text\e[0m";
|
||||
} else {
|
||||
return "\e[32m$text\e[0m";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
336
NiceHash/nicehash.py
Normal file
336
NiceHash/nicehash.py
Normal file
@@ -0,0 +1,336 @@
|
||||
from datetime import datetime
|
||||
from time import mktime
|
||||
import uuid
|
||||
import hmac
|
||||
import requests
|
||||
import json
|
||||
from hashlib import sha256
|
||||
import optparse
|
||||
import sys
|
||||
import dumper
|
||||
|
||||
class public_api:
|
||||
|
||||
def __init__(self, host, verbose=False):
|
||||
self.host = host
|
||||
self.verbose = verbose
|
||||
|
||||
def request(self, method, path, query, body):
|
||||
url = self.host + path
|
||||
if query:
|
||||
url += '?' + query
|
||||
|
||||
if self.verbose:
|
||||
print(method, url)
|
||||
|
||||
s = requests.Session()
|
||||
if body:
|
||||
body_json = json.dumps(body)
|
||||
response = s.request(method, url, data=body_json)
|
||||
else:
|
||||
response = s.request(method, url)
|
||||
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
elif response.content:
|
||||
raise Exception(str(response.status_code) + ": " + response.reason + ": " + str(response.content))
|
||||
else:
|
||||
raise Exception(str(response.status_code) + ": " + response.reason)
|
||||
|
||||
def get_current_global_stats(self):
|
||||
return self.request('GET', '/main/api/v2/public/stats/global/current/', '', None)
|
||||
|
||||
def get_global_stats_24(self):
|
||||
return self.request('GET', '/main/api/v2/public/stats/global/24h/', '', None)
|
||||
|
||||
def get_active_orders(self):
|
||||
return self.request('GET', '/main/api/v2/public/orders/active/', '', None)
|
||||
|
||||
def get_active_orders2(self):
|
||||
return self.request('GET', '/main/api/v2/public/orders/active2/', '', None)
|
||||
|
||||
def buy_info(self):
|
||||
return self.request('GET', '/main/api/v2/public/buy/info/', '', None)
|
||||
|
||||
def get_algorithms(self):
|
||||
return self.request('GET', '/main/api/v2/mining/algorithms/', '', None)
|
||||
|
||||
def get_markets(self):
|
||||
return self.request('GET', '/main/api/v2/mining/markets/', '', None)
|
||||
|
||||
def get_currencies(self):
|
||||
return self.request('GET', '/main/api/v2/public/currencies/', '', None)
|
||||
|
||||
def get_multialgo_info(self):
|
||||
return self.request('GET', '/main/api/v2/public/simplemultialgo/info/', '', None)
|
||||
|
||||
def get_exchange_markets_info(self):
|
||||
return self.request('GET', '/exchange/api/v2/info/status', '', None)
|
||||
|
||||
def get_exchange_trades(self, market):
|
||||
return self.request('GET', '/exchange/api/v2/trades', 'market=' + market, None)
|
||||
|
||||
def get_candlesticks(self, market, from_s, to_s, resolution):
|
||||
return self.request('GET', '/exchange/api/v2/candlesticks', "market={}&from={}&to={}&resolution={}".format(market, from_s, to_s, resolution), None)
|
||||
|
||||
def get_exchange_orderbook(self, market, limit):
|
||||
return self.request('GET', '/exchange/api/v2/orderbook', "market={}&limit={}".format(market, limit), None)
|
||||
|
||||
class private_api:
|
||||
|
||||
def __init__(self, host, organisation_id, key, secret, verbose=False):
|
||||
self.key = key
|
||||
self.secret = secret
|
||||
self.organisation_id = organisation_id
|
||||
self.host = host
|
||||
self.verbose = verbose
|
||||
|
||||
def request(self, method, path, query, body):
|
||||
|
||||
xtime = self.get_epoch_ms_from_now()
|
||||
print(xtime)
|
||||
|
||||
xnonce = str(uuid.uuid4())
|
||||
print(xnonce)
|
||||
|
||||
message = bytearray(self.key, 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(str(xtime), 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(xnonce, 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(self.organisation_id, 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(method, 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(path, 'utf-8')
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(query, 'utf-8')
|
||||
|
||||
print(query)
|
||||
|
||||
|
||||
if body:
|
||||
body_json = json.dumps(body)
|
||||
message += bytearray('\x00', 'utf-8')
|
||||
message += bytearray(body_json, 'utf-8')
|
||||
|
||||
digest = hmac.new(bytearray(self.secret, 'utf-8'), message, sha256).hexdigest()
|
||||
xauth = self.key + ":" + digest
|
||||
|
||||
headers = {
|
||||
'X-Time': str(xtime),
|
||||
'X-Nonce': xnonce,
|
||||
'X-Auth': xauth,
|
||||
'Content-Type': 'application/json',
|
||||
'X-Organization-Id': self.organisation_id,
|
||||
'X-Request-Id': str(uuid.uuid4())
|
||||
}
|
||||
|
||||
print(headers)
|
||||
|
||||
s = requests.Session()
|
||||
s.headers = headers
|
||||
|
||||
|
||||
url = self.host + path
|
||||
if query:
|
||||
url += '?' + query
|
||||
|
||||
if self.verbose:
|
||||
print(method, url)
|
||||
|
||||
if body:
|
||||
response = s.request(method, url, data=body_json)
|
||||
else:
|
||||
response = s.request(method, url)
|
||||
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
elif response.content:
|
||||
raise Exception(str(response.status_code) + ": " + response.reason + ": " + str(response.content))
|
||||
else:
|
||||
raise Exception(str(response.status_code) + ": " + response.reason)
|
||||
|
||||
def get_epoch_ms_from_now(self):
|
||||
now = datetime.now()
|
||||
now_ec_since_epoch = mktime(now.timetuple()) + now.microsecond / 1000000.0
|
||||
return int(now_ec_since_epoch * 1000)
|
||||
|
||||
def algo_settings_from_response(self, algorithm, algo_response):
|
||||
algo_setting = None
|
||||
for item in algo_response['miningAlgorithms']:
|
||||
if item['algorithm'] == algorithm:
|
||||
algo_setting = item
|
||||
|
||||
if algo_setting is None:
|
||||
raise Exception('Settings for algorithm not found in algo_response parameter')
|
||||
|
||||
return algo_setting
|
||||
|
||||
def get_accounts(self):
|
||||
return self.request('GET', '/main/api/v2/accounting/accounts2/', '', None)
|
||||
|
||||
def get_accounts_for_currency(self, currency):
|
||||
return self.request('GET', '/main/api/v2/accounting/account2/' + currency, '', None)
|
||||
|
||||
def get_withdrawal_addresses(self, currency, size, page):
|
||||
|
||||
params = "currency={}&size={}&page={}".format(currency, size, page)
|
||||
|
||||
return self.request('GET', '/main/api/v2/accounting/withdrawalAddresses/', params, None)
|
||||
|
||||
def get_withdrawal_types(self):
|
||||
return self.request('GET', '/main/api/v2/accounting/withdrawalAddresses/types/', '', None)
|
||||
|
||||
def withdraw_request(self, address_id, amount, currency):
|
||||
withdraw_data = {
|
||||
"withdrawalAddressId": address_id,
|
||||
"amount": amount,
|
||||
"currency": currency
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/accounting/withdrawal/', '', withdraw_data)
|
||||
|
||||
def get_my_active_orders(self, algorithm, market, limit):
|
||||
|
||||
ts = self.get_epoch_ms_from_now()
|
||||
params = "algorithm={}&market={}&ts={}&limit={}&op=LT".format(algorithm, market, ts, limit)
|
||||
|
||||
return self.request('GET', '/main/api/v2/hashpower/myOrders', params, None)
|
||||
|
||||
def create_pool(self, name, algorithm, pool_host, pool_port, username, password):
|
||||
pool_data = {
|
||||
"name": name,
|
||||
"algorithm": algorithm,
|
||||
"stratumHostname": pool_host,
|
||||
"stratumPort": pool_port,
|
||||
"username": username,
|
||||
"password": password
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/pool/', '', pool_data)
|
||||
|
||||
def delete_pool(self, pool_id):
|
||||
return self.request('DELETE', '/main/api/v2/pool/' + pool_id, '', None)
|
||||
|
||||
def get_my_pools(self, page, size):
|
||||
return self.request('GET', '/main/api/v2/pools/', '', None)
|
||||
|
||||
def get_hashpower_orderbook(self, algorithm):
|
||||
return self.request('GET', '/main/api/v2/hashpower/orderBook/', 'algorithm=' + algorithm, None )
|
||||
|
||||
def create_hashpower_order(self, market, type, algorithm, price, limit, amount, pool_id, algo_response):
|
||||
|
||||
algo_setting = self.algo_settings_from_response(algorithm, algo_response)
|
||||
|
||||
order_data = {
|
||||
"market": market,
|
||||
"algorithm": algorithm,
|
||||
"amount": amount,
|
||||
"price": price,
|
||||
"limit": limit,
|
||||
"poolId": pool_id,
|
||||
"type": type,
|
||||
"marketFactor": algo_setting['marketFactor'],
|
||||
"displayMarketFactor": algo_setting['displayMarketFactor']
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/hashpower/order/', '', order_data)
|
||||
|
||||
def cancel_hashpower_order(self, order_id):
|
||||
return self.request('DELETE', '/main/api/v2/hashpower/order/' + order_id, '', None)
|
||||
|
||||
def refill_hashpower_order(self, order_id, amount):
|
||||
refill_data = {
|
||||
"amount": amount
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/hashpower/order/' + order_id + '/refill/', '', refill_data)
|
||||
|
||||
def set_price_hashpower_order(self, order_id, price, algorithm, algo_response):
|
||||
|
||||
algo_setting = self.algo_settings_from_response(algorithm, algo_response)
|
||||
|
||||
price_data = {
|
||||
"price": price,
|
||||
"marketFactor": algo_setting['marketFactor'],
|
||||
"displayMarketFactor": algo_setting['displayMarketFactor']
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/hashpower/order/' + order_id + '/updatePriceAndLimit/', '',
|
||||
price_data)
|
||||
|
||||
def set_limit_hashpower_order(self, order_id, limit, algorithm, algo_response):
|
||||
algo_setting = self.algo_settings_from_response(algorithm, algo_response)
|
||||
limit_data = {
|
||||
"limit": limit,
|
||||
"marketFactor": algo_setting['marketFactor'],
|
||||
"displayMarketFactor": algo_setting['displayMarketFactor']
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/hashpower/order/' + order_id + '/updatePriceAndLimit/', '',
|
||||
limit_data)
|
||||
|
||||
def set_price_and_limit_hashpower_order(self, order_id, price, limit, algorithm, algo_response):
|
||||
algo_setting = self.algo_settings_from_response(algorithm, algo_response)
|
||||
|
||||
price_data = {
|
||||
"price": price,
|
||||
"limit": limit,
|
||||
"marketFactor": algo_setting['marketFactor'],
|
||||
"displayMarketFactor": algo_setting['displayMarketFactor']
|
||||
}
|
||||
return self.request('POST', '/main/api/v2/hashpower/order/' + order_id + '/updatePriceAndLimit/', '',
|
||||
price_data)
|
||||
|
||||
def get_my_exchange_orders(self, market):
|
||||
return self.request('GET', '/exchange/api/v2/myOrders', 'market=' + market, None)
|
||||
|
||||
def get_my_exchange_trades(self, market):
|
||||
return self.request('GET','/exchange/api/v2/myTrades', 'market=' + market, None)
|
||||
|
||||
def create_exchange_limit_order(self, market, side, quantity, price):
|
||||
query = "market={}&side={}&type=limit&quantity={}&price={}".format(market, side, quantity, price)
|
||||
return self.request('POST', '/exchange/api/v2/order', query, None)
|
||||
|
||||
def create_exchange_buy_market_order(self, market, quantity):
|
||||
query = "market={}&side=buy&type=market&secQuantity={}".format(market, quantity)
|
||||
return self.request('POST', '/exchange/api/v2/order', query, None)
|
||||
|
||||
def create_exchange_sell_market_order(self, market, quantity):
|
||||
query = "market={}&side=sell&type=market&quantity={}".format(market, quantity)
|
||||
return self.request('POST', '/exchange/api/v2/order', query, None)
|
||||
|
||||
def cancel_exchange_order(self, market, order_id):
|
||||
query = "market={}&orderId={}".format(market, order_id)
|
||||
return self.request('DELETE', '/exchange/api/v2/order', query, None)
|
||||
|
||||
def get_payouts(self):
|
||||
return self.request('GET', '/main/api/v2/mining/rigs/payouts/', '', None)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = optparse.OptionParser()
|
||||
|
||||
parser.add_option('-b', '--base_url', dest="base", help="Api base url", default="https://api2.nicehash.com")
|
||||
parser.add_option('-o', '--organization_id', dest="org", help="Organization id")
|
||||
parser.add_option('-k', '--key', dest="key", help="Api key")
|
||||
parser.add_option('-s', '--secret', dest="secret", help="Secret for api key")
|
||||
parser.add_option('-m', '--method', dest="method", help="Method for request", default="GET")
|
||||
parser.add_option('-p', '--path', dest="path", help="Path for request", default="/")
|
||||
parser.add_option('-q', '--params', dest="params", help="Parameters for request")
|
||||
parser.add_option('-d', '--body', dest="body", help="Body for request")
|
||||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
private_api = private_api(options.base, options.org, options.key, options.secret)
|
||||
|
||||
params = ''
|
||||
if options.params is not None:
|
||||
params = options.params
|
||||
|
||||
try:
|
||||
response = private_api.request(options.method, options.path, params, options.body)
|
||||
except Exception as ex:
|
||||
print("Unexpected error:", ex)
|
||||
exit(1)
|
||||
|
||||
print(response)
|
||||
exit(0)
|
||||
BIN
NiceHash/nicehash.pyc
Normal file
BIN
NiceHash/nicehash.pyc
Normal file
Binary file not shown.
12
NiceHash/nicehash_api.py
Normal file
12
NiceHash/nicehash_api.py
Normal file
@@ -0,0 +1,12 @@
|
||||
import nicehash
|
||||
import json
|
||||
|
||||
host = 'https://api2.nicehash.com'
|
||||
organisation_id = '4c615374-bf85-42fd-860d-b1bf4568c01f'
|
||||
key = '8bcbda58-5a26-4ce4-8e61-3a0fd894cfbb'
|
||||
secret = '59dc1ee5-a0e6-4ba6-9a9c-a043c350b88b84266786-2d14-4b9f-9ae5-d168ed8376b7'
|
||||
|
||||
private_api = nicehash.private_api(host, organisation_id, key, secret)
|
||||
|
||||
payouts = private_api.get_payouts()
|
||||
# print(y)
|
||||
85
NiceHash/nicehashmining.csv
Normal file
85
NiceHash/nicehashmining.csv
Normal file
@@ -0,0 +1,85 @@
|
||||
Type,Buy Amount,Buy Currency,Sell Amount,Sell Currency,Fee,Fee Currency,Exchange,Trade-Group,Comment,Date
|
||||
Mining (kommerziell),0.00001429,BTC,0,EUR,0.00000029,BTC,NiceHash,,,2021-03-20 05:05:26
|
||||
Mining (kommerziell),0.00001569,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-19 21:06:23
|
||||
Mining (kommerziell),0.00001564,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-19 13:07:00
|
||||
Mining (kommerziell),0.00001619,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-19 05:06:00
|
||||
Mining (kommerziell),0.00001835,BTC,0,EUR,0.00000037,BTC,NiceHash,,,2021-03-18 21:05:55
|
||||
Mining (kommerziell),0.00001552,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-18 13:05:49
|
||||
Mining (kommerziell),0.00001794,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-03-18 05:05:21
|
||||
Mining (kommerziell),0.00001897,BTC,0,EUR,0.00000038,BTC,NiceHash,,,2021-03-17 21:04:35
|
||||
Mining (kommerziell),0.00001575,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-17 13:06:30
|
||||
Mining (kommerziell),0.00001061,BTC,0,EUR,0.00000021,BTC,NiceHash,,,2021-03-17 05:05:23
|
||||
Mining (kommerziell),0.00001939,BTC,0,EUR,0.00000039,BTC,NiceHash,,,2021-03-16 21:06:46
|
||||
Mining (kommerziell),0.00001648,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-16 13:04:12
|
||||
Mining (kommerziell),0.0000139,BTC,0,EUR,0.00000028,BTC,NiceHash,,,2021-03-16 05:04:50
|
||||
Mining (kommerziell),0.00001859,BTC,0,EUR,0.00000037,BTC,NiceHash,,,2021-03-15 21:09:55
|
||||
Mining (kommerziell),0.0000175,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-15 13:08:04
|
||||
Mining (kommerziell),0.00001672,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-15 05:06:25
|
||||
Mining (kommerziell),0.00001704,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-14 21:03:56
|
||||
Mining (kommerziell),0.00001595,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-14 13:04:44
|
||||
Mining (kommerziell),0.00001757,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-14 05:03:25
|
||||
Mining (kommerziell),0.00001619,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-13 21:04:25
|
||||
Mining (kommerziell),0.00001659,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-13 13:07:03
|
||||
Mining (kommerziell),0.00001618,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-13 05:03:48
|
||||
Mining (kommerziell),0.00001818,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-03-12 21:03:50
|
||||
Mining (kommerziell),0.00001654,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-12 13:06:54
|
||||
Mining (kommerziell),0.00001706,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-12 05:04:33
|
||||
Mining (kommerziell),0.00001634,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-11 21:06:11
|
||||
Mining (kommerziell),0.00001505,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-11 13:06:38
|
||||
Mining (kommerziell),0.00001524,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-11 05:04:54
|
||||
Mining (kommerziell),0.0000172,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-10 21:10:50
|
||||
Mining (kommerziell),0.00001674,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-10 13:07:12
|
||||
Mining (kommerziell),0.00001683,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-10 05:02:42
|
||||
Mining (kommerziell),0.00001738,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-09 21:06:57
|
||||
Mining (kommerziell),0.00001675,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-09 13:07:56
|
||||
Mining (kommerziell),0.00001666,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-09 05:03:28
|
||||
Mining (kommerziell),0.00001755,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-08 21:08:11
|
||||
Mining (kommerziell),0.00001614,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-08 13:03:42
|
||||
Mining (kommerziell),0.00001574,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-08 05:03:50
|
||||
Mining (kommerziell),0.00001754,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-07 21:03:32
|
||||
Mining (kommerziell),0.00001505,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-07 13:02:02
|
||||
Mining (kommerziell),0.00001249,BTC,0,EUR,0.00000025,BTC,NiceHash,,,2021-03-07 05:02:55
|
||||
Mining (kommerziell),0.0000149,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-06 21:02:07
|
||||
Mining (kommerziell),0.00001398,BTC,0,EUR,0.00000028,BTC,NiceHash,,,2021-03-06 13:02:03
|
||||
Mining (kommerziell),0.00001523,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-06 05:03:14
|
||||
Mining (kommerziell),0.00001548,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-05 21:02:46
|
||||
Mining (kommerziell),0.00001539,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-05 13:00:12
|
||||
Mining (kommerziell),0.00001183,BTC,0,EUR,0.00000024,BTC,NiceHash,,,2021-03-05 05:03:55
|
||||
Mining (kommerziell),0.00001613,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-03-04 21:05:13
|
||||
Mining (kommerziell),0.00001532,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-04 13:07:26
|
||||
Mining (kommerziell),0.00001729,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-03-04 05:05:52
|
||||
Mining (kommerziell),0.00001778,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-03-03 21:07:33
|
||||
Mining (kommerziell),0.00001513,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-03 13:06:29
|
||||
Mining (kommerziell),0.00001422,BTC,0,EUR,0.00000028,BTC,NiceHash,,,2021-03-03 05:01:14
|
||||
Mining (kommerziell),0.00001707,BTC,0,EUR,0.00000034,BTC,NiceHash,,,2021-03-02 21:08:06
|
||||
Mining (kommerziell),0.00001513,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-02 13:03:15
|
||||
Mining (kommerziell),0.00001541,BTC,0,EUR,0.00000031,BTC,NiceHash,,,2021-03-02 05:06:50
|
||||
Mining (kommerziell),0.00001662,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-03-01 21:08:01
|
||||
Mining (kommerziell),0.00001477,BTC,0,EUR,0.00000030,BTC,NiceHash,,,2021-03-01 13:07:28
|
||||
Mining (kommerziell),0.0000125,BTC,0,EUR,0.00000025,BTC,NiceHash,,,2021-03-01 05:05:15
|
||||
Mining (kommerziell),0.00001166,BTC,0,EUR,0.00000023,BTC,NiceHash,,,2021-02-28 21:03:50
|
||||
Mining (kommerziell),0.0000139,BTC,0,EUR,0.00000028,BTC,NiceHash,,,2021-02-28 13:04:30
|
||||
Mining (kommerziell),0.00001338,BTC,0,EUR,0.00000027,BTC,NiceHash,,,2021-02-28 09:40:45
|
||||
Mining (kommerziell),0.0000125,BTC,0,EUR,0.00000025,BTC,NiceHash,,,2021-02-27 21:41:07
|
||||
Mining (kommerziell),0.00001591,BTC,0,EUR,0.00000032,BTC,NiceHash,,,2021-02-27 09:05:05
|
||||
Mining (kommerziell),0.00001789,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-02-27 01:04:06
|
||||
Mining (kommerziell),0.00001791,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-02-26 17:03:53
|
||||
Mining (kommerziell),0.00001767,BTC,0,EUR,0.00000035,BTC,NiceHash,,,2021-02-26 09:05:19
|
||||
Mining (kommerziell),0.0000164,BTC,0,EUR,0.00000033,BTC,NiceHash,,,2021-02-26 01:04:34
|
||||
Mining (kommerziell),0.00001252,BTC,0,EUR,0.00000025,BTC,NiceHash,,,2021-02-25 13:04:29
|
||||
Mining (kommerziell),0.00001845,BTC,0,EUR,0.00000037,BTC,NiceHash,,,2021-02-25 01:25:43
|
||||
Mining (kommerziell),0.00001115,BTC,0,EUR,0.00000022,BTC,NiceHash,,,2021-02-24 17:11:55
|
||||
Mining (kommerziell),0.00001923,BTC,0,EUR,0.00000038,BTC,NiceHash,,,2021-02-24 05:04:40
|
||||
Mining (kommerziell),0.00001008,BTC,0,EUR,0.00000020,BTC,NiceHash,,,2021-02-23 21:06:16
|
||||
Mining (kommerziell),0.00001343,BTC,0,EUR,0.00000027,BTC,NiceHash,,,2021-02-23 17:07:07
|
||||
Mining (kommerziell),0.00002585,BTC,0,EUR,0.00000052,BTC,NiceHash,,,2021-02-23 13:07:26
|
||||
Mining (kommerziell),0.00001466,BTC,0,EUR,0.00000029,BTC,NiceHash,,,2021-02-23 05:06:07
|
||||
Mining (kommerziell),0.0000206,BTC,0,EUR,0.00000041,BTC,NiceHash,,,2021-02-22 21:07:19
|
||||
Mining (kommerziell),0.00001279,BTC,0,EUR,0.00000026,BTC,NiceHash,,,2021-02-22 07:00:22
|
||||
Mining (kommerziell),0.00001782,BTC,0,EUR,0.00000036,BTC,NiceHash,,,2021-02-21 17:15:09
|
||||
Mining (kommerziell),0.00001091,BTC,0,EUR,0.00000022,BTC,NiceHash,,,2021-02-21 07:00:36
|
||||
Mining (kommerziell),0.00001108,BTC,0,EUR,0.00000022,BTC,NiceHash,,,2021-02-20 21:08:36
|
||||
Mining (kommerziell),0.00001055,BTC,0,EUR,0.00000021,BTC,NiceHash,,,2021-02-20 17:09:42
|
||||
Mining (kommerziell),0.00001456,BTC,0,EUR,0.00000029,BTC,NiceHash,,,2021-02-20 13:07:35
|
||||
Mining (kommerziell),0.00001113,BTC,0,EUR,0.00000022,BTC,NiceHash,,,2021-02-19 21:11:54
|
||||
Mining (kommerziell),0.00001173,BTC,0,EUR,0.00000023,BTC,NiceHash,,,2021-02-19 17:15:32
|
||||
|
14
NiceHash/nicehashtest.pl
Normal file
14
NiceHash/nicehashtest.pl
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
use lib '/home/steffen/scripte/Nicehash';
|
||||
use Nicehashapi;
|
||||
use Data::Printer;
|
||||
|
||||
my $api = Nicehashapi->new(
|
||||
key => '8bcbda58-5a26-4ce4-8e61-3a0fd894cfbb',
|
||||
secret => '59dc1ee5-a0e6-4ba6-9a9c-a043c350b88b84266786-2d14-4b9f-9ae5-d168ed8376b7',
|
||||
organisation_id => '4c615374-bf85-42fd-860d-b1bf4568c01f'
|
||||
);
|
||||
|
||||
my $data = $api->get_payouts;
|
||||
|
||||
p $data->{list};
|
||||
1
NiceHash/pricesbitcoin.json
Normal file
1
NiceHash/pricesbitcoin.json
Normal file
File diff suppressed because one or more lines are too long
136
cx2mysql.pl
Normal file
136
cx2mysql.pl
Normal file
@@ -0,0 +1,136 @@
|
||||
use strict;
|
||||
use File::Slurp qw(:std);
|
||||
use IO::Handle;
|
||||
use File::Path qw(make_path);
|
||||
use Data::Printer;
|
||||
|
||||
my $datei = 'admin.sql';
|
||||
|
||||
my @lines = read_file($datei);
|
||||
|
||||
write_file('admin2.sql', '');
|
||||
|
||||
my %spalten;
|
||||
my $spaltenbestimmen = 0;
|
||||
my $inserts = 0;
|
||||
my $ignoreline = 0;
|
||||
my $noreturn = 0;
|
||||
|
||||
for my $l ( @lines ) {
|
||||
$noreturn = 0;
|
||||
chomp($l);
|
||||
if ( $l =~ /CREATE INDEX|CREATE UNIQUE/ ) {
|
||||
$ignoreline = 1;
|
||||
}
|
||||
|
||||
if ( $l eq "/" ) {
|
||||
$inserts = 0;
|
||||
}
|
||||
|
||||
if ( $inserts == 1 ) {
|
||||
$l =~ s/" "/""/g;
|
||||
$l =~ s/" /"/g;
|
||||
$l =~ s/ "/"/g;
|
||||
$l =~ s/'/\\'/g;
|
||||
$l =~ s/,,,/,NULL,NULL,/g;
|
||||
$l =~ s/,,/,NULL,/g;
|
||||
$l =~ s/^,"/NULL,"/g;
|
||||
$l = $l =~ s/,$//r;
|
||||
$l = "($l),";
|
||||
}
|
||||
|
||||
$l =~ s/~ME~/Ä/g;
|
||||
$l =~ s/~NM~/Ü/g;
|
||||
$l =~ s/~NG~/Ö/g;
|
||||
$l =~ s/~OE~/ä/g;
|
||||
$l =~ s/~PM~/ü/g;
|
||||
$l =~ s/~PG~/ö/g;
|
||||
$l =~ s/~NP~/ß/g;
|
||||
$l =~ s/~ANAK~/\\n/g;
|
||||
$l =~ s/ä/ä/g;
|
||||
$l =~ s/~LF~/\\/g;
|
||||
$l =~ s/ü/ü/g;
|
||||
$l =~ s/ö/ö/g;
|
||||
|
||||
$l =~ s/"\\n"/""/g;
|
||||
|
||||
# if ( $l =~ /~..~/ ) {
|
||||
# p $l;
|
||||
# }
|
||||
|
||||
$l =~ s/\$long/""/g;
|
||||
|
||||
next if ( $l =~ /SET LOADVERSION|PCTFREE|^\\|~/ );
|
||||
next if ( $l eq '/' );
|
||||
|
||||
|
||||
if ( $l =~ /\$DATATYPES/ ) {
|
||||
$l = "VALUES";
|
||||
$inserts = 1;
|
||||
}
|
||||
|
||||
if ( $l =~ /INSERT INTO/ ) {
|
||||
$noreturn = 1;
|
||||
$l = $l =~ s/VALUES//r;
|
||||
$spaltenbestimmen = 0;
|
||||
}
|
||||
|
||||
if ( $spaltenbestimmen > 0 ) {
|
||||
if ( $l =~ /\)$/ ) {
|
||||
$l = "$l;\n";
|
||||
};
|
||||
|
||||
my @sp = split(/ /, $l);
|
||||
|
||||
$spalten{$spaltenbestimmen}= $sp[2];
|
||||
$spaltenbestimmen += 1;
|
||||
}
|
||||
|
||||
for my $z ( 0 .. 20 ) {
|
||||
if ( $l =~ / :$z/ ) {
|
||||
# print "$z $spalten{$z}\n";
|
||||
$noreturn = 1;
|
||||
$l = $l =~ s/:$z/$spalten{$z}/r;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $l =~ /CREATE TABLE/ ) {
|
||||
# p $l;
|
||||
my $tabname = $l =~ s/CREATE TABLE SYSADM.//r;
|
||||
$tabname =~ s/ \(//;
|
||||
|
||||
$l = "DROP TABLE IF EXISTS `$tabname`;\n" . $l;
|
||||
p $l;
|
||||
|
||||
$l = $l =~ s/CREATE TABLE/CREATE TABLE IF NOT EXISTS/r;
|
||||
$spaltenbestimmen = 1;
|
||||
#if ( $l =~ /SYSADM.TEL_ALIASES|SYSADM.DATEIEN|SYSADM.PC_NET|SYSADM.PC_LOGIN|SYSADM.MMAC|SYSADM.PC_FILE|SYSADM.PC_RPRN|SYSADM.INV_INI|SYSADM.PC_KARTEN|SYSADM.HD_LOESUNG|SYSADM.HD_STICHWORT|SYSADM.HD_MELDG|SYSADM.TEL_TELEFON|SYSADM.TEL_NAMEN|SYSADM.PROXYMAILLOG/ ) {
|
||||
if ( $l =~ /SYSADM.CX_/ ) {
|
||||
if ( $l =~ /CX_IPOLD/ ) {
|
||||
$ignoreline = 1;
|
||||
} else {
|
||||
$ignoreline = 0;
|
||||
}
|
||||
} else {
|
||||
$ignoreline = 1;
|
||||
}
|
||||
}
|
||||
if ( $ignoreline == 1 ) {
|
||||
next;
|
||||
};
|
||||
|
||||
next if ( $l eq '(//),' );
|
||||
|
||||
$l =~ s/SYSADM.//g;
|
||||
append_file("admin2.sql", $l.( $noreturn == 1 ? "": "\n") );
|
||||
}
|
||||
|
||||
my $lin = read_file("admin2.sql");
|
||||
|
||||
$lin =~ s/\),\nDROP/\);\n\nDROP/g; #
|
||||
$lin =~ s/, OBJ0/, I2/g;
|
||||
$lin =~ s/\),$/\);/;
|
||||
|
||||
write_file('cx.sql', $lin);
|
||||
|
||||
1;
|
||||
114
dbcompare.pl
Normal file
114
dbcompare.pl
Normal file
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use DBI;
|
||||
use Data::Dumper;
|
||||
use JSON;
|
||||
use Getopt::Long;
|
||||
use File::Slurp qw(:std);
|
||||
use Term::ANSIColor;
|
||||
|
||||
my $inhalt; # Refrenztdaten aus der JSON Datei
|
||||
my $write = 0; # Parameter zum schreiben der Datei
|
||||
my $fileexist = 1; # Existiert die angegene Datei nicht wird sie zu 0 und eine Meldung erscheint
|
||||
my $db = ""; # Datenbankparameter
|
||||
my $user = ""; # Datenbankuser
|
||||
my $pass = ""; # Datenbankpasswort
|
||||
my $file = ""; # Referenzdatei
|
||||
my $server = ""; # Datenbankserver
|
||||
my $result = ""; # ergebnis des Vergleichens
|
||||
|
||||
my %h = ('write' => \$write, 'db' => \$db, 'user' => \$user, 'pass' => \$pass, 'file' => \$file, 'server' => \$server);
|
||||
my $tref;
|
||||
my @tabletmp;
|
||||
GetOptions (\%h, 'write=i', 'db=s', 'user=s', 'pass=s', 'file=s', 'server=s');
|
||||
|
||||
if ( $db eq "" || $user eq "" || $user eq "" || $file eq "" || $server eq "" ) {
|
||||
print "Willkommen zum Vergleich von einer Mysqldatenbank mit einer Refrenzdatei im JSON Format\n";
|
||||
print "es fehlen folgende Parameter\n";
|
||||
print "\n";
|
||||
print "--server -s = Datenbankserver\n" if ($server eq "");
|
||||
print "--db -d = Datenbankname\n" if ($db eq "");
|
||||
print "--user -u = Datenbankuser\n" if ($user eq "");
|
||||
print "--pass -p = Datenbankpasswort\n" if ($pass eq "");
|
||||
print "--file -f = Datei mit Pfadangabe als Referenz\n" if ($file eq "");
|
||||
print "--write -w = über/Schreibt die Refrenzdatei noch im Scriptordner\n" if ($write eq "");
|
||||
exit;
|
||||
}
|
||||
|
||||
my $dbh = DBI->connect("DBI:mysql:$db:$server", $user, $pass)
|
||||
#my $dbh = DBI->connect('DBI:mysql:prod:ares', 'root', 'jagger')
|
||||
or die "Couldn't connect to database: " . DBI->errstr;
|
||||
|
||||
#my @s1 = $dbh->selectall_arrayref("SHOW TABLE STATUS FROM `ats`;", { Slice => {} });
|
||||
my $s1 = $dbh->selectall_arrayref("SHOW FULL TABLES FROM $db;", { Slice => {} });
|
||||
|
||||
# Datei einlesen
|
||||
my $fi = read_file( $file, err_mode => "quiet");
|
||||
|
||||
if ( $fi ) {
|
||||
$inhalt = decode_json($fi);
|
||||
} else {
|
||||
$fileexist = 0;
|
||||
}
|
||||
|
||||
for my $tab ( @{$s1} ) {
|
||||
my $n = $tab->{"Tables_in_$db"};
|
||||
my $s2 = $dbh->selectall_arrayref("DESCRIBE $db.$n" , { Slice => {} });
|
||||
my @tabelle;
|
||||
|
||||
for my $s ( @{$s2} ) {
|
||||
my $f = $s->{Field};
|
||||
$tref->{ $n }->{$f}->{Type} = $s->{Type};
|
||||
$tref->{ $n }->{$f}->{Null} = $s->{Null};
|
||||
$tref->{ $n }->{$f}->{Key} = $s->{Key};
|
||||
$tref->{ $n }->{$f}->{Default} = $s->{Default};
|
||||
$tref->{ $n }->{$f}->{Extra} = $s->{Extra};
|
||||
|
||||
push @tabelle, $s;
|
||||
}
|
||||
push @tabletmp, { 'name' => $n , "col" => [ @tabelle] };
|
||||
}
|
||||
|
||||
for my $ref ( @{$inhalt} ) {
|
||||
my $resulttemp = "";
|
||||
my $name = $ref->{name};
|
||||
for my $col ( @{$ref->{col}} ) {
|
||||
#print Dumper($col, $tref->{ $name }->{$col->{Field}}->{Default}, $tref->{ $name }->{$col->{Field}}->{Key}, $tref->{ $name }->{$col->{Field}}->{Type}, $tref->{ $name }->{$col->{Field}}->{Extra});
|
||||
my $defaultref = defined $col->{Default} ? $col->{Default} : 'Null';
|
||||
my $default = defined $tref->{ $name }->{$col->{Field}}->{Default} ? $tref->{ $name }->{$col->{Field}}->{Default} : 'Null';
|
||||
|
||||
if ( $defaultref ne $default ) {
|
||||
$resulttemp .= "column: $col->{Field} Default: \t\t $defaultref \t $default\n";
|
||||
}
|
||||
if ( $col->{Key} ne $tref->{ $name }->{$col->{Field}}->{Key} ) {
|
||||
$resulttemp .= "column: $col->{Field} Key: \t\t $col->{Key} \t $tref->{ $name }->{$col->{Field}}->{Key}\n";
|
||||
}
|
||||
if ( $col->{Type} ne $tref->{ $name }->{$col->{Field}}->{Type} ) {
|
||||
$resulttemp .= "column: $col->{Field} Type: \t\t $col->{Type} \t $tref->{ $name }->{$col->{Field}}->{Type}\n";
|
||||
}
|
||||
if ( $col->{Extra} ne $tref->{ $name }->{$col->{Field}}->{Extra} ) {
|
||||
$resulttemp .= "column: $col->{Field} Extra: \t\t $col->{Extra} \t $tref->{ $name }->{$col->{Field}}->{Extra}\n";
|
||||
}
|
||||
if ( $col->{Null} ne $tref->{ $name }->{$col->{Field}}->{Null} ) {
|
||||
$resulttemp .= "column: $col->{Field} Null: \t\t $col->{Null} \t $tref->{ $name }->{$col->{Field}}->{Null}\n";
|
||||
}
|
||||
}
|
||||
if ( $resulttemp ne "" ) {
|
||||
$result .= "table: $name\n";
|
||||
$result .= $resulttemp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( $write == 1 || $fileexist == 0 ) {
|
||||
write_file($file, encode_json(\@tabletmp) );
|
||||
print "Die angegebene Datei existiert nicht und wird erstellt\n" if ( $fileexist == 0 );
|
||||
print "Datei $file wurde geschrieben\n";
|
||||
} else {
|
||||
print $result eq "" ? "Alles bestens, keine Unterschiede gefunden\n" : $result;
|
||||
}
|
||||
|
||||
$dbh->disconnect;
|
||||
1;
|
||||
101
download_datatables.pl
Normal file
101
download_datatables.pl
Normal file
@@ -0,0 +1,101 @@
|
||||
#!/perl -w
|
||||
use warnings;
|
||||
use File::Slurp qw(:std);
|
||||
use File::stat;
|
||||
use File::Path qw(make_path);
|
||||
# use IO::Socket::SSL;
|
||||
use LWP::UserAgent;
|
||||
use Data::Printer;
|
||||
use Crypt::SSLeay;
|
||||
use Net::SSL;
|
||||
#use Win32::File::VersionInfo;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
|
||||
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
|
||||
$| = 1;
|
||||
|
||||
my $bib = {
|
||||
'autofill' => 'AutoFill',
|
||||
'buttons' => 'Buttons',
|
||||
'select' => 'Select',
|
||||
'staterestore' => 'StateRestore',
|
||||
'scroller' => 'Scroller',
|
||||
'searchbuilder' => 'SearchBuilder',
|
||||
'searchpanes' => 'SearchPanes',
|
||||
'rowreorder' => 'RowReorder',
|
||||
'responsive' => 'Responsive',
|
||||
'rowgroup' => 'RowGroup',
|
||||
'colreorder' => 'ColReorder',
|
||||
'fixedcolumns' => 'FixedColumns',
|
||||
'keytable' => 'KeyTable',
|
||||
'fixedheader' => 'FixedHeader',
|
||||
'datetime' => 'Datetime',
|
||||
};
|
||||
|
||||
my @dateien;
|
||||
|
||||
my $downloadfolder = 'D:\\wsldata\\htlib\\jquery-datatables';
|
||||
|
||||
my $ua = LWP::UserAgent->new(timeout => 10);
|
||||
$ua->agent('Mozilla/5.0');
|
||||
$ua->show_progress( 1 );
|
||||
|
||||
my $response = $ua->get( 'https://cdn.datatables.net/');
|
||||
my @releases = $response->as_string =~ /href="(.*)">Release notes/g;
|
||||
|
||||
for my $rel ( @releases ) {
|
||||
my $folder = $rel =~ s/\/\/cdn.datatables.net\///r;
|
||||
my @urlsplit = split('/', $folder);
|
||||
|
||||
$folder = $folder =~ s/\//\\\\/gr;
|
||||
|
||||
if ( $urlsplit[0] !~ /^\d*\.\d*\.\d*$/ ) {
|
||||
if ( $bib->{$urlsplit[0]} ) {
|
||||
$folder = $folder =~ s/$urlsplit[0]/$bib->{$urlsplit[0]}/r;
|
||||
}
|
||||
|
||||
$folder = 'extensions\\'. $folder;
|
||||
}
|
||||
if ( !-e $downloadfolder.'\\'. $folder) {
|
||||
my $response = $ua->get( 'https://cdn.datatables.net/'. $rel);
|
||||
my @files = $response->as_string =~ /<a href="(.*)">\/\//g;
|
||||
for my $f ( @files ) {
|
||||
if ( $f !~ /mjs$|json$/ ) {
|
||||
push @dateien, $f;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$folder = $folder =~ s/\\\\$//rg;
|
||||
$folder = $folder =~ s/\\\\/\\/rg;
|
||||
print "$folder -> aktuell\n";
|
||||
}
|
||||
}
|
||||
|
||||
for my $da ( @dateien ) {
|
||||
next if $da !~ /cdn\.datatables\.net/ or $da =~ /mjs$/ ;
|
||||
my $folder = $da =~ s/\/\/cdn.datatables.net\///r;
|
||||
my @urlsplit = split('/', $folder);
|
||||
my $file = $urlsplit[-1];
|
||||
|
||||
$folder = $folder =~ s/$file//r;
|
||||
$folder = $folder =~ s/\//\\\\/gr;
|
||||
|
||||
if ( $urlsplit[0] !~ /^\d*\.\d*\.\d*$/ ) {
|
||||
if ( $bib->{$urlsplit[0]} ) {
|
||||
$folder = $folder =~ s/$urlsplit[0]/$bib->{$urlsplit[0]}/r;
|
||||
}
|
||||
|
||||
$folder = 'extensions\\'. $folder;
|
||||
}
|
||||
#
|
||||
if ( !-e $downloadfolder.'\\'. $folder.$file) {
|
||||
make_path( $downloadfolder.'\\'. $folder );
|
||||
my $response = $ua->get( 'https:'. $da, ':content_file' => $downloadfolder.'\\'. $folder.$file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
system("pause");
|
||||
|
||||
1;
|
||||
135
feiertage.pl
Normal file
135
feiertage.pl
Normal file
@@ -0,0 +1,135 @@
|
||||
package Feiertage;
|
||||
|
||||
sub feiertage{
|
||||
|
||||
# Aufruf
|
||||
#
|
||||
# require 'feiertage.pl';
|
||||
# %f=&feiertage($jahr,$region);
|
||||
#
|
||||
# $jahr=gew<65>nschtes Jahr
|
||||
#
|
||||
# $region = Leer = Deutschland
|
||||
# = Bayern: Deutschland + Lokale Feiertage Bayerns
|
||||
# = falls erweitert wird: Regionen getrennt durch Leerzeichen ' '
|
||||
#
|
||||
# Einsatzbereich des Scriptes 1.1.1970 - 31.12.2038, diese Limitierung erfolgt durch timelocal()
|
||||
# auf neueren Systemen kann dieses Enddatum aber durchaus <20>berschritten werden
|
||||
#
|
||||
# R<>ckgabewerte
|
||||
# alle %feiertage{Name des Feiertages}="tag.monat.";
|
||||
#
|
||||
|
||||
use strict;
|
||||
require 'timelocal.pl';
|
||||
|
||||
my $eintag=86400; #Sekunden des Tages
|
||||
my $jahr=shift;
|
||||
my $region=shift;
|
||||
my ($i,$j,$c,$h,$g,$l,$EasterMonth,$EasterMonth,$EasterDay,$EasterDate,$day,$mday,$mon,$wert);
|
||||
my %feiertage=();
|
||||
#
|
||||
# copyright 2001 by Peter Baumann
|
||||
# Verwendung und Weitergabe nur gestattet, wenn der Hinweis auf den Ersteller dieses Scriptes erhalten bleibt
|
||||
#
|
||||
$g = $jahr % 19;
|
||||
$c = int($jahr/100);
|
||||
$h = ($c - int($c/4)-int((8*$c+13)/25)+ 19*$g + 15) % 30;
|
||||
$i = $h - int($h/28)*(1 -int($h/28)*int(29/($h+1))*int((21 - $g)/11));
|
||||
$j = ($jahr + int($jahr/4) + $i + 2 - $c + int($c/4));
|
||||
$j = $j % 7;
|
||||
|
||||
|
||||
$l = $i - $j;
|
||||
$EasterMonth = 3 + int(($l+40)/44);
|
||||
$EasterDay = $l + 28 - 31*int($EasterMonth/4);
|
||||
|
||||
if ($EasterMonth==3) {
|
||||
$mday=$EasterDay;
|
||||
$mon=3;
|
||||
$EasterDate = 'March ' . $EasterDay . ', ' . $jahr;
|
||||
}
|
||||
else { $mday=$EasterDay;
|
||||
$mon=4;
|
||||
$EasterDate = 'April ' . $EasterDay . ', ' . $jahr;}
|
||||
|
||||
|
||||
|
||||
my $epoche=&maketime($mday,$mon,$jahr);
|
||||
my $datum=&getdays($epoche); # Das w<>re der Ostersonntag, denn danach richten
|
||||
# sich alle religi<67>sen Feiertage wie Ostern,
|
||||
# Pfingsten, Fronleichnam, Himmelfahrt oder auch
|
||||
# "Rosenmontag", der 7 Wochen vor Ostermontag ist
|
||||
|
||||
### Feste Feiertage, das kann ja jeder ...
|
||||
$feiertage{'Neujahr'}="1.1.";
|
||||
$feiertage{'Tag der Arbeit'}="1.5.";
|
||||
$feiertage{'Tag der deutschen Einheit'}="3.10.";
|
||||
$feiertage{'1. Weihnachtstag'}="25.12.";
|
||||
$feiertage{'2. Weihnachtstag'}="26.12";
|
||||
|
||||
my $owert=$epoche;
|
||||
|
||||
###
|
||||
$wert=$owert-2*$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Karfreitag'}=$datum;
|
||||
###
|
||||
$wert=$owert+$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Ostermontag'}=$datum;
|
||||
###
|
||||
$wert=$owert+49*$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Pfingstsonntag'}=$datum;
|
||||
###
|
||||
$wert=$owert+50*$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Pfingstmontag'}=$datum;
|
||||
###
|
||||
$wert=$owert+39*$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Christi Himmelfahrt'}=$datum;
|
||||
|
||||
###
|
||||
|
||||
my @region=split(/ /,$region);
|
||||
|
||||
foreach $region (@region){
|
||||
|
||||
## Region Bayern ###
|
||||
if ($region eq 'Bayern'){
|
||||
$wert=$owert+60*$eintag;
|
||||
$datum=&getdays($wert);
|
||||
$feiertage{'Fronleichnam'}=$datum;
|
||||
|
||||
###
|
||||
$feiertage{'Allerheiligen'}="1.11.";
|
||||
###
|
||||
$feiertage{'Heilige drei K<>nige'}="6.1.";
|
||||
} ## Ende Bayern
|
||||
|
||||
}
|
||||
|
||||
return %feiertage;
|
||||
}
|
||||
|
||||
|
||||
sub getdays{
|
||||
my $wert=shift;
|
||||
(my $sec,my $min,my$ hour,my $mday,my $mon,my $yr,my $wday,my $yday,my $isdst) = localtime($wert);
|
||||
$mon++;
|
||||
$yr+=1900;
|
||||
my $datum=$mday.'.'.$mon.'.';
|
||||
return $datum;
|
||||
}
|
||||
|
||||
sub maketime{
|
||||
my $mday=shift;
|
||||
my $mon=shift;
|
||||
my $jahr=shift;
|
||||
return timelocal(0,0,0,$mday,$mon-1,$jahr-1900);
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
79
geo.pl
Normal file
79
geo.pl
Normal file
@@ -0,0 +1,79 @@
|
||||
use Data::Printer;
|
||||
use Mojo::UserAgent;
|
||||
use File::Slurp;
|
||||
use Mojo::JSON qw(decode_json encode_json);
|
||||
|
||||
my $ua = Mojo::UserAgent->new;
|
||||
my $url = Mojo::URL->new('http://192.168.2.1/Status_Conntrack.asp')->userinfo('admin:dd2016#');
|
||||
my $req = $ua->get($url)->result->body;
|
||||
my $ct = time;
|
||||
|
||||
my @match = $req =~ /\('(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'\)/gm;
|
||||
my @newips;
|
||||
my %kenneichschon;
|
||||
|
||||
my $text = read_file('ips.json');
|
||||
my $rf = decode_json $text;
|
||||
|
||||
my @knownips = @{$rf->{ips}};
|
||||
my $lasttime = $rf->{lasttime};
|
||||
|
||||
for my $ip ( @match ) {
|
||||
next if ( $ip =~ /192.168/ );
|
||||
next if ( $ip =~ /127.0.0.1/ );
|
||||
next if ( $ip =~ /255.255.255.255/ );
|
||||
|
||||
if ( _isinjson($ip) ) {
|
||||
#print "$ip bekannt\n";
|
||||
next;
|
||||
}
|
||||
|
||||
if ( not defined $kenneichschon{$ip} ) {
|
||||
push @newips, $ip;
|
||||
$kenneichschon{$ip} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
my $ua2 = Mojo::UserAgent->new;
|
||||
|
||||
my $out = 0;
|
||||
if ( $lasttime + 60 > $ct ) {
|
||||
my $c = $ct - $lasttime;
|
||||
$c = 60 - $c;
|
||||
print "keine 60 Sekunden her noch $c sek\n";
|
||||
exit;
|
||||
} else {
|
||||
$lasttime = $ct;
|
||||
for my $ip ( @newips ) {
|
||||
print "Teste $ip\n";
|
||||
last if ( $out == 45 );
|
||||
$out ++;
|
||||
my $req2 = $ua2->get("http://ip-api.com/json/$ip")->result;
|
||||
p $req2;
|
||||
|
||||
next if ( not defined $req2->json );
|
||||
push @knownips, $req2->json;
|
||||
}
|
||||
}
|
||||
|
||||
my $h = {
|
||||
lasttime => $lasttime,
|
||||
ips => \@knownips
|
||||
};
|
||||
|
||||
write_file('ips.json', encode_json $h );
|
||||
|
||||
sub _isinjson {
|
||||
my ($ip) = @_;
|
||||
|
||||
my $ok;
|
||||
for my $ipinjson ( @knownips ) {
|
||||
if ( $ipinjson->{query} eq $ip ) {
|
||||
$ok = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
return $ok;
|
||||
}
|
||||
|
||||
1;
|
||||
25
lite.pl
Normal file
25
lite.pl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Automatically enables "strict", "warnings", "utf8" and Perl 5.16 features
|
||||
use Mojolicious::Lite -signatures;
|
||||
use Data::Printer;
|
||||
|
||||
# Route with placeholder
|
||||
get '/:foo' => sub ($c) {
|
||||
my $foo = $c->param('foo');
|
||||
$c->render(text => "Hello");
|
||||
};
|
||||
|
||||
get '/' => sub ($c) {
|
||||
p $c->tx->req;
|
||||
$c->render(text => "Hello");
|
||||
|
||||
};
|
||||
|
||||
post '/*' => sub ($c) {
|
||||
p $c->tx;
|
||||
|
||||
$c->render(text => "Helloo.");
|
||||
|
||||
};
|
||||
|
||||
# Start the Mojolicious command system
|
||||
app->start;
|
||||
49
mqtt.html
Normal file
49
mqtt.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>MQTT.JS</title>
|
||||
|
||||
<link href="http://htlib/htlib/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="http://htlib/htlib/fontawesome/last/css/all.css" rel="stylesheet">
|
||||
<script src="http://htlib/htlib/jquery/jquery-3.5.1.js"></script>
|
||||
<script src="http://htlib/htlib/bootstrap/4.5.0/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="mqtt.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<!-- CONTENT -->
|
||||
|
||||
|
||||
|
||||
<div class="container">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
// #############################
|
||||
$(document).ready(function () {
|
||||
// #############################
|
||||
var client = mqtt.connect('mqtt://edna:1883')
|
||||
|
||||
client.on('connect', function () {
|
||||
client.subscribe('environs/#', function (err) {
|
||||
if (!err) {
|
||||
client.publish('environs/', 'Hello mqtt')
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
client.on('message', function (topic, message) {
|
||||
// message is Buffer
|
||||
console.log(message.toString())
|
||||
client.end()
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
</body></html>
|
||||
11
netflix/Device/netflix.com_cookies.txt
Normal file
11
netflix/Device/netflix.com_cookies.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
# Netscape HTTP Cookie File
|
||||
# http://curl.haxx.se/rfc/cookie_spec.html
|
||||
# This is a generated file! Do not edit.
|
||||
|
||||
.netflix.com TRUE / FALSE 1676245675 flwssn 126ad3c2-280b-4639-8ca1-cbcc8323832a
|
||||
.netflix.com TRUE / FALSE 1707770887 memclid b79e4d55-001c-488e-b95b-50b82400835d
|
||||
.netflix.com TRUE / FALSE 1707770875 nfvdid BQFmAAEBEGm14ZeYVDPGxuKwNAVl_R5gP66oZPlppB0oGsKJi9rWAmBwH7O2DgjAKRuFZBr10f-G08BxMFS_a5qpK69kDLoJee6eRMlherGLkctY3wDMroill9EZDz-qb1tAZls4WQYsCjdAAsfNj-SRl6Sk4TPV
|
||||
.netflix.com TRUE / TRUE 1707770875 SecureNetflixId v%3D2%26mac%3DAQEAEQABABTDE2oAhlKnrRlGtJ7vT43e7mXH4EmvR1o.%26dt%3D1676234868474
|
||||
.netflix.com TRUE / TRUE 1707770875 NetflixId v%3D2%26ct%3DBQAOAAEBEP23_ISlwrDOfGkD_mWB9bGB4OnWjARJ7ZW5qCBs-qDWcqZ1VAiWpeMJL_xhDJY7ZyV9z0Yy_CEHWXcOrTdbYbkznP0lVbYxhQwMscXC3eP6wpx816UG0ThZ1klIgomiHrZSuSBrrrqJtcYx-xGKHDvakYERu1RF34R4CqGPTRQfD-zyOCLikejDyxXlPI4ILQCBSh6uQBRx8ZMWMm5tGx0J2Geha15naXEzPtRx5I_TYINBTN3dl52OJ756Amj-eheVjLQr6uDZZEQzzbOcs2YO0XNuwoo7it7hd-NzYJtdJ8g9e2IVm1bATrNOZueywVUA_YZ3W6WJ9OV9_XfGkWXS3H6bVxEJMV-qwjYu5dtaZM_Umqm8nSL5haShBfS4Lqzi9IZ_XKVoerjUQgkn1Z9nQn4EouV-e0RekSKcVpzTxC4mXvcyjukfkFPnqzTLlpUT0KPJ-R658O7-e0Pi03I9j83cQjFP7KEMr2svk9D6UIT8YlKeWiP2yiFWzbByrmEc2gb4KfZ-Ofcitc3_EpIxqV8otD2svwqiSaD0a252nD9zKXwZeTmCbBzGTFJ_WFOqtKvuOBW5-76bOEdc0njxCvWohkbdHEUodUrMzcWb1qKoY-5zPo2nUMUyF_uTw1v4DpGhDDiVJ504KAVI-Cnrjw..%26bt%3Ddbl%26ch%3DAQEAEAABABR7fIbhMFlDRfXIjkB1Yqm4WMxEd_QLsHw.%26mac%3DAQEAEAABABRqk1Gp7t-INiDPrAKLi9LJg0EK2E5Pzuc.
|
||||
.netflix.com TRUE / FALSE 1707770877 OptanonConsent isGpcEnabled=0&datestamp=Sun+Feb+12+2023+21%3A47%3A57+GMT%2B0100+(Mitteleurop%C3%A4ische+Normalzeit)&version=202301.1.0&isIABGlobal=false&hosts=&consentId=b8751cbe-1231-450c-9e01-1be19363548e&interactionCount=1&landingPath=NotLandingPage&groups=C0001%3A1%2CC0002%3A1%2CC0003%3A1%2CC0004%3A0&AwaitingReconsent=false
|
||||
.netflix.com TRUE / FALSE 1684010877 netflix-sans-normal-3-loaded true
|
||||
26
netflix/get.py
Normal file
26
netflix/get.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from flixcrack import NetflixClient
|
||||
import asyncio
|
||||
|
||||
client = NetflixClient(
|
||||
email="", # Insert your email here
|
||||
password="", # Insert your password here
|
||||
device="", # Insert your CDM folder name here
|
||||
quality=1080,
|
||||
audio_language=["English"],
|
||||
language="it-IT", # Metadata language
|
||||
video_profile="high",
|
||||
quiet=False
|
||||
)
|
||||
|
||||
async def main():
|
||||
items = client.get_viewables(81470938, episode=1)
|
||||
for item in items:
|
||||
await client.download(item["viewable_id"],
|
||||
client._file_name(
|
||||
item["title"],
|
||||
item["season"],
|
||||
item["episode"],
|
||||
"dvx"
|
||||
)
|
||||
)
|
||||
asyncio.run(main())
|
||||
96
openwrt/source_analyse.pl
Normal file
96
openwrt/source_analyse.pl
Normal file
@@ -0,0 +1,96 @@
|
||||
use Mojo::UserAgent;
|
||||
use Data::Printer;
|
||||
use File::Slurp;
|
||||
use JSON;
|
||||
|
||||
my $ua = Mojo::UserAgent->new;
|
||||
$ua->max_redirects(1);
|
||||
|
||||
my $openwrtversion = '24.10.0-rc2';
|
||||
my @routers = (
|
||||
{
|
||||
ip => '192.168.2.1',
|
||||
name => 'HWR',
|
||||
router => 'wr3000'
|
||||
},
|
||||
{
|
||||
ip => '192.168.2.142',
|
||||
name => 'DACH',
|
||||
router => 'x5000r'
|
||||
}
|
||||
);
|
||||
my $sources = {
|
||||
x5000r => [
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/targets/ramips/mt7621/packages/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/mipsel_24kc/base/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/mipsel_24kc/luci/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/mipsel_24kc/packages/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/mipsel_24kc/routing/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/mipsel_24kc/telephony/Packages.manifest"
|
||||
],
|
||||
wr3000 => [
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/targets/mediatek/filogic/packages/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/aarch64_cortex-a53/base/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/aarch64_cortex-a53/luci/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/aarch64_cortex-a53/packages/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/aarch64_cortex-a53/routing/Packages.manifest",
|
||||
"https://downloads.openwrt.org/releases/$openwrtversion/packages/aarch64_cortex-a53/telephony/Packages.manifest"
|
||||
],
|
||||
};
|
||||
|
||||
my $json = {};
|
||||
|
||||
for my $router ( keys %{$sources} ) {
|
||||
$json->{$router} = {};
|
||||
for my $t ( @{$sources->{$router}} ) {
|
||||
my $tx = $ua->get($t)->result->body;
|
||||
my @packages = $tx =~ /Package: (.*)/g;
|
||||
my @size = $tx =~ /Size: (.*)/g;
|
||||
my @version = $tx =~ /Version: (.*)/g;
|
||||
|
||||
my $cnt = 0;
|
||||
for my $tr ( @packages ) {
|
||||
$json->{$router}->{$tr} = {
|
||||
version => $version[$cnt],
|
||||
size => $size[$cnt],
|
||||
};
|
||||
$cnt ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for my $r ( @routers ) {
|
||||
my $name = $r->{name};
|
||||
my $namerouter = $r->{router};
|
||||
my $ip = $r->{ip};
|
||||
|
||||
my $newpack = "$namerouter\_new_packages_$name.txt";
|
||||
my $missingpack = "$namerouter\_missing_packages_$name.txt";
|
||||
|
||||
my $l = `ssh root\@$ip "opkg list-installed"`;
|
||||
my @routerdata = split(/\n/, $l);
|
||||
|
||||
my $maxsize = 0;
|
||||
write_file($newpack, '-uboot-envtools');
|
||||
write_file($missingpack, '');
|
||||
|
||||
my $newpackage = {};
|
||||
|
||||
for my $pac ( @routerdata ) {
|
||||
chomp $pac;
|
||||
my ( $paket ) = split( ' - ', $pac );
|
||||
|
||||
if ( $newpackage->{$paket} ) {
|
||||
print "$paket: already in source\n";
|
||||
} else {
|
||||
|
||||
if ( $json->{$namerouter}->{$paket} ) {
|
||||
$newpackage->{$paket} = 1;
|
||||
$maxsize = $maxsize + $json->{$namerouter}->{$paket}->{size};
|
||||
append_file($newpack, " $paket\n");
|
||||
} else {
|
||||
append_file($missingpack, " $paket\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
71
openwrt/wr3000_missing_packages_HWR.txt
Normal file
71
openwrt/wr3000_missing_packages_HWR.txt
Normal file
@@ -0,0 +1,71 @@
|
||||
kernel
|
||||
kmod-cfg80211
|
||||
kmod-crypto-acompress
|
||||
kmod-crypto-aead
|
||||
kmod-crypto-authenc
|
||||
kmod-crypto-ccm
|
||||
kmod-crypto-cmac
|
||||
kmod-crypto-crc32c
|
||||
kmod-crypto-ctr
|
||||
kmod-crypto-des
|
||||
kmod-crypto-gcm
|
||||
kmod-crypto-gf128
|
||||
kmod-crypto-ghash
|
||||
kmod-crypto-hash
|
||||
kmod-crypto-hmac
|
||||
kmod-crypto-hw-safexcel
|
||||
kmod-crypto-kpp
|
||||
kmod-crypto-lib-chacha20
|
||||
kmod-crypto-lib-chacha20poly1305
|
||||
kmod-crypto-lib-curve25519
|
||||
kmod-crypto-lib-poly1305
|
||||
kmod-crypto-manager
|
||||
kmod-crypto-md5
|
||||
kmod-crypto-null
|
||||
kmod-crypto-rng
|
||||
kmod-crypto-seqiv
|
||||
kmod-crypto-sha1
|
||||
kmod-crypto-sha256
|
||||
kmod-crypto-sha512
|
||||
kmod-gpio-button-hotplug
|
||||
kmod-hwmon-core
|
||||
kmod-leds-gpio
|
||||
kmod-lib-crc-ccitt
|
||||
kmod-lib-crc32c
|
||||
kmod-lib-lzo
|
||||
kmod-libphy
|
||||
kmod-mac80211
|
||||
kmod-mt76-connac
|
||||
kmod-mt76-core
|
||||
kmod-mt7915e
|
||||
kmod-mt7981-firmware
|
||||
kmod-nf-conntrack
|
||||
kmod-nf-conntrack6
|
||||
kmod-nf-flow
|
||||
kmod-nf-log
|
||||
kmod-nf-log6
|
||||
kmod-nf-nat
|
||||
kmod-nf-reject
|
||||
kmod-nf-reject6
|
||||
kmod-nfnetlink
|
||||
kmod-nft-core
|
||||
kmod-nft-fib
|
||||
kmod-nft-nat
|
||||
kmod-nft-offload
|
||||
kmod-phy-aquantia
|
||||
kmod-ppp
|
||||
kmod-pppoe
|
||||
kmod-pppox
|
||||
kmod-slhc
|
||||
kmod-thermal
|
||||
kmod-udptunnel4
|
||||
kmod-udptunnel6
|
||||
kmod-wireguard
|
||||
libblobmsg-json20230523
|
||||
libc
|
||||
libjson-script20230523
|
||||
libmbedtls12
|
||||
libubox20230523
|
||||
libubus20230605
|
||||
luci-app-opkg
|
||||
luci-i18n-opkg-de
|
||||
120
openwrt/wr3000_new_packages_HWR.txt
Normal file
120
openwrt/wr3000_new_packages_HWR.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
-uboot-envtools banip
|
||||
base-files
|
||||
bcp38
|
||||
busybox
|
||||
ca-bundle
|
||||
cgi-io
|
||||
ddns-scripts
|
||||
ddns-scripts-services
|
||||
dnsmasq
|
||||
dropbear
|
||||
eip197-mini-firmware
|
||||
firewall4
|
||||
fstools
|
||||
fwtool
|
||||
getrandom
|
||||
hostapd-common
|
||||
iw
|
||||
iwinfo
|
||||
jansson4
|
||||
jshn
|
||||
jsonfilter
|
||||
libatomic1
|
||||
libgcc1
|
||||
libiwinfo-data
|
||||
libiwinfo20230701
|
||||
libjson-c5
|
||||
liblua5.1.5
|
||||
liblucihttp-lua
|
||||
liblucihttp-ucode
|
||||
liblucihttp0
|
||||
libmnl0
|
||||
libnftnl11
|
||||
libnl-tiny1
|
||||
libpthread
|
||||
libqrencode
|
||||
librt
|
||||
libubus-lua
|
||||
libuci20130104
|
||||
libuclient20201210
|
||||
libucode20230711
|
||||
libustream-mbedtls20201210
|
||||
logd
|
||||
lua
|
||||
luci
|
||||
luci-app-banip
|
||||
luci-app-bcp38
|
||||
luci-app-ddns
|
||||
luci-app-firewall
|
||||
luci-base
|
||||
luci-i18n-banip-de
|
||||
luci-i18n-base-de
|
||||
luci-i18n-bcp38-de
|
||||
luci-i18n-ddns-de
|
||||
luci-i18n-firewall-de
|
||||
luci-lib-base
|
||||
luci-lib-ip
|
||||
luci-lib-json
|
||||
luci-lib-jsonc
|
||||
luci-lib-nixio
|
||||
luci-lib-uqr
|
||||
luci-light
|
||||
luci-lua-runtime
|
||||
luci-mod-admin-full
|
||||
luci-mod-network
|
||||
luci-mod-rpc
|
||||
luci-mod-status
|
||||
luci-mod-system
|
||||
luci-proto-ipv6
|
||||
luci-proto-ppp
|
||||
luci-proto-wireguard
|
||||
luci-ssl
|
||||
luci-theme-bootstrap
|
||||
mt7981-wo-firmware
|
||||
mtd
|
||||
netifd
|
||||
nftables-json
|
||||
odhcp6c
|
||||
odhcpd-ipv6only
|
||||
openwrt-keyring
|
||||
opkg
|
||||
ppp
|
||||
ppp-mod-pppoe
|
||||
procd
|
||||
procd-seccomp
|
||||
procd-ujail
|
||||
px5g-mbedtls
|
||||
qrencode
|
||||
resolveip
|
||||
rpcd
|
||||
rpcd-mod-file
|
||||
rpcd-mod-iwinfo
|
||||
rpcd-mod-luci
|
||||
rpcd-mod-rpcsys
|
||||
rpcd-mod-rrdns
|
||||
rpcd-mod-ucode
|
||||
ubi-utils
|
||||
ubox
|
||||
ubus
|
||||
ubusd
|
||||
uci
|
||||
uclient-fetch
|
||||
ucode
|
||||
ucode-mod-fs
|
||||
ucode-mod-html
|
||||
ucode-mod-lua
|
||||
ucode-mod-math
|
||||
ucode-mod-nl80211
|
||||
ucode-mod-rtnl
|
||||
ucode-mod-ubus
|
||||
ucode-mod-uci
|
||||
ucode-mod-uloop
|
||||
uhttpd
|
||||
uhttpd-mod-ubus
|
||||
urandom-seed
|
||||
urngd
|
||||
usign
|
||||
wireguard-tools
|
||||
wireless-regdb
|
||||
wpa-cli
|
||||
wpad-basic-mbedtls
|
||||
55
openwrt/x5000r_missing_packages_DACH.txt
Normal file
55
openwrt/x5000r_missing_packages_DACH.txt
Normal file
@@ -0,0 +1,55 @@
|
||||
kernel
|
||||
kmod-cfg80211
|
||||
kmod-crypto-acompress
|
||||
kmod-crypto-aead
|
||||
kmod-crypto-ccm
|
||||
kmod-crypto-cmac
|
||||
kmod-crypto-crc32c
|
||||
kmod-crypto-ctr
|
||||
kmod-crypto-gcm
|
||||
kmod-crypto-gf128
|
||||
kmod-crypto-ghash
|
||||
kmod-crypto-hash
|
||||
kmod-crypto-hmac
|
||||
kmod-crypto-manager
|
||||
kmod-crypto-null
|
||||
kmod-crypto-rng
|
||||
kmod-crypto-seqiv
|
||||
kmod-crypto-sha512
|
||||
kmod-gpio-button-hotplug
|
||||
kmod-hwmon-core
|
||||
kmod-leds-gpio
|
||||
kmod-lib-crc-ccitt
|
||||
kmod-lib-crc32c
|
||||
kmod-lib-lzo
|
||||
kmod-mac80211
|
||||
kmod-mt76-connac
|
||||
kmod-mt76-core
|
||||
kmod-mt7915-firmware
|
||||
kmod-mt7915e
|
||||
kmod-nf-conntrack
|
||||
kmod-nf-conntrack6
|
||||
kmod-nf-flow
|
||||
kmod-nf-log
|
||||
kmod-nf-log6
|
||||
kmod-nf-nat
|
||||
kmod-nf-reject
|
||||
kmod-nf-reject6
|
||||
kmod-nfnetlink
|
||||
kmod-nft-core
|
||||
kmod-nft-fib
|
||||
kmod-nft-nat
|
||||
kmod-nft-offload
|
||||
kmod-ppp
|
||||
kmod-pppoe
|
||||
kmod-pppox
|
||||
kmod-slhc
|
||||
kmod-thermal
|
||||
libblobmsg-json20230523
|
||||
libc
|
||||
libjson-script20230523
|
||||
libmbedtls12
|
||||
libubox20230523
|
||||
libubus20230605
|
||||
luci-app-opkg
|
||||
luci-i18n-opkg-de
|
||||
86
openwrt/x5000r_new_packages_DACH.txt
Normal file
86
openwrt/x5000r_new_packages_DACH.txt
Normal file
@@ -0,0 +1,86 @@
|
||||
-uboot-envtools base-files
|
||||
busybox
|
||||
ca-bundle
|
||||
cgi-io
|
||||
dnsmasq
|
||||
dropbear
|
||||
firewall4
|
||||
fstools
|
||||
fwtool
|
||||
getrandom
|
||||
hostapd-common
|
||||
iw
|
||||
iwinfo
|
||||
jansson4
|
||||
jshn
|
||||
jsonfilter
|
||||
libgcc1
|
||||
libiwinfo-data
|
||||
libiwinfo20230701
|
||||
libjson-c5
|
||||
liblucihttp-ucode
|
||||
liblucihttp0
|
||||
libmnl0
|
||||
libnftnl11
|
||||
libnl-tiny1
|
||||
libpthread
|
||||
libuci20130104
|
||||
libuclient20201210
|
||||
libucode20230711
|
||||
libustream-mbedtls20201210
|
||||
logd
|
||||
luci
|
||||
luci-app-firewall
|
||||
luci-base
|
||||
luci-i18n-base-de
|
||||
luci-i18n-firewall-de
|
||||
luci-light
|
||||
luci-mod-admin-full
|
||||
luci-mod-network
|
||||
luci-mod-status
|
||||
luci-mod-system
|
||||
luci-proto-ipv6
|
||||
luci-proto-ppp
|
||||
luci-ssl
|
||||
luci-theme-bootstrap
|
||||
mtd
|
||||
netifd
|
||||
nftables-json
|
||||
odhcp6c
|
||||
odhcpd-ipv6only
|
||||
openwrt-keyring
|
||||
opkg
|
||||
ppp
|
||||
ppp-mod-pppoe
|
||||
procd
|
||||
procd-seccomp
|
||||
procd-ujail
|
||||
px5g-mbedtls
|
||||
rpcd
|
||||
rpcd-mod-file
|
||||
rpcd-mod-iwinfo
|
||||
rpcd-mod-luci
|
||||
rpcd-mod-rrdns
|
||||
rpcd-mod-ucode
|
||||
ubi-utils
|
||||
ubox
|
||||
ubus
|
||||
ubusd
|
||||
uci
|
||||
uclient-fetch
|
||||
ucode
|
||||
ucode-mod-fs
|
||||
ucode-mod-html
|
||||
ucode-mod-math
|
||||
ucode-mod-nl80211
|
||||
ucode-mod-rtnl
|
||||
ucode-mod-ubus
|
||||
ucode-mod-uci
|
||||
ucode-mod-uloop
|
||||
uhttpd
|
||||
uhttpd-mod-ubus
|
||||
urandom-seed
|
||||
urngd
|
||||
usign
|
||||
wireless-regdb
|
||||
wpad-basic-mbedtls
|
||||
36
readdirtest.pl
Normal file
36
readdirtest.pl
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/perl -w
|
||||
use warnings;
|
||||
use File::Slurp qw(:std);
|
||||
use File::stat;
|
||||
use File::Path;
|
||||
use Data::Printer;
|
||||
|
||||
my $folder = 'D:\\Test\\code insider\\';
|
||||
my @folders;
|
||||
push @folders, $folder;
|
||||
|
||||
for my $fold ( @folders ) {
|
||||
opendir my $dh, "$fold";
|
||||
my @fol = readdir $dh;
|
||||
|
||||
for my $d ( @fol ) {
|
||||
if ( $d =~ /^\.|^\.\./ ) {
|
||||
next;
|
||||
}
|
||||
|
||||
if ( -d "$fold$d" ) {
|
||||
if ( $d ne 'data' ) {
|
||||
# remove_tree("$fold$d");
|
||||
} else {
|
||||
rmtree( "$fold$d\\user-data\\Cache", {keep_root => 1} );
|
||||
rmtree( "$fold$d\\user-data\\GPUCache", {keep_root => 1} );
|
||||
rmtree( "$fold$d\\user-data\\CachedData", {keep_root => 1} );
|
||||
rmtree( "$fold$d\\user-data\\CachedData-x64", {keep_root => 1} );
|
||||
}
|
||||
} else{
|
||||
# unlink("$fold$d");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
20
recursivtest.pl
Normal file
20
recursivtest.pl
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Find qw(finddepth);
|
||||
|
||||
|
||||
#sudo mount -t cifs //gw004/Versaflow /media/versashare -o username=administrator,password=8-Tung,domain=mlands
|
||||
|
||||
my $share = '/home/steffen/svn/aoiv/app';
|
||||
#my $share = '/media/versashare/versaflow1/Protocol/';
|
||||
|
||||
finddepth( sub {
|
||||
return if($_ eq '.' || $_ eq '..' );
|
||||
|
||||
if ( -d $File::Find::name ) {
|
||||
my $cnt = `find "$File::Find::name" -type f | wc -l`;
|
||||
print "$File::Find::name : $cnt" ;
|
||||
}
|
||||
}, $share);
|
||||
137
rediscaht.pl
Normal file
137
rediscaht.pl
Normal file
@@ -0,0 +1,137 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use Mojolicious::Lite;
|
||||
use Mojo::Redis;
|
||||
use Mojo::JSON 'j';
|
||||
|
||||
sub handler {
|
||||
my $tag = shift;
|
||||
return sub {
|
||||
my $message = $_[1] || "Closed";
|
||||
app->log->debug( "$tag: $message" )
|
||||
};
|
||||
}
|
||||
|
||||
app->attr( _redis => sub {
|
||||
my $redis = Mojo::Redis->new;
|
||||
$redis->on( error => handler("Pub Error") );
|
||||
$redis->on( close => handler("Pub") );
|
||||
return $redis;
|
||||
});
|
||||
|
||||
helper redis => sub { shift->app->_redis };
|
||||
|
||||
app->attr( _chat => sub {
|
||||
my $redis = shift->redis;
|
||||
my $chat = $redis->new($redis); #clone
|
||||
$chat->subscribe('chat');
|
||||
$chat->on( error => handler("Sub Error") );
|
||||
$chat->on( close => handler("Sub") );
|
||||
return $chat;
|
||||
});
|
||||
|
||||
helper chat => sub {
|
||||
my ($self, $cb) = @_;
|
||||
my $chat = $self->app->_chat;
|
||||
$chat->on( message => $cb );
|
||||
};
|
||||
|
||||
any '/' => sub {
|
||||
my $c = shift;
|
||||
|
||||
my $name = $c->session('name');
|
||||
if ( my $new_name = $c->param('name') ) {
|
||||
$c->session( name => $new_name );
|
||||
$name = $new_name;
|
||||
} elsif ( ! defined $name ) {
|
||||
return $c->redirect_to('login');
|
||||
}
|
||||
|
||||
$c->render('chat');
|
||||
};
|
||||
|
||||
any '/login';
|
||||
|
||||
any '/logout' => sub {
|
||||
my $c = shift;
|
||||
$c->session( expires => 1 );
|
||||
$c->redirect_to('/');
|
||||
};
|
||||
|
||||
websocket '/ws/chat' => sub {
|
||||
my $c = shift;
|
||||
my $name = $c->session('name');
|
||||
|
||||
Mojo::IOLoop->stream($c->tx->connection)->timeout(60*60);
|
||||
|
||||
$c->chat( sub {
|
||||
my ($s, $chan, $message) = @_;
|
||||
$c->app->log->debug( "Got: $message" );
|
||||
$c->send({ text => $message });
|
||||
} );
|
||||
|
||||
$c->on( json => sub {
|
||||
my ($ws, $data) = @_;
|
||||
$data->{name} = $name;
|
||||
my $json = j($data);
|
||||
$ws->app->log->debug( "Publishing: $json" );
|
||||
$c->redis->publish( chat => $json );
|
||||
});
|
||||
|
||||
#my $r = Mojo::IOLoop->recurring( 1 => sub {
|
||||
# state $i = 1;
|
||||
# $c->send({ json => { name => 'Joel', message => $i++ }});
|
||||
#});
|
||||
#$c->on( finish => sub { Mojo::IOLoop->remove($r) } );
|
||||
};
|
||||
|
||||
app->start;
|
||||
|
||||
__DATA__
|
||||
@@ layouts/basic.html.ep
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><%= title %></title>
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
%= content
|
||||
</body>
|
||||
</html>
|
||||
@@ login.html.ep
|
||||
% layout 'basic';
|
||||
% title 'Login';
|
||||
%= form_for '/' => method => POST => begin
|
||||
%= text_field 'name'
|
||||
%= submit_button 'Login'
|
||||
% end
|
||||
@@ chat.html.ep
|
||||
% layout 'basic';
|
||||
% title 'Mojo+Redis Chat';
|
||||
<input type="text" id="text"><button onclick="send()">Send</button><button onclick="disconnect()">Disconnect</button>
|
||||
<div id="log"></div>
|
||||
%= javascript begin
|
||||
var ws;
|
||||
var nows = 0;
|
||||
function connect () {
|
||||
if (!("WebSocket" in window)) {
|
||||
nows = 1;
|
||||
alert('Your browser does not support WebSockets!');
|
||||
return;
|
||||
}
|
||||
ws = new WebSocket('<%= url_for('wschat')->to_abs %>');
|
||||
ws.onmessage = function (e) {
|
||||
console.log(e);
|
||||
var data = JSON.parse(e.data);
|
||||
$('#log').prepend('<p>' + data.name + ': ' + data.message + '</p>');
|
||||
};
|
||||
}
|
||||
function send () {
|
||||
var text = $('#text');
|
||||
ws.send(JSON.stringify({ message: text.val() }));
|
||||
text.val('');
|
||||
}
|
||||
function disconnect () { ws.close() }
|
||||
$(function(){connect()});
|
||||
% end
|
||||
69
rom_analyse/anal.pl
Normal file
69
rom_analyse/anal.pl
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Find qw(finddepth);
|
||||
use File::Slurp;
|
||||
use Data::Printer;
|
||||
use Digest::MD5 qw(md5 md5_hex md5_base64);
|
||||
|
||||
#sudo mount -t cifs //gw004/Versaflow /media/versashare -o username=administrator,password=8-Tung,domain=mlands
|
||||
my @f = read_file('missing_bios_report.txt');
|
||||
my $md = {};
|
||||
write_file('anal.txt');
|
||||
write_file('doppel.txt');
|
||||
my $bios = '';
|
||||
for my $l ( @f ) {
|
||||
$l = $l =~ s/\R//r ;
|
||||
if ( $l =~ /Path\: (.*)/ ) {
|
||||
$bios = $1;
|
||||
} elsif ( $l =~ /^ (................................)/ ) {
|
||||
$md->{$1} = $bios;
|
||||
# append_file('anal.txt', "$1 - $bios\n")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
my $ctx = Digest::MD5->new;
|
||||
my $share = '/mnt/d/Konsolen/BIOS';
|
||||
#my $share = '/media/versashare/versaflow1/Protocol/';
|
||||
|
||||
my $multimd5 = {};
|
||||
my @analyse;
|
||||
|
||||
finddepth( sub {
|
||||
return if($_ eq '.' || $_ eq '..'|| $_ eq '.keep' );
|
||||
|
||||
if ( -f $File::Find::name ) {
|
||||
open(my $fh, '<', $File::Find::name) or die "cannot open file $File::Find::name";
|
||||
$ctx->addfile($fh);
|
||||
my $m = $ctx->hexdigest;
|
||||
if ( $multimd5->{$m} ) {
|
||||
my @temp = @{$multimd5->{$m}};
|
||||
push @temp, $File::Find::name;
|
||||
$multimd5->{$m} = \@temp;
|
||||
} else {
|
||||
my @temp = ( $File::Find::name );
|
||||
$multimd5->{$m} = \@temp;
|
||||
}
|
||||
|
||||
if ($md->{ uc $m }) {
|
||||
push @analyse, "$md->{ uc $m } <- $File::Find::name";
|
||||
}
|
||||
|
||||
close($fh);
|
||||
}
|
||||
}, $share);
|
||||
|
||||
|
||||
for my $k ( sort @analyse ) {
|
||||
append_file('anal.txt', "$k\n")
|
||||
}
|
||||
|
||||
for my $k ( keys %{$multimd5} ) {
|
||||
if ( scalar @{ $multimd5->{$k} } > 1 ) {
|
||||
for my $i ( @{ $multimd5->{$k} } ) {
|
||||
append_file('doppel.txt', "$k - $i\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
1
rom_analyse/anal.txt
Normal file
1
rom_analyse/anal.txt
Normal file
@@ -0,0 +1 @@
|
||||
/recalbox/share/bios/oricutron/bd500.rom <- /mnt/d/Konsolen/BIOS/oricutron/bd500.rom
|
||||
869
rom_analyse/doppel.txt
Normal file
869
rom_analyse/doppel.txt
Normal file
@@ -0,0 +1,869 @@
|
||||
036c5ae4f885cbf62c9bed651c6c58a8 - /mnt/d/Konsolen/BIOS/tos104uk.img
|
||||
036c5ae4f885cbf62c9bed651c6c58a8 - /mnt/d/Konsolen/BIOS/st-tos/megast_uk/tos104uk.img
|
||||
84ca6008cb0c5825beffab6c2301e2cf - /mnt/d/Konsolen/BIOS/mame2003/samples/berzerk.zip
|
||||
84ca6008cb0c5825beffab6c2301e2cf - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/berzerk.zip
|
||||
db56360c85ef8410dc4bcf8e8602f61e - /mnt/d/Konsolen/BIOS/MSX2R.rom
|
||||
db56360c85ef8410dc4bcf8e8602f61e - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2R.rom
|
||||
cbbd1bbcb5e4fd8046b6030ab71fc021 - /mnt/d/Konsolen/BIOS/JiffyDOS_C128.bin
|
||||
cbbd1bbcb5e4fd8046b6030ab71fc021 - /mnt/d/Konsolen/BIOS/vice/JiffyDOS_C128.bin
|
||||
6844c127f5b1da3e90303669a7720496 - /mnt/d/Konsolen/BIOS/data/C128/deekay.vpl
|
||||
6844c127f5b1da3e90303669a7720496 - /mnt/d/Konsolen/BIOS/data/C64/deekay.vpl
|
||||
6844c127f5b1da3e90303669a7720496 - /mnt/d/Konsolen/BIOS/data/CBM-II/deekay.vpl
|
||||
6844c127f5b1da3e90303669a7720496 - /mnt/d/Konsolen/BIOS/data/SCPU64/deekay.vpl
|
||||
c83f48a931fb70f501cb028b01c4d366 - /mnt/d/Konsolen/BIOS/fbneo/samples/natodef.zip
|
||||
c83f48a931fb70f501cb028b01c4d366 - /mnt/d/Konsolen/BIOS/mame2003/samples/natodef.zip
|
||||
c83f48a931fb70f501cb028b01c4d366 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/natodef.zip
|
||||
79ae0d2bb1901b7e606b6dc339b79a97 - /mnt/d/Konsolen/BIOS/ym2608.zip
|
||||
79ae0d2bb1901b7e606b6dc339b79a97 - /mnt/d/Konsolen/BIOS/fbneo/ym2608.zip
|
||||
c6b08ae200160eff6c2f2c1552d4ae8b - /mnt/d/Konsolen/BIOS/fbneo/samples/elim2.zip
|
||||
c6b08ae200160eff6c2f2c1552d4ae8b - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/elim2.zip
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/MSX2EXT.ROM
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/Machines/MSX/MSX2EXT.rom
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSX2EXT.rom
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSX2EXT.rom
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2EXT.rom
|
||||
2183c2aff17cf4297bdb496de78c2e8a - /mnt/d/Konsolen/BIOS/msx/MSX2EXT.ROM
|
||||
3018367b6eb9ef153b2eed55e376bfc0 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - National FS-4500/config (2).ini
|
||||
3018367b6eb9ef153b2eed55e376bfc0 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - National FS-4500/config.ini
|
||||
8639fd5e549bd6238cfee79e3e749114 - /mnt/d/Konsolen/BIOS/goldstar.bin
|
||||
8639fd5e549bd6238cfee79e3e749114 - /mnt/d/Konsolen/BIOS/3do/goldstar.bin
|
||||
0a93f7940c455905bea6e392dfde92a4 - /mnt/d/Konsolen/BIOS/dc/dc_flash.bin
|
||||
0a93f7940c455905bea6e392dfde92a4 - /mnt/d/Konsolen/BIOS/dc/flash.bin
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/MSX2.ROM
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/Machines/MSX/MSX2.rom
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSX2.rom
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSX2.rom
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2.rom
|
||||
ec3a01c91f24fbddcbcab0ad301bc9ef - /mnt/d/Konsolen/BIOS/msx/MSX2.ROM
|
||||
7f87889ca7ee2537f0c1993d35d0fb18 - /mnt/d/Konsolen/BIOS/data/PET/edit2b
|
||||
7f87889ca7ee2537f0c1993d35d0fb18 - /mnt/d/Konsolen/BIOS/vice/PET/edit2b
|
||||
43ab05c6d969cb40805970a5b2352875 - /mnt/d/Konsolen/BIOS/uae_data/drive_spind_LOUD.wav
|
||||
43ab05c6d969cb40805970a5b2352875 - /mnt/d/Konsolen/BIOS/uae_data/drive_spinnd_LOUD.wav
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_A1.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_A2.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_B1.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_B2.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_C1.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_C2.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_D1.png
|
||||
2d1ec187c071ea3a051a217faf0e3d6b - /mnt/d/Konsolen/BIOS/dc/media/images/vmu_save_D2.png
|
||||
12a4202f5331d45af846af6c58fba946 - /mnt/d/Konsolen/BIOS/data/C64/chargen
|
||||
12a4202f5331d45af846af6c58fba946 - /mnt/d/Konsolen/BIOS/data/C64DTV/chargen
|
||||
12a4202f5331d45af846af6c58fba946 - /mnt/d/Konsolen/BIOS/data/CBM-II/chargen.500
|
||||
12a4202f5331d45af846af6c58fba946 - /mnt/d/Konsolen/BIOS/data/PRINTER/mps801
|
||||
12a4202f5331d45af846af6c58fba946 - /mnt/d/Konsolen/BIOS/data/SCPU64/chargen
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_A2.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_B1.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_B2.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_C1.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_C2.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_D1.bin
|
||||
54042b771629326b5d163a5f89ee2907 - /mnt/d/Konsolen/BIOS/dc/vmu_save_D2.bin
|
||||
5f6afecd59f19c597a1dafcfc93f0a36 - /mnt/d/Konsolen/BIOS/data/C128/pepto-ntsc-sony.vpl
|
||||
5f6afecd59f19c597a1dafcfc93f0a36 - /mnt/d/Konsolen/BIOS/data/C64/pepto-ntsc-sony.vpl
|
||||
5f6afecd59f19c597a1dafcfc93f0a36 - /mnt/d/Konsolen/BIOS/data/CBM-II/pepto-ntsc-sony.vpl
|
||||
5f6afecd59f19c597a1dafcfc93f0a36 - /mnt/d/Konsolen/BIOS/data/SCPU64/pepto-ntsc-sony.vpl
|
||||
d41b3ed3bc672133b1139b6030113c1a - /mnt/d/Konsolen/BIOS/data/C64/c64mem.sym
|
||||
d41b3ed3bc672133b1139b6030113c1a - /mnt/d/Konsolen/BIOS/data/C64DTV/c64mem.sym
|
||||
d41b3ed3bc672133b1139b6030113c1a - /mnt/d/Konsolen/BIOS/data/SCPU64/scpu64mem.sym
|
||||
bfacf1a68792d5348f93cf724d2f1dda - /mnt/d/Konsolen/BIOS/nmk004.zip
|
||||
bfacf1a68792d5348f93cf724d2f1dda - /mnt/d/Konsolen/BIOS/fbneo/nmk004.zip
|
||||
b2a8570de2e850c5acf81cb80512d9f6 - /mnt/d/Konsolen/BIOS/tos.img
|
||||
b2a8570de2e850c5acf81cb80512d9f6 - /mnt/d/Konsolen/BIOS/tos102uk.img
|
||||
b2a8570de2e850c5acf81cb80512d9f6 - /mnt/d/Konsolen/BIOS/st-tos/megast_uk/tos102uk.img
|
||||
3624b01c6d6cfa7bc01fbde34281024a - /mnt/d/Konsolen/BIOS/data/C128/c64hq.vpl
|
||||
3624b01c6d6cfa7bc01fbde34281024a - /mnt/d/Konsolen/BIOS/data/C64/c64hq.vpl
|
||||
3624b01c6d6cfa7bc01fbde34281024a - /mnt/d/Konsolen/BIOS/data/CBM-II/c64hq.vpl
|
||||
3624b01c6d6cfa7bc01fbde34281024a - /mnt/d/Konsolen/BIOS/data/SCPU64/c64hq.vpl
|
||||
7190f839d96a4c7921d6c935e131c9b1 - /mnt/d/Konsolen/BIOS/fbneo/samples/qbert.zip
|
||||
7190f839d96a4c7921d6c935e131c9b1 - /mnt/d/Konsolen/BIOS/mame2003/samples/qbert.zip
|
||||
7190f839d96a4c7921d6c935e131c9b1 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/qbert.zip
|
||||
793f86784e5608352a5d7f03f03e0858 - /mnt/d/Konsolen/BIOS/quasi88/disk.rom
|
||||
793f86784e5608352a5d7f03f03e0858 - /mnt/d/Konsolen/BIOS/quasi88/n88sub.rom
|
||||
53bec1c22b30c0a15263e04b91a7814f - /mnt/d/Konsolen/BIOS/MSX2J.rom
|
||||
53bec1c22b30c0a15263e04b91a7814f - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2J.rom
|
||||
ce0723f9bc02f4948c15d3b3230ae831 - /mnt/d/Konsolen/BIOS/256s-3.rom
|
||||
ce0723f9bc02f4948c15d3b3230ae831 - /mnt/d/Konsolen/BIOS/fuse/256s-3.rom
|
||||
08c54a0c1f774a5538a848a6665a34b4 - /mnt/d/Konsolen/BIOS/2608_hh.wav
|
||||
08c54a0c1f774a5538a848a6665a34b4 - /mnt/d/Konsolen/BIOS/np2kai/2608_hh.wav
|
||||
0617321daa182c3f3d6f41fd02fb3275 - /mnt/d/Konsolen/BIOS/iplromxv.dat
|
||||
0617321daa182c3f3d6f41fd02fb3275 - /mnt/d/Konsolen/BIOS/keropi/iplromxv.dat
|
||||
022c18c39d9bb00ed0e5144fc79d8854 - /mnt/d/Konsolen/BIOS/data/C128/ptoing.vpl
|
||||
022c18c39d9bb00ed0e5144fc79d8854 - /mnt/d/Konsolen/BIOS/data/C64/ptoing.vpl
|
||||
022c18c39d9bb00ed0e5144fc79d8854 - /mnt/d/Konsolen/BIOS/data/CBM-II/ptoing.vpl
|
||||
022c18c39d9bb00ed0e5144fc79d8854 - /mnt/d/Konsolen/BIOS/data/SCPU64/ptoing.vpl
|
||||
0047e7b1ff0b04b72ec6c82932ead3a0 - /mnt/d/Konsolen/BIOS/data/C64/default.vrs
|
||||
0047e7b1ff0b04b72ec6c82932ead3a0 - /mnt/d/Konsolen/BIOS/data/C64DTV/default.vrs
|
||||
0087e2707c57efa2106a0aa7576655c0 - /mnt/d/Konsolen/BIOS/tos104fr.img
|
||||
0087e2707c57efa2106a0aa7576655c0 - /mnt/d/Konsolen/BIOS/st-tos/megast_fr/tos104fr.img
|
||||
dd1010ec566efbd71047d6c4919feba5 - /mnt/d/Konsolen/BIOS/atarist/tt.img/tos306uk.img
|
||||
dd1010ec566efbd71047d6c4919feba5 - /mnt/d/Konsolen/BIOS/tt-tos/tt030_uk/tos306uk.img
|
||||
fed4d8242cfbed61343d53d48432aced - /mnt/d/Konsolen/BIOS/BS-X.bin
|
||||
fed4d8242cfbed61343d53d48432aced - /mnt/d/Konsolen/BIOS/satellaview/BS-X.bin
|
||||
fd91edce7be5e7c2d88e46b76956a8aa - /mnt/d/Konsolen/BIOS/dragon/d200rom2.rom
|
||||
fd91edce7be5e7c2d88e46b76956a8aa - /mnt/d/Konsolen/BIOS/dragon/d64tano2.rom
|
||||
034bf8c879111ce999e58eeff4af7c8c - /mnt/d/Konsolen/BIOS/data/C128/pepto-ntsc.vpl
|
||||
034bf8c879111ce999e58eeff4af7c8c - /mnt/d/Konsolen/BIOS/data/C64/pepto-ntsc.vpl
|
||||
034bf8c879111ce999e58eeff4af7c8c - /mnt/d/Konsolen/BIOS/data/CBM-II/pepto-ntsc.vpl
|
||||
034bf8c879111ce999e58eeff4af7c8c - /mnt/d/Konsolen/BIOS/data/SCPU64/pepto-ntsc.vpl
|
||||
f005e55c680ba6e7b19f6d4dc8f73ce5 - /mnt/d/Konsolen/BIOS/MSXJ.ROM
|
||||
f005e55c680ba6e7b19f6d4dc8f73ce5 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXJ.rom
|
||||
21070aa0496142b886c562bf76d7c113 - /mnt/d/Konsolen/BIOS/extbas11.rom
|
||||
21070aa0496142b886c562bf76d7c113 - /mnt/d/Konsolen/BIOS/trs80coco/extbas11.rom
|
||||
af8537262df8df267072f359399a7635 - /mnt/d/Konsolen/BIOS/FMPAC16..ROM
|
||||
af8537262df8df267072f359399a7635 - /mnt/d/Konsolen/BIOS/FMPAC16.ROM
|
||||
af8537262df8df267072f359399a7635 - /mnt/d/Konsolen/BIOS/msx/FMPAC16.ROM
|
||||
80ac46fa7e77b8ab4366e86948e54f83 - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0230j-20080220.bin
|
||||
80ac46fa7e77b8ab4366e86948e54f83 - /mnt/d/Konsolen/BIOS/ps2/ps2-0230j-20080220.bin
|
||||
dc69f0643a3030aaa4797501b483d6c4 - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0230e-20080220.bin
|
||||
dc69f0643a3030aaa4797501b483d6c4 - /mnt/d/Konsolen/BIOS/ps2/ps2-0230e-20080220.bin
|
||||
cb0a5cfcf7247a7eab74bb2716260269 - /mnt/d/Konsolen/BIOS/cgrom.dat
|
||||
cb0a5cfcf7247a7eab74bb2716260269 - /mnt/d/Konsolen/BIOS/keropi/cgrom.dat
|
||||
c83e50e9f33b8dd893c414691822740d - /mnt/d/Konsolen/BIOS/ITALIC.FNT
|
||||
c83e50e9f33b8dd893c414691822740d - /mnt/d/Konsolen/BIOS/ITALIC[2].FNT
|
||||
c83e50e9f33b8dd893c414691822740d - /mnt/d/Konsolen/BIOS/msx/ITALIC.FNT
|
||||
239665b1a3dade1b5a52c06338011044 - /mnt/d/Konsolen/BIOS/scph1000.bin
|
||||
239665b1a3dade1b5a52c06338011044 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH1000.BIN
|
||||
72ae1b47820fcc93cc0df9c428d0face - /mnt/d/Konsolen/BIOS/prboom.wad
|
||||
72ae1b47820fcc93cc0df9c428d0face - /mnt/d/Konsolen/BIOS/prboom/prboom.wad
|
||||
581fa9c917831f0d239d5425febf2c2a - /mnt/d/Konsolen/BIOS/fbneo/samples/fantasy.zip
|
||||
581fa9c917831f0d239d5425febf2c2a - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/fantasy.zip
|
||||
120a23e1566195050983764e7d4543ce - /mnt/d/Konsolen/BIOS/oricutron/Bas122uk.pch
|
||||
120a23e1566195050983764e7d4543ce - /mnt/d/Konsolen/BIOS/oricutron/basic11b.pch
|
||||
fcd403db69f54290b51035d82f835e7b - /mnt/d/Konsolen/BIOS/lynxboot.img
|
||||
fcd403db69f54290b51035d82f835e7b - /mnt/d/Konsolen/BIOS/lynx/lynxboot.img
|
||||
6819a1533502261bfdd52436b8346073 - /mnt/d/Konsolen/BIOS/MSX2KR.rom
|
||||
6819a1533502261bfdd52436b8346073 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2KR.rom
|
||||
2ff07b8769367321128e03924af668a0 - /mnt/d/Konsolen/BIOS/quasi88/n80.rom
|
||||
2ff07b8769367321128e03924af668a0 - /mnt/d/Konsolen/BIOS/quasi88/n88n.rom
|
||||
326aba10fbf9b3f00010dfb3d74345f2 - /mnt/d/Konsolen/BIOS/Machines/MSX - Yamaha YIS503M/config (2).ini
|
||||
326aba10fbf9b3f00010dfb3d74345f2 - /mnt/d/Konsolen/BIOS/Machines/MSX - Yamaha YIS503M/config.ini
|
||||
0bac0c6a50104045d902df4503a4c30b - /mnt/d/Konsolen/BIOS/ATARIBAS.ROM
|
||||
0bac0c6a50104045d902df4503a4c30b - /mnt/d/Konsolen/BIOS/atari800/ATARIBAS.ROM
|
||||
106c0b559d0eb767f1d8d96d480b075e - /mnt/d/Konsolen/BIOS/dc/media/images/naomi_boot_us.png
|
||||
106c0b559d0eb767f1d8d96d480b075e - /mnt/d/Konsolen/BIOS/dc/media/images/naomi_nvmem.png
|
||||
4c42a2f075212361c3117015b107ff68 - /mnt/d/Konsolen/BIOS/48.rom
|
||||
4c42a2f075212361c3117015b107ff68 - /mnt/d/Konsolen/BIOS/zx48.rom
|
||||
d71842ce8f559a8aed2721766bc15f2b - /mnt/d/Konsolen/BIOS/MSX2SPEXT.rom
|
||||
d71842ce8f559a8aed2721766bc15f2b - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2SPEXT.rom
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/PS2 Bios 30004R V6 Pal.MEC
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/SCPH30004R.MEC
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/scph39001.MEC
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/pcsx2/bios/PS2 Bios 30004R V6 Pal.MEC
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/pcsx2/bios/SCPH-70004_BIOS_V12_PAL_200.mec
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/pcsx2/bios/SCPH-90001_BIOS_V18_USA_230.mec
|
||||
3faf7c064a4984f53e2ef5e80ed543bc - /mnt/d/Konsolen/BIOS/pcsx2/bios/scph39001.MEC
|
||||
d3293ebaaa7f4eb2a6766b68a0fb4609 - /mnt/d/Konsolen/BIOS/bios_MD.bin
|
||||
d3293ebaaa7f4eb2a6766b68a0fb4609 - /mnt/d/Konsolen/BIOS/Genesis_OS_ROM.bin
|
||||
672e104c3be3a238301aceffc3b23fd6 - /mnt/d/Konsolen/BIOS/bios.gg
|
||||
672e104c3be3a238301aceffc3b23fd6 - /mnt/d/Konsolen/BIOS/gamegear/bios.gg
|
||||
0dfdb4ec37c1b3f4862fb857221d81d2 - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/Shaders/swap_RGB_GBR.glsl
|
||||
0dfdb4ec37c1b3f4862fb857221d81d2 - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/Shaders/swap_RGB_GRB.glsl
|
||||
ab2f5024e71a6e9e744b3efb58d2967c - /mnt/d/Konsolen/BIOS/data/PRINTER/mps803.vpl
|
||||
ab2f5024e71a6e9e744b3efb58d2967c - /mnt/d/Konsolen/BIOS/data/PRINTER/nl10.vpl
|
||||
5f8924d013dd57a89cf349f4cdedc6b1 - /mnt/d/Konsolen/BIOS/amiga-os-310-cd32.rom
|
||||
5f8924d013dd57a89cf349f4cdedc6b1 - /mnt/d/Konsolen/BIOS/kick40060.CD32
|
||||
5f8924d013dd57a89cf349f4cdedc6b1 - /mnt/d/Konsolen/BIOS/Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom
|
||||
352f054ab09605070bdff49d73f335cc - /mnt/d/Konsolen/BIOS/Machines/SVI - Spectravideo SVI-328 80 Column/svi328a.rom
|
||||
352f054ab09605070bdff49d73f335cc - /mnt/d/Konsolen/BIOS/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi328a.rom
|
||||
352f054ab09605070bdff49d73f335cc - /mnt/d/Konsolen/BIOS/Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom
|
||||
53a094ad3a188f86de4e64624fe9b3ca - /mnt/d/Konsolen/BIOS/stvbios.zip
|
||||
53a094ad3a188f86de4e64624fe9b3ca - /mnt/d/Konsolen/BIOS/saturn/stvbios.zip
|
||||
d41ae4efaa2c97f632dbe75d24d51bea - /mnt/d/Konsolen/BIOS/atarist/tt.img/tos306fr.img
|
||||
d41ae4efaa2c97f632dbe75d24d51bea - /mnt/d/Konsolen/BIOS/tt-tos/tt030_fr/tos306fr.img
|
||||
8dd7d5296a650fac7319bce665a6a53c - /mnt/d/Konsolen/BIOS/scph5500.bin
|
||||
8dd7d5296a650fac7319bce665a6a53c - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH5500.BIN
|
||||
f9b6db2166d8e0db0806caf5d2823409 - /mnt/d/Konsolen/BIOS/fbneo/samples/rallyx.zip
|
||||
f9b6db2166d8e0db0806caf5d2823409 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/rallyx.zip
|
||||
8970fc987ab89a7f64da9f8a8c4333ff - /mnt/d/Konsolen/BIOS/3do_arcade_saot.bin
|
||||
8970fc987ab89a7f64da9f8a8c4333ff - /mnt/d/Konsolen/BIOS/3do/3do_arcade_saot.bin
|
||||
30a0b3402a0a13b516af76d39f45a365 - /mnt/d/Konsolen/BIOS/MSX2KREXT.rom
|
||||
30a0b3402a0a13b516af76d39f45a365 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2KREXT.rom
|
||||
c500ff71236068e0dc0d0603d265ae76 - /mnt/d/Konsolen/BIOS/g7400.bin
|
||||
c500ff71236068e0dc0d0603d265ae76 - /mnt/d/Konsolen/BIOS/o2em/g7400.bin
|
||||
72dab3838dab9877d396ebbe9c61367d - /mnt/d/Konsolen/BIOS/fbneo/samples/carnival.zip
|
||||
72dab3838dab9877d396ebbe9c61367d - /mnt/d/Konsolen/BIOS/mame2003/samples/carnival.zip
|
||||
72dab3838dab9877d396ebbe9c61367d - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/carnival.zip
|
||||
2efd74e3232ff260e371b99f84024f7f - /mnt/d/Konsolen/BIOS/bios_CD_U.bin
|
||||
2efd74e3232ff260e371b99f84024f7f - /mnt/d/Konsolen/BIOS/segacd/bios_CD_U.bin/us_scd1_9210.bin
|
||||
20b6885c6dc2d42c38754a365b043d71 - /mnt/d/Konsolen/BIOS/JiffyDOS_1581.bin
|
||||
20b6885c6dc2d42c38754a365b043d71 - /mnt/d/Konsolen/BIOS/vice/JiffyDOS_1581.bin
|
||||
51f2f43ae2f3508a14d9f56597e2d3ce - /mnt/d/Konsolen/BIOS/fz10_rom
|
||||
51f2f43ae2f3508a14d9f56597e2d3ce - /mnt/d/Konsolen/BIOS/panafz10.bin
|
||||
51f2f43ae2f3508a14d9f56597e2d3ce - /mnt/d/Konsolen/BIOS/3do/panafz10.bin
|
||||
ac9804d4c0e9d07e33472e3726ed15c3 - /mnt/d/Konsolen/BIOS/sl31253.bin
|
||||
ac9804d4c0e9d07e33472e3726ed15c3 - /mnt/d/Konsolen/BIOS/channelf/sl31253.bin
|
||||
ec000963af4c2121047df07c682c884f - /mnt/d/Konsolen/BIOS/data/C64/c64s.vpl
|
||||
ec000963af4c2121047df07c682c884f - /mnt/d/Konsolen/BIOS/data/CBM-II/c64s.vpl
|
||||
ec000963af4c2121047df07c682c884f - /mnt/d/Konsolen/BIOS/data/SCPU64/c64s.vpl
|
||||
403cdea1cbd2bb24fae506941f8f655e - /mnt/d/Konsolen/BIOS/PAINTER.ROM
|
||||
403cdea1cbd2bb24fae506941f8f655e - /mnt/d/Konsolen/BIOS/msx/PAINTER.ROM
|
||||
69e4f10e3cfcc8132bf75a13c5c5762f - /mnt/d/Konsolen/BIOS/mame2003/samples/gridlee.zip
|
||||
69e4f10e3cfcc8132bf75a13c5c5762f - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/gridlee.zip
|
||||
3462fcf2f1c5cc4bc779f119ecd2c55c - /mnt/d/Konsolen/BIOS/fbneo/samples/sasuke.zip
|
||||
3462fcf2f1c5cc4bc779f119ecd2c55c - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/sasuke.zip
|
||||
0050ba32d61b215ec1c1873829533b01 - /mnt/d/Konsolen/BIOS/fbneo/samples/zektor.zip
|
||||
0050ba32d61b215ec1c1873829533b01 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/zektor.zip
|
||||
2825baee5302244f78a8b21d5128ce95 - /mnt/d/Konsolen/BIOS/fbneo/samples/spacfury.zip
|
||||
2825baee5302244f78a8b21d5128ce95 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/spacfury.zip
|
||||
caeb071e0145dbe08b21c30fbbb60b1d - /mnt/d/Konsolen/BIOS/fbneo/samples/buckrog.zip
|
||||
caeb071e0145dbe08b21c30fbbb60b1d - /mnt/d/Konsolen/BIOS/mame2003/samples/buckrog.zip
|
||||
caeb071e0145dbe08b21c30fbbb60b1d - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/buckrog.zip
|
||||
765c6e69076c8fda1e0ddc6b18426595 - /mnt/d/Konsolen/BIOS/mame2003/samples/invinco.zip
|
||||
765c6e69076c8fda1e0ddc6b18426595 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/invinco.zip
|
||||
b22fed48ddbb7456799a4914c45afb19 - /mnt/d/Konsolen/BIOS/data/C64/ccs64.vpl
|
||||
b22fed48ddbb7456799a4914c45afb19 - /mnt/d/Konsolen/BIOS/data/CBM-II/ccs64.vpl
|
||||
b22fed48ddbb7456799a4914c45afb19 - /mnt/d/Konsolen/BIOS/data/SCPU64/ccs64.vpl
|
||||
5195b9111609959d3a20e2fb9527edbd - /mnt/d/Konsolen/BIOS/SCPH-70004_BIOS_V12_PAL_200.NVM
|
||||
5195b9111609959d3a20e2fb9527edbd - /mnt/d/Konsolen/BIOS/pcsx2/bios/SCPH-70004_BIOS_V12_PAL_200.NVM
|
||||
c3944a435cc249196db09290aa17e9cf - /mnt/d/Konsolen/BIOS/oricutron/basic10.pch
|
||||
c3944a435cc249196db09290aa17e9cf - /mnt/d/Konsolen/BIOS/oricutron/pravetzt-1.0.pch
|
||||
490f666e1afb15b7362b406ed1cea246 - /mnt/d/Konsolen/BIOS/scph5501.bin
|
||||
490f666e1afb15b7362b406ed1cea246 - /mnt/d/Konsolen/BIOS/scph7003.bin
|
||||
490f666e1afb15b7362b406ed1cea246 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH7003.BIN
|
||||
9e659f33f455688231d9fe989fb9815e - /mnt/d/Konsolen/BIOS/data/C64/pepto-pal.vpl
|
||||
9e659f33f455688231d9fe989fb9815e - /mnt/d/Konsolen/BIOS/data/CBM-II/pepto-pal.vpl
|
||||
403647fdec5d1517d10a9826d016a900 - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/GameSettings/GVS46E.ini
|
||||
403647fdec5d1517d10a9826d016a900 - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/GameSettings/GVS46J.ini
|
||||
3a0e2ef328040aa30b30a8134426879a - /mnt/d/Konsolen/BIOS/data/PET/edit4b80
|
||||
3a0e2ef328040aa30b30a8134426879a - /mnt/d/Konsolen/BIOS/vice/PET/edit4b80
|
||||
20c4b5d1d9469c201b145f082ec32658 - /mnt/d/Konsolen/BIOS/ARABIC.rom
|
||||
20c4b5d1d9469c201b145f082ec32658 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/ARABIC.rom
|
||||
cd237e16e7e77c06bb58540e9e9fca68 - /mnt/d/Konsolen/BIOS/bios.rom
|
||||
cd237e16e7e77c06bb58540e9e9fca68 - /mnt/d/Konsolen/BIOS/np2kai/bios.rom
|
||||
f373003710ab4322642f527f567e020a - /mnt/d/Konsolen/BIOS/iplrom30.dat
|
||||
f373003710ab4322642f527f567e020a - /mnt/d/Konsolen/BIOS/keropi/iplrom30.dat
|
||||
e66fa1dc5820d254611fdcdba0662372 - /mnt/d/Konsolen/BIOS/bios_CD_E.bin
|
||||
e66fa1dc5820d254611fdcdba0662372 - /mnt/d/Konsolen/BIOS/segacd/bios_CD_E.bin/eu_mcd1_9210.bin
|
||||
57af4ae21d4b705c2991d98ed5c1f7b8 - /mnt/d/Konsolen/BIOS/data/C128/basic64
|
||||
57af4ae21d4b705c2991d98ed5c1f7b8 - /mnt/d/Konsolen/BIOS/data/C64/basic
|
||||
57af4ae21d4b705c2991d98ed5c1f7b8 - /mnt/d/Konsolen/BIOS/data/C64DTV/basic
|
||||
3497234c1a109febb69a13dd49042435 - /mnt/d/Konsolen/BIOS/data/C64/gtk3_sym_se.vkm
|
||||
3497234c1a109febb69a13dd49042435 - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_sym_se.vkm
|
||||
3497234c1a109febb69a13dd49042435 - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_sym_se.vkm
|
||||
4a56d56e2219c5e2b006b66a4263c01c - /mnt/d/Konsolen/BIOS/isgsm.zip
|
||||
4a56d56e2219c5e2b006b66a4263c01c - /mnt/d/Konsolen/BIOS/fbneo/isgsm.zip
|
||||
df6f8a3d83c028a5cb9f2f2be60773f3 - /mnt/d/Konsolen/BIOS/cchip.zip
|
||||
df6f8a3d83c028a5cb9f2f2be60773f3 - /mnt/d/Konsolen/BIOS/fbneo/cchip.zip
|
||||
c8e5d0cd9985ae48a9ee5995687b7e39 - /mnt/d/Konsolen/BIOS/fbneo/samples/spacefb.zip
|
||||
c8e5d0cd9985ae48a9ee5995687b7e39 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/spacefb.zip
|
||||
255155cf3f9912c92be8f813e8112a54 - /mnt/d/Konsolen/BIOS/mame2003/artwork/omegrace.zip
|
||||
255155cf3f9912c92be8f813e8112a54 - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/omegrace.zip
|
||||
39065497630802346bce17963f13c092 - /mnt/d/Konsolen/BIOS/data/C128/kernal64
|
||||
39065497630802346bce17963f13c092 - /mnt/d/Konsolen/BIOS/data/C64/kernal
|
||||
39065497630802346bce17963f13c092 - /mnt/d/Konsolen/BIOS/data/C64DTV/kernal
|
||||
acf53887c2d2783dc059a9b442c86b90 - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - European/KANJI.rom
|
||||
acf53887c2d2783dc059a9b442c86b90 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/KANJI.rom
|
||||
30d56e79d89fbddf10938fa67fe3f34e - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0230h-20080220.bin
|
||||
30d56e79d89fbddf10938fa67fe3f34e - /mnt/d/Konsolen/BIOS/ps2/ps2-0230h-20080220.bin
|
||||
b6c33b7b3508d691d7872589c778f808 - /mnt/d/Konsolen/BIOS/MSX2G.rom
|
||||
b6c33b7b3508d691d7872589c778f808 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2G.rom
|
||||
8cab28f4b7311b8df63c07bb3b59bfd5 - /mnt/d/Konsolen/BIOS/disk11.rom
|
||||
8cab28f4b7311b8df63c07bb3b59bfd5 - /mnt/d/Konsolen/BIOS/trs80coco/disk11.rom
|
||||
a496cfdded3da562759be3561317b605 - /mnt/d/Konsolen/BIOS/panafz1j.bin
|
||||
a496cfdded3da562759be3561317b605 - /mnt/d/Konsolen/BIOS/3do/panafz1j.bin
|
||||
a09d11163a708b8dea90f1c5df33dca0 - /mnt/d/Konsolen/BIOS/data/PET/edit4b40
|
||||
a09d11163a708b8dea90f1c5df33dca0 - /mnt/d/Konsolen/BIOS/vice/PET/edit4b40
|
||||
ec2925db49871d5bb988a12bd376ac42 - /mnt/d/Konsolen/BIOS/fbneo/samples/subroc3d.zip
|
||||
ec2925db49871d5bb988a12bd376ac42 - /mnt/d/Konsolen/BIOS/mame2003/samples/subroc3d.zip
|
||||
ec2925db49871d5bb988a12bd376ac42 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/subroc3d.zip
|
||||
562d5ebf9e030a40d6fabfc2f33139fd - /mnt/d/Konsolen/BIOS/o2rom.bin
|
||||
562d5ebf9e030a40d6fabfc2f33139fd - /mnt/d/Konsolen/BIOS/o2em/o2rom.bin
|
||||
85ad74194e87c08904327de1a9443b7a - /mnt/d/Konsolen/BIOS/amiga-os-120.rom
|
||||
85ad74194e87c08904327de1a9443b7a - /mnt/d/Konsolen/BIOS/kick33180.A500
|
||||
85ad74194e87c08904327de1a9443b7a - /mnt/d/Konsolen/BIOS/Kickstart v1.2 r33.180 (1986)(Commodore)(A500-A1000-A2000)[!].rom
|
||||
1e68c231d0896b7eadcad1d7d8e76129 - /mnt/d/Konsolen/BIOS/scph7001.bin
|
||||
1e68c231d0896b7eadcad1d7d8e76129 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH7001.BIN
|
||||
a3f4eeb7f442a91abbf208afa2ff0ec7 - /mnt/d/Konsolen/BIOS/mame2003/samples/armora.zip
|
||||
a3f4eeb7f442a91abbf208afa2ff0ec7 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/armora.zip
|
||||
736adb2dc835df4d323191fdc8926cc9 - /mnt/d/Konsolen/BIOS/tos104us.img
|
||||
736adb2dc835df4d323191fdc8926cc9 - /mnt/d/Konsolen/BIOS/st-tos/tos104.img
|
||||
8ed74c95dcaad0d714e1734c82159119 - /mnt/d/Konsolen/BIOS/coleco/boot.rom/COL - ColecoVision/config.ini
|
||||
8ed74c95dcaad0d714e1734c82159119 - /mnt/d/Konsolen/BIOS/Machines/COL - ColecoVision/config.ini
|
||||
be4e606826f02802c1b9c222b9e6c2a7 - /mnt/d/Konsolen/BIOS/data/C64/gtk3_sym.vkm
|
||||
be4e606826f02802c1b9c222b9e6c2a7 - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_sym.vkm
|
||||
be4e606826f02802c1b9c222b9e6c2a7 - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_sym.vkm
|
||||
971ee8a36fb72da57aed01758f0a37f5 - /mnt/d/Konsolen/BIOS/neocd_sz.rom
|
||||
971ee8a36fb72da57aed01758f0a37f5 - /mnt/d/Konsolen/BIOS/neocd/neocd_sz.rom
|
||||
e30e8ef4631596e25466523b97fee19f - /mnt/d/Konsolen/BIOS/mame2003/artwork/frogs.zip
|
||||
e30e8ef4631596e25466523b97fee19f - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/frogs.zip
|
||||
524473c1a5a03b17e21d86a0408ff827 - /mnt/d/Konsolen/BIOS/sound.rom
|
||||
524473c1a5a03b17e21d86a0408ff827 - /mnt/d/Konsolen/BIOS/np2kai/sound.rom
|
||||
2cba0d812ec445cfe63ffa2cac8d42c2 - /mnt/d/Konsolen/BIOS/MSXTROPT.ROM
|
||||
2cba0d812ec445cfe63ffa2cac8d42c2 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXTROPT.ROM
|
||||
56bf5b02fed377b7bb9d91f914965431 - /mnt/d/Konsolen/BIOS/MSXDOS23.ROM
|
||||
56bf5b02fed377b7bb9d91f914965431 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXDOS23.ROM
|
||||
ed446d0c5adbdea7546189ecc969a528 - /mnt/d/Konsolen/BIOS/fbneo/samples/zaxxon.zip
|
||||
ed446d0c5adbdea7546189ecc969a528 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/zaxxon.zip
|
||||
85b38e4128bbc300e675f55b278683a8 - /mnt/d/Konsolen/BIOS/CYRILLIC.FNT
|
||||
85b38e4128bbc300e675f55b278683a8 - /mnt/d/Konsolen/BIOS/msx/CYRILLIC.FNT
|
||||
85b38e4128bbc300e675f55b278683a8 - /mnt/d/Konsolen/BIOS/msx/DEFAULT.FNT
|
||||
5e2e5dbfbae86930f43936563e8a4fcd - /mnt/d/Konsolen/BIOS/Machines/MSX2 - National FS-4600/config (2).ini
|
||||
5e2e5dbfbae86930f43936563e8a4fcd - /mnt/d/Konsolen/BIOS/Machines/MSX2 - National FS-4600/config.ini
|
||||
c23fb5d5e6bb1c240d02cf968972be37 - /mnt/d/Konsolen/BIOS/panafz1j-kanji.bin
|
||||
c23fb5d5e6bb1c240d02cf968972be37 - /mnt/d/Konsolen/BIOS/3do/panafz1j-kanji.bin
|
||||
bc4c0593bf8d1e06a4dd0934b79a2a77 - /mnt/d/Konsolen/BIOS/mame2003/samples/seawolf.zip
|
||||
bc4c0593bf8d1e06a4dd0934b79a2a77 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/seawolf.zip
|
||||
b0a367c1cf8db121d9f400e82a92787e - /mnt/d/Konsolen/BIOS/data/C64/gtk3_sym_da.vkm
|
||||
b0a367c1cf8db121d9f400e82a92787e - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_sym_da.vkm
|
||||
b0a367c1cf8db121d9f400e82a92787e - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_sym_da.vkm
|
||||
1f6be2395329125bb212423d70700834 - /mnt/d/Konsolen/BIOS/mame2003/samples/bosco.zip
|
||||
1f6be2395329125bb212423d70700834 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/bosco.zip
|
||||
23d65ad40ac1f2121fe35fe0c7893721 - /mnt/d/Konsolen/BIOS/mame2003/artwork/invaders.zip
|
||||
23d65ad40ac1f2121fe35fe0c7893721 - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/invaders.zip
|
||||
696ba04b3bc963aee2ba769298e342de - /mnt/d/Konsolen/BIOS/atarist/st.img
|
||||
696ba04b3bc963aee2ba769298e342de - /mnt/d/Konsolen/BIOS/st-tos/megast_se/tos102se.img
|
||||
d5869034604dbfd2c1d54170e874fd0a - /mnt/d/Konsolen/BIOS/gluck.rom
|
||||
d5869034604dbfd2c1d54170e874fd0a - /mnt/d/Konsolen/BIOS/fuse/gluck.rom
|
||||
28922c703cc7d2cf856f177f2985b3a9 - /mnt/d/Konsolen/BIOS/PS2 Bios 30004R V6 Pal.bin
|
||||
28922c703cc7d2cf856f177f2985b3a9 - /mnt/d/Konsolen/BIOS/SCPH30004R.bin
|
||||
28922c703cc7d2cf856f177f2985b3a9 - /mnt/d/Konsolen/BIOS/pcsx2/bios/PS2 Bios 30004R V6 Pal.bin
|
||||
cf11bbb5a16d7af9875cca9de9a15e09 - /mnt/d/Konsolen/BIOS/panafz10e-anvil-norsa.bin
|
||||
cf11bbb5a16d7af9875cca9de9a15e09 - /mnt/d/Konsolen/BIOS/3do/panafz10e-anvil-norsa.bin
|
||||
cf11bbb5a16d7af9875cca9de9a15e09 - /mnt/d/Konsolen/BIOS/3do/panafz10e-anvil-patched.bin
|
||||
e0430bca9925fb9882148fd2dc2418c1 - /mnt/d/Konsolen/BIOS/sgb2.boot.rom
|
||||
e0430bca9925fb9882148fd2dc2418c1 - /mnt/d/Konsolen/BIOS/sgb2_bios.bin
|
||||
e0430bca9925fb9882148fd2dc2418c1 - /mnt/d/Konsolen/BIOS/sgb2_boot.bin
|
||||
413590e50098a056cfec418d3df0212d - /mnt/d/Konsolen/BIOS/amiga-os-310-a3000.rom
|
||||
413590e50098a056cfec418d3df0212d - /mnt/d/Konsolen/BIOS/Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom
|
||||
f6c71de7470d16abe4f71b1444883dc8 - /mnt/d/Konsolen/BIOS/panafz1j-norsa.bin
|
||||
f6c71de7470d16abe4f71b1444883dc8 - /mnt/d/Konsolen/BIOS/3do/panafz1j-norsa.bin
|
||||
ef9bd0e62dfc47eb463fef20d0344826 - /mnt/d/Konsolen/BIOS/data/PET/edit1g
|
||||
ef9bd0e62dfc47eb463fef20d0344826 - /mnt/d/Konsolen/BIOS/vice/PET/edit1g
|
||||
80654e6eb0302e945632a246865fa5c8 - /mnt/d/Konsolen/BIOS/fbneo/samples/reactor.zip
|
||||
80654e6eb0302e945632a246865fa5c8 - /mnt/d/Konsolen/BIOS/mame2003/samples/reactor.zip
|
||||
80654e6eb0302e945632a246865fa5c8 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/reactor.zip
|
||||
9f8da36babead37617fc8e558a2e3ba9 - /mnt/d/Konsolen/BIOS/data/C128/godot.vpl
|
||||
9f8da36babead37617fc8e558a2e3ba9 - /mnt/d/Konsolen/BIOS/data/C64/godot.vpl
|
||||
9f8da36babead37617fc8e558a2e3ba9 - /mnt/d/Konsolen/BIOS/data/CBM-II/godot.vpl
|
||||
9f8da36babead37617fc8e558a2e3ba9 - /mnt/d/Konsolen/BIOS/data/SCPU64/godot.vpl
|
||||
352b3e701cb499a47a3777d2ff694e2d - /mnt/d/Konsolen/BIOS/fbneo/samples/turbo.zip
|
||||
352b3e701cb499a47a3777d2ff694e2d - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/turbo.zip
|
||||
74b0f217fa0e2b8bb5a2f8e2ecc69da3 - /mnt/d/Konsolen/BIOS/CARTS.SHA
|
||||
74b0f217fa0e2b8bb5a2f8e2ecc69da3 - /mnt/d/Konsolen/BIOS/msx/CARTS.SHA
|
||||
82f7bc9c08f43db1d79bcb565a0de12b - /mnt/d/Konsolen/BIOS/Machines/SVI - Spectravideo SVI-328 80 Column/svi806.rom
|
||||
82f7bc9c08f43db1d79bcb565a0de12b - /mnt/d/Konsolen/BIOS/Machines/SVI - Spectravideo SVI-328 MK2/svi806.rom
|
||||
fccb94e8b5146f9f88a1f7e6877fe771 - /mnt/d/Konsolen/BIOS/mame2003/samples/boothill.zip
|
||||
fccb94e8b5146f9f88a1f7e6877fe771 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/boothill.zip
|
||||
e844534dfe5744b381444dbe61ef1b66 - /mnt/d/Konsolen/BIOS/quasi88/n88ext1.rom
|
||||
e844534dfe5744b381444dbe61ef1b66 - /mnt/d/Konsolen/BIOS/quasi88/n88_1.rom
|
||||
08e36edbea28a017f79f8d4f7ff9b6d7 - /mnt/d/Konsolen/BIOS/pcfx.bios
|
||||
08e36edbea28a017f79f8d4f7ff9b6d7 - /mnt/d/Konsolen/BIOS/pcfx.rom
|
||||
08e36edbea28a017f79f8d4f7ff9b6d7 - /mnt/d/Konsolen/BIOS/pcfxbios.bin
|
||||
08e36edbea28a017f79f8d4f7ff9b6d7 - /mnt/d/Konsolen/BIOS/pcfx/pcfx.rom
|
||||
00dad01abdbf8ea9e79ad2fe11bdb182 - /mnt/d/Konsolen/BIOS/neogeo.zip
|
||||
00dad01abdbf8ea9e79ad2fe11bdb182 - /mnt/d/Konsolen/BIOS/geolith/neogeo.zip
|
||||
f75fd90c4b6bc623278e9b0017f18ca7 - /mnt/d/Konsolen/BIOS/mame2003/samples/depthch.zip
|
||||
f75fd90c4b6bc623278e9b0017f18ca7 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/depthch.zip
|
||||
96ac231b718e88ce64d5a9b4a5e9ae12 - /mnt/d/Konsolen/BIOS/MSX2R2.ROM
|
||||
96ac231b718e88ce64d5a9b4a5e9ae12 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2R2.ROM
|
||||
d0f682ee6237497004339fb02172638b - /mnt/d/Konsolen/BIOS/tos100us.img
|
||||
d0f682ee6237497004339fb02172638b - /mnt/d/Konsolen/BIOS/st-tos/tos100.img
|
||||
058b8ea26b39ed3ef36d98ee4e4e5b9b - /mnt/d/Konsolen/BIOS/data/C64/gtk3_pos_de.vkm
|
||||
058b8ea26b39ed3ef36d98ee4e4e5b9b - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_pos_de.vkm
|
||||
058b8ea26b39ed3ef36d98ee4e4e5b9b - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_pos_de.vkm
|
||||
6ffe789cca2eca9d2e71ca7b69b97e6b - /mnt/d/Konsolen/BIOS/MSX2FREXT.rom
|
||||
6ffe789cca2eca9d2e71ca7b69b97e6b - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2FREXT.rom
|
||||
b8dc97f778a6245c58e064b0312e8281 - /mnt/d/Konsolen/BIOS/panafz1-kanji.bin
|
||||
b8dc97f778a6245c58e064b0312e8281 - /mnt/d/Konsolen/BIOS/3do/panafz1-kanji.bin
|
||||
281f20ea4320404ec820fb7ec0693b38 - /mnt/d/Konsolen/BIOS/5200.rom
|
||||
281f20ea4320404ec820fb7ec0693b38 - /mnt/d/Konsolen/BIOS/atari5200/5200.rom
|
||||
82a21c1890cae844b3df741f2762d48d - /mnt/d/Konsolen/BIOS/amiga-os-130.rom
|
||||
82a21c1890cae844b3df741f2762d48d - /mnt/d/Konsolen/BIOS/kick34005.A500
|
||||
82a21c1890cae844b3df741f2762d48d - /mnt/d/Konsolen/BIOS/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom
|
||||
0cd5946c6473e42e8e4c2137785e427f - /mnt/d/Konsolen/BIOS/grom.bin
|
||||
0cd5946c6473e42e8e4c2137785e427f - /mnt/d/Konsolen/BIOS/intellivision/grom.bin
|
||||
8d3d9f294b6e174bc7b1d2fd1c727530 - /mnt/d/Konsolen/BIOS/64DD_IPL.bin
|
||||
8d3d9f294b6e174bc7b1d2fd1c727530 - /mnt/d/Konsolen/BIOS/Mupen64plus/IPL.n64
|
||||
38d32748ae49d1815b0614970849fd40 - /mnt/d/Konsolen/BIOS/font.rom
|
||||
38d32748ae49d1815b0614970849fd40 - /mnt/d/Konsolen/BIOS/np2kai/FONT.ROM
|
||||
acf4730ceb38ac9d8c7d8e21f2614600 - /mnt/d/Konsolen/BIOS/scph10000.bin
|
||||
acf4730ceb38ac9d8c7d8e21f2614600 - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0100j-20000117.bin
|
||||
acf4730ceb38ac9d8c7d8e21f2614600 - /mnt/d/Konsolen/BIOS/pcsx2/bios/scph10000.bin
|
||||
ddddbbb97e9aa042ef21c5d9898bde14 - /mnt/d/Konsolen/BIOS/data/C128/pepto-palold.vpl
|
||||
ddddbbb97e9aa042ef21c5d9898bde14 - /mnt/d/Konsolen/BIOS/data/C64/pepto-palold.vpl
|
||||
ddddbbb97e9aa042ef21c5d9898bde14 - /mnt/d/Konsolen/BIOS/data/CBM-II/pepto-palold.vpl
|
||||
ddddbbb97e9aa042ef21c5d9898bde14 - /mnt/d/Konsolen/BIOS/data/SCPU64/pepto-palold.vpl
|
||||
5c2366f25ff92d71788468ca492ebeca - /mnt/d/Konsolen/BIOS/front-sp1.bin
|
||||
5c2366f25ff92d71788468ca492ebeca - /mnt/d/Konsolen/BIOS/neocd/front-sp1.bin
|
||||
b2869f8678b8b274227f35aad26ba509 - /mnt/d/Konsolen/BIOS/scpu-dos-2.04.bin
|
||||
b2869f8678b8b274227f35aad26ba509 - /mnt/d/Konsolen/BIOS/vice/scpu-dos-2.04.bin
|
||||
b2869f8678b8b274227f35aad26ba509 - /mnt/d/Konsolen/BIOS/vice/SCPU64/scpu-dos-2.04.bin
|
||||
cb8e8404c0b28eda10469792dfd1dbc2 - /mnt/d/Konsolen/BIOS/data/PET/edit2g
|
||||
cb8e8404c0b28eda10469792dfd1dbc2 - /mnt/d/Konsolen/BIOS/vice/PET/edit2g
|
||||
c84f362c44192659273d45ae97462362 - /mnt/d/Konsolen/BIOS/MSXKR.rom
|
||||
c84f362c44192659273d45ae97462362 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXKR.rom
|
||||
21038400dc633070a78ad53090c53017 - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0230a-20080220.bin
|
||||
21038400dc633070a78ad53090c53017 - /mnt/d/Konsolen/BIOS/ps2/ps2-0230a-20080220.bin
|
||||
824b1c4475a3bd3b91c5ae81ea940aa2 - /mnt/d/Konsolen/BIOS/MSXTREXT.ROM
|
||||
824b1c4475a3bd3b91c5ae81ea940aa2 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXTREXT.ROM
|
||||
85ec9ca47d8f6807718151cbcca8b964 - /mnt/d/Konsolen/BIOS/sega_101.bin
|
||||
85ec9ca47d8f6807718151cbcca8b964 - /mnt/d/Konsolen/BIOS/saturn/sega_101.bin
|
||||
e7d7f6a085444d8687d5e13490f365e7 - /mnt/d/Konsolen/BIOS/fbneo/samples/thief.zip
|
||||
e7d7f6a085444d8687d5e13490f365e7 - /mnt/d/Konsolen/BIOS/mame2003/samples/thief.zip
|
||||
e7d7f6a085444d8687d5e13490f365e7 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/thief.zip
|
||||
593cff6597ab9380d822b8f824fd2c28 - /mnt/d/Konsolen/BIOS/2608_top.wav
|
||||
593cff6597ab9380d822b8f824fd2c28 - /mnt/d/Konsolen/BIOS/np2kai/2608_top.wav
|
||||
aa43fd07d043f3afc0ed097490e1f799 - /mnt/d/Konsolen/BIOS/data/C128/pc64.vpl
|
||||
aa43fd07d043f3afc0ed097490e1f799 - /mnt/d/Konsolen/BIOS/data/C64/pc64.vpl
|
||||
aa43fd07d043f3afc0ed097490e1f799 - /mnt/d/Konsolen/BIOS/data/CBM-II/pc64.vpl
|
||||
aa43fd07d043f3afc0ed097490e1f799 - /mnt/d/Konsolen/BIOS/data/SCPU64/pc64.vpl
|
||||
41db0d7b37be479296ffd59fcd6775f0 - /mnt/d/Konsolen/BIOS/PAINT.rom
|
||||
41db0d7b37be479296ffd59fcd6775f0 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/PAINT.rom
|
||||
7e31f0b84f6ea6f9ffec0cd968decf9f - /mnt/d/Konsolen/BIOS/fba/hiscore.dat
|
||||
7e31f0b84f6ea6f9ffec0cd968decf9f - /mnt/d/Konsolen/BIOS/mame2003/hiscore.dat
|
||||
7e31f0b84f6ea6f9ffec0cd968decf9f - /mnt/d/Konsolen/BIOS/mame2015/hiscore.dat
|
||||
394efbc50fb7df1151130d8c162f85c3 - /mnt/d/Konsolen/BIOS/MSXHAN.rom
|
||||
394efbc50fb7df1151130d8c162f85c3 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXHAN.rom
|
||||
7fd4caabac1d9169e289f0f7bbf71d8e - /mnt/d/Konsolen/BIOS/iplrom.dat
|
||||
7fd4caabac1d9169e289f0f7bbf71d8e - /mnt/d/Konsolen/BIOS/keropi/iplrom.dat
|
||||
364a1a579fe5cb8dba54519bcfcdac0d - /mnt/d/Konsolen/BIOS/Machines/MSX/MSX.rom
|
||||
364a1a579fe5cb8dba54519bcfcdac0d - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSX.rom
|
||||
364a1a579fe5cb8dba54519bcfcdac0d - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSX.rom
|
||||
364a1a579fe5cb8dba54519bcfcdac0d - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX.rom
|
||||
33ab4de7e3eb1d76ebf44b769a0b8e7d - /mnt/d/Konsolen/BIOS/data/C128/colodore.vpl
|
||||
33ab4de7e3eb1d76ebf44b769a0b8e7d - /mnt/d/Konsolen/BIOS/data/C64/colodore.vpl
|
||||
33ab4de7e3eb1d76ebf44b769a0b8e7d - /mnt/d/Konsolen/BIOS/data/CBM-II/colodore.vpl
|
||||
33ab4de7e3eb1d76ebf44b769a0b8e7d - /mnt/d/Konsolen/BIOS/data/SCPU64/colodore.vpl
|
||||
9dd9a69432cc116d0f1d4ec7a51053e0 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - C-BIOS/cbios_sub.rom
|
||||
9dd9a69432cc116d0f1d4ec7a51053e0 - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - C-BIOS/cbios_sub.rom
|
||||
a64b3ef9efcc066b18d35b134068d1cc - /mnt/d/Konsolen/BIOS/disk10.rom
|
||||
a64b3ef9efcc066b18d35b134068d1cc - /mnt/d/Konsolen/BIOS/trs80coco/disk10.rom
|
||||
dccd380e27605732289d77af68bffce6 - /mnt/d/Konsolen/BIOS/mame2003/samples/sharkatt.zip
|
||||
dccd380e27605732289d77af68bffce6 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/sharkatt.zip
|
||||
cd658db633c73dda447377cd98aaf85b - /mnt/d/Konsolen/BIOS/data/C128/pepto-pal.vpl
|
||||
cd658db633c73dda447377cd98aaf85b - /mnt/d/Konsolen/BIOS/data/SCPU64/pepto-pal.vpl
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX - Brazilian/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX - German/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX - Japanese/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX - Korean/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX - Swedish/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Arabic/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Brazilian/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - French/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - German/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Japanese/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Korean/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Only PSG/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Russian/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Spanish/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/MSX2+/hardwareconfig.xml
|
||||
dc709d16352895be39721da1150b5fe1 - /mnt/d/Konsolen/BIOS/Machines/Turbo-R/hardwareconfig.xml
|
||||
eb1f32f5d9f382db1bbfb8d7f9cb343a - /mnt/d/Konsolen/BIOS/ATARIOSA.ROM
|
||||
eb1f32f5d9f382db1bbfb8d7f9cb343a - /mnt/d/Konsolen/BIOS/atari800/ATARIOSA.ROM
|
||||
cba733ceeff5aef5c32254f1d617fa62 - /mnt/d/Konsolen/BIOS/scph3500.bin
|
||||
cba733ceeff5aef5c32254f1d617fa62 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH3500.bin
|
||||
cc78d4f4900f622bd6de1aed7f52592f - /mnt/d/Konsolen/BIOS/iplromco.dat
|
||||
cc78d4f4900f622bd6de1aed7f52592f - /mnt/d/Konsolen/BIOS/keropi/iplromco.dat
|
||||
80dcd1ad1a4cf65d64b7ba10504e8190 - /mnt/d/Konsolen/BIOS/DISK.ROM
|
||||
80dcd1ad1a4cf65d64b7ba10504e8190 - /mnt/d/Konsolen/BIOS/msx/DISK.ROM
|
||||
0da70a5d2a0e733398e005b96b7e4ba6 - /mnt/d/Konsolen/BIOS/trdos.rom
|
||||
0da70a5d2a0e733398e005b96b7e4ba6 - /mnt/d/Konsolen/BIOS/fuse/trdos.rom
|
||||
255113ba943c92a54facd25a10fd780c - /mnt/d/Konsolen/BIOS/mpr-18811-mx.ic1
|
||||
255113ba943c92a54facd25a10fd780c - /mnt/d/Konsolen/BIOS/saturn/mpr-18811-mx.ic1
|
||||
278a9397d192149e84e820ac621a8edd - /mnt/d/Konsolen/BIOS/bios_CD_J.bin
|
||||
278a9397d192149e84e820ac621a8edd - /mnt/d/Konsolen/BIOS/segacd/bios_CD_J.bin/bios_CD_J.bin
|
||||
278a9397d192149e84e820ac621a8edd - /mnt/d/Konsolen/BIOS/segacd/bios_CD_J.bin/jp_mcd1_9111.bin
|
||||
0604dbb85928f0598d04144a8b554bbe - /mnt/d/Konsolen/BIOS/atarist/megaste.img
|
||||
0604dbb85928f0598d04144a8b554bbe - /mnt/d/Konsolen/BIOS/atarist/megatste.img/tos206de.img
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/msx_cart_bm_012.zip
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/gamecube/EUR/.gitkeep
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/gamecube/JAP/.gitkeep
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/gamecube/USA/.gitkeep
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/pcsx2/logs/dev9null.log
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/pcsx2/logs/padLog.txt
|
||||
d41d8cd98f00b204e9800998ecf8427e - /mnt/d/Konsolen/BIOS/pcsx2/logs/USBnull.log
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/MSXDOS2.ROM
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/Machines/MSX/MSXDOS2.ROM
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSXDOS2.ROM
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSXDOS2.ROM
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXDOS2.ROM
|
||||
6418d091cd6907bbcf940324339e43bb - /mnt/d/Konsolen/BIOS/msx/MSXDOS2.ROM
|
||||
fd9513736823e470965949f2a3ec6a43 - /mnt/d/Konsolen/BIOS/MSXTR.ROM
|
||||
fd9513736823e470965949f2a3ec6a43 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXTR.ROM
|
||||
7e07257748c06f31e5b21726d15217de - /mnt/d/Konsolen/BIOS/pcsx2/inis/Dev9null.ini
|
||||
7e07257748c06f31e5b21726d15217de - /mnt/d/Konsolen/BIOS/pcsx2/inis/USBnull.ini
|
||||
af5828fdff51384f99b3c4926be27762 - /mnt/d/Konsolen/BIOS/saturn_bios.bin
|
||||
af5828fdff51384f99b3c4926be27762 - /mnt/d/Konsolen/BIOS/sega_100.bin
|
||||
af5828fdff51384f99b3c4926be27762 - /mnt/d/Konsolen/BIOS/kronos/saturn_bios.bin
|
||||
af5828fdff51384f99b3c4926be27762 - /mnt/d/Konsolen/BIOS/saturn/saturn_bios.bin
|
||||
c2428525597a69fc71621e0cdf114619 - /mnt/d/Konsolen/BIOS/fbneo/samples/dkongjr.zip
|
||||
c2428525597a69fc71621e0cdf114619 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/dkongjr.zip
|
||||
1e4fb124a3a886865acb574f388c803d - /mnt/d/Konsolen/BIOS/bios.min
|
||||
1e4fb124a3a886865acb574f388c803d - /mnt/d/Konsolen/BIOS/pokemini/bios.min
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/MSX2PEXT.ROM
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/Machines/MSX/MSX2PEXT.rom
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSX2PEXT.rom
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSX2PEXT.rom
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2PEXT.rom
|
||||
7c8243c71d8f143b2531f01afa6a05dc - /mnt/d/Konsolen/BIOS/msx/MSX2PEXT.ROM
|
||||
de93caec13d1a141a40a79f5c86168d6 - /mnt/d/Konsolen/BIOS/scph102B.bin
|
||||
de93caec13d1a141a40a79f5c86168d6 - /mnt/d/Konsolen/BIOS/scph102C.bin
|
||||
c688a229f834f95f8c64df7d33188cd8 - /mnt/d/Konsolen/BIOS/MSXTRMUS.ROM
|
||||
c688a229f834f95f8c64df7d33188cd8 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXTRMUS.ROM
|
||||
d675a2ca186c6efcd6277b835de4c7e5 - /mnt/d/Konsolen/BIOS/quasi88/n88ext0.rom
|
||||
d675a2ca186c6efcd6277b835de4c7e5 - /mnt/d/Konsolen/BIOS/quasi88/n88_0.rom
|
||||
3240872c70984b6cbfda1586cab68dbe - /mnt/d/Konsolen/BIOS/mpr-17933.bin
|
||||
3240872c70984b6cbfda1586cab68dbe - /mnt/d/Konsolen/BIOS/saturn/mpr-17933.bin
|
||||
54847e693405ffeb0359c6287434cbef - /mnt/d/Konsolen/BIOS/scph1002.bin
|
||||
54847e693405ffeb0359c6287434cbef - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH1002.bin
|
||||
c993feb1eeddec1d2e687aa514231028 - /mnt/d/Konsolen/BIOS/kick33180.A500.RTB
|
||||
c993feb1eeddec1d2e687aa514231028 - /mnt/d/Konsolen/BIOS/kick33192.A500.RTB
|
||||
4698414be3369fff17bf6d3111734c6c - /mnt/d/Konsolen/BIOS/fbneo/spec48k.zip
|
||||
4698414be3369fff17bf6d3111734c6c - /mnt/d/Konsolen/BIOS/fbneo/spectrum.zip
|
||||
6548fa45061274dee1ea8ae1e9e93910 - /mnt/d/Konsolen/BIOS/quasi88/n88ext2.rom
|
||||
6548fa45061274dee1ea8ae1e9e93910 - /mnt/d/Konsolen/BIOS/quasi88/n88_2.rom
|
||||
1cd19988d1d72a3e7caa0b73234c96b4 - /mnt/d/Konsolen/BIOS/mpr-19367-mx.ic1
|
||||
1cd19988d1d72a3e7caa0b73234c96b4 - /mnt/d/Konsolen/BIOS/saturn/mpr-19367-mx.ic1
|
||||
aa95aea2563cd5ec0a0919b44cc17d47 - /mnt/d/Konsolen/BIOS/MSX.ROM
|
||||
aa95aea2563cd5ec0a0919b44cc17d47 - /mnt/d/Konsolen/BIOS/msx/MSX.ROM
|
||||
7b9466546009d419ebd0dc27db90c30e - /mnt/d/Konsolen/BIOS/MSX2HAN.rom
|
||||
7b9466546009d419ebd0dc27db90c30e - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2HAN.rom
|
||||
cf32a93c0a693ed359a4f483ef6db53d - /mnt/d/Konsolen/BIOS/data/C64/jpchrgen
|
||||
cf32a93c0a693ed359a4f483ef6db53d - /mnt/d/Konsolen/BIOS/data/SCPU64/jpchrgen
|
||||
ca30b50f880eb660a320674ed365ef7a - /mnt/d/Konsolen/BIOS/disksys.rom
|
||||
ca30b50f880eb660a320674ed365ef7a - /mnt/d/Konsolen/BIOS/fds/disksys.rom
|
||||
b60fb8ea07e8a64772ab717afba3706d - /mnt/d/Konsolen/BIOS/sp-u2.sp1
|
||||
b60fb8ea07e8a64772ab717afba3706d - /mnt/d/Konsolen/BIOS/usa_2slt.bin
|
||||
de3cf45d227ad44645b22aa83b49f450 - /mnt/d/Konsolen/BIOS/neocd_t.rom
|
||||
de3cf45d227ad44645b22aa83b49f450 - /mnt/d/Konsolen/BIOS/neocd/neocd_t.rom
|
||||
dc10d7bdd1b6f450773dfb558477c230 - /mnt/d/Konsolen/BIOS/amiga-os-204.rom
|
||||
dc10d7bdd1b6f450773dfb558477c230 - /mnt/d/Konsolen/BIOS/kick20.rom
|
||||
dc10d7bdd1b6f450773dfb558477c230 - /mnt/d/Konsolen/BIOS/KICK37175.A500
|
||||
dc10d7bdd1b6f450773dfb558477c230 - /mnt/d/Konsolen/BIOS/Kickstart v2.04 r37.175 (1991)(Commodore)(A500+)[!].rom
|
||||
847cc025ffae665487940ff2639540e5 - /mnt/d/Konsolen/BIOS/Machines/MSX/MSX2P.rom
|
||||
847cc025ffae665487940ff2639540e5 - /mnt/d/Konsolen/BIOS/Machines/MSX2/MSX2P.rom
|
||||
847cc025ffae665487940ff2639540e5 - /mnt/d/Konsolen/BIOS/Machines/MSX2+/MSX2P.rom
|
||||
847cc025ffae665487940ff2639540e5 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2P.rom
|
||||
637461af7c3b756692a87c5f08081d03 - /mnt/d/Konsolen/BIOS/data/C64/gtk3_pos.vkm
|
||||
637461af7c3b756692a87c5f08081d03 - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_pos.vkm
|
||||
637461af7c3b756692a87c5f08081d03 - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_pos.vkm
|
||||
c2fc43556eb6b7b25bdf5955bd9df825 - /mnt/d/Konsolen/BIOS/bas13.rom
|
||||
c2fc43556eb6b7b25bdf5955bd9df825 - /mnt/d/Konsolen/BIOS/trs80coco/bas13.rom
|
||||
7da1e5b7c482d4108d22a5b09631d967 - /mnt/d/Konsolen/BIOS/font.bmp
|
||||
7da1e5b7c482d4108d22a5b09631d967 - /mnt/d/Konsolen/BIOS/np2kai/font.bmp
|
||||
465646c9b6729f77eea5314d1f057951 - /mnt/d/Konsolen/BIOS/amiga-os-205.rom
|
||||
465646c9b6729f77eea5314d1f057951 - /mnt/d/Konsolen/BIOS/Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom
|
||||
df692a80a5b1bc90728bc3dfc76cd948 - /mnt/d/Konsolen/BIOS/bios7.bin
|
||||
df692a80a5b1bc90728bc3dfc76cd948 - /mnt/d/Konsolen/BIOS/nds/bios7.bin
|
||||
a249565f03b98d004ee7f019570069cd - /mnt/d/Konsolen/BIOS/128p-0.rom
|
||||
a249565f03b98d004ee7f019570069cd - /mnt/d/Konsolen/BIOS/fuse/128p-0.rom
|
||||
192d6d950d0ed3df8040b788502831c2 - /mnt/d/Konsolen/BIOS/kick13.rom
|
||||
192d6d950d0ed3df8040b788502831c2 - /mnt/d/Konsolen/BIOS/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o].rom
|
||||
654e658497d8860012a59fedfb4c97b5 - /mnt/d/Konsolen/BIOS/mame2003/cheat.dat
|
||||
654e658497d8860012a59fedfb4c97b5 - /mnt/d/Konsolen/BIOS/mame2003-plus/cheat.dat
|
||||
6e3735ff4c7dc899ee98981385f6f3d0 - /mnt/d/Konsolen/BIOS/SCPH101.BIN
|
||||
6e3735ff4c7dc899ee98981385f6f3d0 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH101.BIN
|
||||
d6521785627d20c51edc566808a6bf28 - /mnt/d/Konsolen/BIOS/tos102fr.img
|
||||
d6521785627d20c51edc566808a6bf28 - /mnt/d/Konsolen/BIOS/st-tos/megast_fr/tos102fr.img
|
||||
d71004351c8bbfdad53b18222c061d49 - /mnt/d/Konsolen/BIOS/2608_sd.wav
|
||||
d71004351c8bbfdad53b18222c061d49 - /mnt/d/Konsolen/BIOS/np2kai/2608_sd.wav
|
||||
e3b95de6426b55814b05b4dd8eacea48 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Spectravideo SVI-738-2 JP Grobler/config (2).ini
|
||||
e3b95de6426b55814b05b4dd8eacea48 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Spectravideo SVI-738-2 JP Grobler/config.ini
|
||||
06daac977823773a3eea3422fd26a703 - /mnt/d/Konsolen/BIOS/ATARIXL.ROM
|
||||
06daac977823773a3eea3422fd26a703 - /mnt/d/Konsolen/BIOS/atari800/ATARIXL.ROM
|
||||
e10c53c2f8b90bab96ead2d368858623 - /mnt/d/Konsolen/BIOS/dc_bios.bin
|
||||
e10c53c2f8b90bab96ead2d368858623 - /mnt/d/Konsolen/BIOS/dc/boot.bin
|
||||
e10c53c2f8b90bab96ead2d368858623 - /mnt/d/Konsolen/BIOS/dc/dc_boot.bin
|
||||
840481177270d5642a14ca71ee72844c - /mnt/d/Konsolen/BIOS/bios.sms
|
||||
840481177270d5642a14ca71ee72844c - /mnt/d/Konsolen/BIOS/bios_E.sms
|
||||
840481177270d5642a14ca71ee72844c - /mnt/d/Konsolen/BIOS/bios_U.sms
|
||||
840481177270d5642a14ca71ee72844c - /mnt/d/Konsolen/BIOS/mastersystem/bios_U.sms
|
||||
f877f32e6d8687474ac5ee83e40de23b - /mnt/d/Konsolen/BIOS/MSX2PMUS.rom
|
||||
f877f32e6d8687474ac5ee83e40de23b - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - European/MSX2PMUS.rom
|
||||
f877f32e6d8687474ac5ee83e40de23b - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2PMUS.rom
|
||||
e9198c4db1fe0c86c95f542c7e6f3d25 - /mnt/d/Konsolen/BIOS/mame2003/samples/battles.zip
|
||||
e9198c4db1fe0c86c95f542c7e6f3d25 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/battles.zip
|
||||
41d2e2c0c0edfccf76fa1c3e38bc1cf2 - /mnt/d/Konsolen/BIOS/quasi88/kanji2.rom
|
||||
41d2e2c0c0edfccf76fa1c3e38bc1cf2 - /mnt/d/Konsolen/BIOS/quasi88/n88knj2.rom
|
||||
41d2e2c0c0edfccf76fa1c3e38bc1cf2 - /mnt/d/Konsolen/BIOS/quasi88/N88_KNJ2.ROM
|
||||
793e3b833c33be7aaf834beacb8fb926 - /mnt/d/Konsolen/BIOS/MSXAR.ROM
|
||||
793e3b833c33be7aaf834beacb8fb926 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXAR.ROM
|
||||
95d339631d867c8f1d15a5f2ec26069d - /mnt/d/Konsolen/BIOS/sl90025.bin
|
||||
95d339631d867c8f1d15a5f2ec26069d - /mnt/d/Konsolen/BIOS/channelf/sl90025.bin
|
||||
f39572af7584cb5b3f70ae8cc848aba2 - /mnt/d/Konsolen/BIOS/neocd.bin
|
||||
f39572af7584cb5b3f70ae8cc848aba2 - /mnt/d/Konsolen/BIOS/neocd/neocd.bin
|
||||
f39572af7584cb5b3f70ae8cc848aba2 - /mnt/d/Konsolen/BIOS/neocd/neocd_z.rom
|
||||
de5487fcaa7b848e8c60b6fefc8f19d7 - /mnt/d/Konsolen/BIOS/ProSystem.dat
|
||||
de5487fcaa7b848e8c60b6fefc8f19d7 - /mnt/d/Konsolen/BIOS/ProSystem[2].dat
|
||||
e2c861c588fca2d0cf6be3df3aaf05f2 - /mnt/d/Konsolen/BIOS/atarist/emutos.img
|
||||
e2c861c588fca2d0cf6be3df3aaf05f2 - /mnt/d/Konsolen/BIOS/emu-tos/etos512k.img
|
||||
6bff06f89889b64e395e35365e627366 - /mnt/d/Konsolen/BIOS/mame2003/samples/thehand.zip
|
||||
6bff06f89889b64e395e35365e627366 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/thehand.zip
|
||||
3bffafac42a7767d8dcecf771f5552ba - /mnt/d/Konsolen/BIOS/dc/naomi_boot.bin
|
||||
3bffafac42a7767d8dcecf771f5552ba - /mnt/d/Konsolen/BIOS/dc/naomi_boot_jp.bin
|
||||
00aa02b6077de40a0b51d71a3c3e1d5f - /mnt/d/Konsolen/BIOS/PANASONICDISK.rom
|
||||
00aa02b6077de40a0b51d71a3c3e1d5f - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - European/PANASONICDISK.rom
|
||||
00aa02b6077de40a0b51d71a3c3e1d5f - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/PANASONICDISK.rom
|
||||
a48e6746bd7edec0f40cff078f0bb19f - /mnt/d/Konsolen/BIOS/panafz10e-anvil.bin
|
||||
a48e6746bd7edec0f40cff078f0bb19f - /mnt/d/Konsolen/BIOS/3do/panafz10e-anvil.bin
|
||||
efeaef3b6f00d07e632efc6bde94ea1d - /mnt/d/Konsolen/BIOS/data/C128/cjam.vpl
|
||||
efeaef3b6f00d07e632efc6bde94ea1d - /mnt/d/Konsolen/BIOS/data/C64/cjam.vpl
|
||||
efeaef3b6f00d07e632efc6bde94ea1d - /mnt/d/Konsolen/BIOS/data/CBM-II/cjam.vpl
|
||||
efeaef3b6f00d07e632efc6bde94ea1d - /mnt/d/Konsolen/BIOS/data/SCPU64/cjam.vpl
|
||||
c933316c7d939532a13648850c1c2aa6 - /mnt/d/Konsolen/BIOS/bas12.rom
|
||||
c933316c7d939532a13648850c1c2aa6 - /mnt/d/Konsolen/BIOS/trs80coco/bas12.rom
|
||||
d3a44ba7d42a74d3ac58cb9c14c6a5ca - /mnt/d/Konsolen/BIOS/STBIOS.bin
|
||||
d3a44ba7d42a74d3ac58cb9c14c6a5ca - /mnt/d/Konsolen/BIOS/sufami/STBIOS.bin
|
||||
be5d1ec8001d945ca1432285722e9d16 - /mnt/d/Konsolen/BIOS/MSX2AREXT.ROM
|
||||
be5d1ec8001d945ca1432285722e9d16 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2AREXT.ROM
|
||||
32fbbd84168d3482956eb3c5051637f5 - /mnt/d/Konsolen/BIOS/dmg_boot.bin
|
||||
32fbbd84168d3482956eb3c5051637f5 - /mnt/d/Konsolen/BIOS/gb_bios.bin
|
||||
32fbbd84168d3482956eb3c5051637f5 - /mnt/d/Konsolen/BIOS/gb/gb_bios.bin
|
||||
6f69cc8b5ed761b03afd78000dfb0e19 - /mnt/d/Konsolen/BIOS/FMPAC.ROM
|
||||
6f69cc8b5ed761b03afd78000dfb0e19 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/FMPAC.rom
|
||||
6f69cc8b5ed761b03afd78000dfb0e19 - /mnt/d/Konsolen/BIOS/msx/FMPAC.ROM
|
||||
25789a649faff0a1176dc7d9b98105c0 - /mnt/d/Konsolen/BIOS/tos100fr.img
|
||||
25789a649faff0a1176dc7d9b98105c0 - /mnt/d/Konsolen/BIOS/st-tos/st_fr/tos100fr.img
|
||||
96a4ead13f364734f79b0c58af2f0e1f - /mnt/d/Konsolen/BIOS/2608_tom.wav
|
||||
96a4ead13f364734f79b0c58af2f0e1f - /mnt/d/Konsolen/BIOS/np2kai/2608_tom.wav
|
||||
44552702b05697a14ccbe2ca22ee7139 - /mnt/d/Konsolen/BIOS/rom1.bin
|
||||
44552702b05697a14ccbe2ca22ee7139 - /mnt/d/Konsolen/BIOS/pcsx2/bios/rom1.bin
|
||||
0b6120f289336538bc564548109f97c6 - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - European/XBASIC2.rom
|
||||
0b6120f289336538bc564548109f97c6 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/XBASIC2.rom
|
||||
74b5fdfb7fced155fc92a866e7402bdd - /mnt/d/Konsolen/BIOS/data/C128/community-colors.vpl
|
||||
74b5fdfb7fced155fc92a866e7402bdd - /mnt/d/Konsolen/BIOS/data/C64/community-colors.vpl
|
||||
74b5fdfb7fced155fc92a866e7402bdd - /mnt/d/Konsolen/BIOS/data/CBM-II/community-colors.vpl
|
||||
74b5fdfb7fced155fc92a866e7402bdd - /mnt/d/Konsolen/BIOS/data/SCPU64/community-colors.vpl
|
||||
6d8c0ca64e726c82a4b726e9b01cdf1e - /mnt/d/Konsolen/BIOS/MSX2P.ROM
|
||||
6d8c0ca64e726c82a4b726e9b01cdf1e - /mnt/d/Konsolen/BIOS/msx/MSX2P.ROM
|
||||
8ecd73eb4edf7ed7e81aef1be80031d5 - /mnt/d/Konsolen/BIOS/sgb2.program.rom
|
||||
8ecd73eb4edf7ed7e81aef1be80031d5 - /mnt/d/Konsolen/BIOS/SGB2.sfc
|
||||
8ecd73eb4edf7ed7e81aef1be80031d5 - /mnt/d/Konsolen/BIOS/sgb/SGB2.sfc
|
||||
9499c795cb94fc92a6a2134fb146a84e - /mnt/d/Konsolen/BIOS/fbneo/samples/vanguard.zip
|
||||
9499c795cb94fc92a6a2134fb146a84e - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/vanguard.zip
|
||||
397bb566584be7b9764e7a68974c4263 - /mnt/d/Konsolen/BIOS/7800 BIOS (E).rom
|
||||
397bb566584be7b9764e7a68974c4263 - /mnt/d/Konsolen/BIOS/atari7800/7800 BIOS (E).rom
|
||||
11be01106aee6a4bf0fbaa85db2fe69f - /mnt/d/Konsolen/BIOS/mame2003/samples/sundance.zip
|
||||
11be01106aee6a4bf0fbaa85db2fe69f - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/sundance.zip
|
||||
043d76d5f0ef836500700c34faef774d - /mnt/d/Konsolen/BIOS/neocd_sf.rom
|
||||
043d76d5f0ef836500700c34faef774d - /mnt/d/Konsolen/BIOS/neocd/neocd_sf.rom
|
||||
9dfdebfaa6b547222a40aab8bb2e29f8 - /mnt/d/Konsolen/BIOS/MSXKANJI.rom
|
||||
9dfdebfaa6b547222a40aab8bb2e29f8 - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - European/MSXKANJI.rom
|
||||
9dfdebfaa6b547222a40aab8bb2e29f8 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXKANJI.rom
|
||||
924e392ed05558ffdb115408c263dccf - /mnt/d/Konsolen/BIOS/Dtlh3000.bin
|
||||
924e392ed05558ffdb115408c263dccf - /mnt/d/Konsolen/BIOS/scph1001.bin
|
||||
924e392ed05558ffdb115408c263dccf - /mnt/d/Konsolen/BIOS/scph10011.bin
|
||||
924e392ed05558ffdb115408c263dccf - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH1001.BIN
|
||||
20989124671593ab04eeb01d52a1e25c - /mnt/d/Konsolen/BIOS/NOVAXIS.rom
|
||||
20989124671593ab04eeb01d52a1e25c - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/NOVAXIS.rom
|
||||
be9bc86ee5eb401d0a40d0377f65fefa - /mnt/d/Konsolen/BIOS/dragon/d200rom1.rom
|
||||
be9bc86ee5eb401d0a40d0377f65fefa - /mnt/d/Konsolen/BIOS/dragon/d64tano.rom
|
||||
025521054a23ad598cdc8dc534fd450b - /mnt/d/Konsolen/BIOS/mame2003/samples/pulsar.zip
|
||||
025521054a23ad598cdc8dc534fd450b - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/pulsar.zip
|
||||
0f343b0931126a20f133d67c2b018a3b - /mnt/d/Konsolen/BIOS/scph10000.NVM
|
||||
0f343b0931126a20f133d67c2b018a3b - /mnt/d/Konsolen/BIOS/pcsx2/bios/scph10000.NVM
|
||||
b4b70db555dfb48b91a067eea747c771 - /mnt/d/Konsolen/BIOS/mame2003/artwork/solarq.zip
|
||||
b4b70db555dfb48b91a067eea747c771 - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/solarq.zip
|
||||
741f9b388a79eb42285c7698ebe14a8a - /mnt/d/Konsolen/BIOS/data/C64/gtk3_keyrah.vkm
|
||||
741f9b388a79eb42285c7698ebe14a8a - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_keyrah.vkm
|
||||
741f9b388a79eb42285c7698ebe14a8a - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_keyrah.vkm
|
||||
0639a9ff5f5f3fd7833b924b9d97a8ae - /mnt/d/Konsolen/BIOS/scph39001.NVM
|
||||
0639a9ff5f5f3fd7833b924b9d97a8ae - /mnt/d/Konsolen/BIOS/pcsx2/bios/scph39001.NVM
|
||||
9baf17b190f631405b6b0eeeeb162b87 - /mnt/d/Konsolen/BIOS/HANGUL.rom
|
||||
9baf17b190f631405b6b0eeeeb162b87 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/HANGUL.rom
|
||||
24a519c53f67b00640d0048ef7089105 - /mnt/d/Konsolen/BIOS/bios_J.sms
|
||||
24a519c53f67b00640d0048ef7089105 - /mnt/d/Konsolen/BIOS/mastersystem/bios_J.sms
|
||||
a622cc35d8d78703905592dfaa4d2ccb - /mnt/d/Konsolen/BIOS/tos102de.img
|
||||
a622cc35d8d78703905592dfaa4d2ccb - /mnt/d/Konsolen/BIOS/st-tos/megast_de/tos102de.img
|
||||
af55e8f3ff150218440e98e50a099188 - /mnt/d/Konsolen/BIOS/mame2003/catver.ini
|
||||
af55e8f3ff150218440e98e50a099188 - /mnt/d/Konsolen/BIOS/mame2003-plus/catver.ini
|
||||
0c425c24e91335f18a3246b1d611a8ca - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/Wii/shared2/wc24/nwc24msg.cbk
|
||||
0c425c24e91335f18a3246b1d611a8ca - /mnt/d/Konsolen/BIOS/dolphin-emu/Sys/Wii/shared2/wc24/nwc24msg.cfg
|
||||
9feb1fdeadd6232a13b95e60b34ccef9 - /mnt/d/Konsolen/BIOS/SCPH-70004_BIOS_V12_PAL_200.EROM
|
||||
9feb1fdeadd6232a13b95e60b34ccef9 - /mnt/d/Konsolen/BIOS/pcsx2/bios/SCPH-70004_BIOS_V12_PAL_200.EROM
|
||||
fd0b8f1766dc6dcc03a43d9c79dc4e37 - /mnt/d/Konsolen/BIOS/GCVMX80.ROM
|
||||
fd0b8f1766dc6dcc03a43d9c79dc4e37 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/GCVMX80.ROM
|
||||
b283f344599fa192ecd9536c1454e3f6 - /mnt/d/Konsolen/BIOS/mame2003/samples/wow.zip
|
||||
b283f344599fa192ecd9536c1454e3f6 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/wow.zip
|
||||
5904b0de768d1d506e766aa7e18994c1 - /mnt/d/Konsolen/BIOS/midssio.zip
|
||||
5904b0de768d1d506e766aa7e18994c1 - /mnt/d/Konsolen/BIOS/fbneo/midssio.zip
|
||||
0f6be46c2f694446fa92def2a4dab20f - /mnt/d/Konsolen/BIOS/mame2003/samples/circus.zip
|
||||
0f6be46c2f694446fa92def2a4dab20f - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/circus.zip
|
||||
bb72565701b1b6faece07d68ea5da639 - /mnt/d/Konsolen/BIOS/amiga-ext-310-cd32.rom
|
||||
bb72565701b1b6faece07d68ea5da639 - /mnt/d/Konsolen/BIOS/CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom
|
||||
bb72565701b1b6faece07d68ea5da639 - /mnt/d/Konsolen/BIOS/kick40060.CD32.ext
|
||||
fc4b76a402ba501e6ba6de4b3e8b4273 - /mnt/d/Konsolen/BIOS/quasi88/n88ext3.rom
|
||||
fc4b76a402ba501e6ba6de4b3e8b4273 - /mnt/d/Konsolen/BIOS/quasi88/n88_3.rom
|
||||
51d927fa5f72400ef814f3fa8926f379 - /mnt/d/Konsolen/BIOS/data/C64/gtk3_sym_de.vkm
|
||||
51d927fa5f72400ef814f3fa8926f379 - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_sym_de.vkm
|
||||
51d927fa5f72400ef814f3fa8926f379 - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_sym_de.vkm
|
||||
428577250f43edc902ea239c50d2240d - /mnt/d/Konsolen/BIOS/panafz10ja-anvil-kanji.bin
|
||||
428577250f43edc902ea239c50d2240d - /mnt/d/Konsolen/BIOS/3do/panafz10ja-anvil-kanji.bin
|
||||
be09394f0576cf81fa8bacf634daf9a2 - /mnt/d/Konsolen/BIOS/JiffyDOS_C64.bin
|
||||
be09394f0576cf81fa8bacf634daf9a2 - /mnt/d/Konsolen/BIOS/vice/JiffyDOS_C64.bin
|
||||
9880432e633b15998d58884ff34c4e70 - /mnt/d/Konsolen/BIOS/data/PET/chargen
|
||||
9880432e633b15998d58884ff34c4e70 - /mnt/d/Konsolen/BIOS/vice/PET/chargen
|
||||
e764c9b1422f95a67a9db31b5d37fab9 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Yamaha CX7M/config (2).ini
|
||||
e764c9b1422f95a67a9db31b5d37fab9 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Yamaha CX7M/config.ini
|
||||
d13c1fc9ad4897c322f51aab3ad3b30d - /mnt/d/Konsolen/BIOS/MSXBR.rom
|
||||
d13c1fc9ad4897c322f51aab3ad3b30d - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXBR.rom
|
||||
f025b0c53aa351a09c40c42e40e36218 - /mnt/d/Konsolen/BIOS/data/C128/frodo.vpl
|
||||
f025b0c53aa351a09c40c42e40e36218 - /mnt/d/Konsolen/BIOS/data/C64/frodo.vpl
|
||||
f025b0c53aa351a09c40c42e40e36218 - /mnt/d/Konsolen/BIOS/data/CBM-II/frodo.vpl
|
||||
f025b0c53aa351a09c40c42e40e36218 - /mnt/d/Konsolen/BIOS/data/SCPU64/frodo.vpl
|
||||
25e4d94f2e94e070cd3ef69d7cb65144 - /mnt/d/Konsolen/BIOS/mame2003/samples/gorf.zip
|
||||
25e4d94f2e94e070cd3ef69d7cb65144 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/gorf.zip
|
||||
fa34527db210c873e5cf2da6a0e805d8 - /mnt/d/Konsolen/BIOS/mame2003/samples/tacscan.zip
|
||||
fa34527db210c873e5cf2da6a0e805d8 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/tacscan.zip
|
||||
dc752f160044f2ed5fc1f4964db2a095 - /mnt/d/Konsolen/BIOS/SCPH-70004_BIOS_V12_PAL_200.BIN
|
||||
dc752f160044f2ed5fc1f4964db2a095 - /mnt/d/Konsolen/BIOS/pcsx2/bios/ps2-0200e-20040614.bin
|
||||
dc752f160044f2ed5fc1f4964db2a095 - /mnt/d/Konsolen/BIOS/pcsx2/bios/SCPH-70004_BIOS_V12_PAL_200.BIN
|
||||
542d897b24c72f754f891d5313f2b7ec - /mnt/d/Konsolen/BIOS/fbneo/samples/mario.zip
|
||||
542d897b24c72f754f891d5313f2b7ec - /mnt/d/Konsolen/BIOS/mame2003/samples/mario.zip
|
||||
542d897b24c72f754f891d5313f2b7ec - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/mario.zip
|
||||
f1071cdb0b6b10dde94d3bc8a6146387 - /mnt/d/Konsolen/BIOS/c52.bin
|
||||
f1071cdb0b6b10dde94d3bc8a6146387 - /mnt/d/Konsolen/BIOS/o2em/c52.bin
|
||||
279efd1eae0d358eecd4edc7d9adedf3 - /mnt/d/Konsolen/BIOS/RS232.ROM
|
||||
279efd1eae0d358eecd4edc7d9adedf3 - /mnt/d/Konsolen/BIOS/msx/RS232.ROM
|
||||
eb201d2d98251a598af467d4347bb62f - /mnt/d/Konsolen/BIOS/scph5000-alt1.bin
|
||||
eb201d2d98251a598af467d4347bb62f - /mnt/d/Konsolen/BIOS/scph5000.bin
|
||||
f6325a33c6d63ea4b9162a3fa8c32727 - /mnt/d/Konsolen/BIOS/neocd_st.rom
|
||||
f6325a33c6d63ea4b9162a3fa8c32727 - /mnt/d/Konsolen/BIOS/neocd/neocd_st.rom
|
||||
7af9e84da1520a8a7fb82e73703e5075 - /mnt/d/Konsolen/BIOS/MSX2FR.rom
|
||||
7af9e84da1520a8a7fb82e73703e5075 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2FR.rom
|
||||
01dd1d72ed9bb6afe8a9b441c198a1cd - /mnt/d/Konsolen/BIOS/PHILIPSDISK.ROM
|
||||
01dd1d72ed9bb6afe8a9b441c198a1cd - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/PHILIPSDISK.rom
|
||||
b15ddb15721c657d82c5bab6db982ee9 - /mnt/d/Konsolen/BIOS/sgb1.program.rom
|
||||
b15ddb15721c657d82c5bab6db982ee9 - /mnt/d/Konsolen/BIOS/SGB1.sfc
|
||||
b15ddb15721c657d82c5bab6db982ee9 - /mnt/d/Konsolen/BIOS/sgb/SGB1.sfc
|
||||
ec29f60d0ec574d0a74eb8c4f3c4882e - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Virtual Haesung Console/config (2).ini
|
||||
ec29f60d0ec574d0a74eb8c4f3c4882e - /mnt/d/Konsolen/BIOS/Machines/MSX2 - Virtual Haesung Console/config.ini
|
||||
b76d756e7ac8752ae0035f3ce5f1383c - /mnt/d/Konsolen/BIOS/data/PET/edit4g40
|
||||
b76d756e7ac8752ae0035f3ce5f1383c - /mnt/d/Konsolen/BIOS/vice/PET/edit4g40
|
||||
643861ad34831b255bf2eb64e8b6ecb8 - /mnt/d/Konsolen/BIOS/256s-1.rom
|
||||
643861ad34831b255bf2eb64e8b6ecb8 - /mnt/d/Konsolen/BIOS/fuse/256s-1.rom
|
||||
7fa0558bcec9dba310579521623d9f6a - /mnt/d/Konsolen/BIOS/ARAB1.ROM
|
||||
7fa0558bcec9dba310579521623d9f6a - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/ARAB1.ROM
|
||||
1a524bfa489cec90c941e6587d553a56 - /mnt/d/Konsolen/BIOS/fbneo/spec128.zip
|
||||
1a524bfa489cec90c941e6587d553a56 - /mnt/d/Konsolen/BIOS/fbneo/spec128k.zip
|
||||
dbfce9db9deaa2567f6a84fde55f9680 - /mnt/d/Konsolen/BIOS/cgb_boot.bin
|
||||
dbfce9db9deaa2567f6a84fde55f9680 - /mnt/d/Konsolen/BIOS/gbc_bios.bin
|
||||
dbfce9db9deaa2567f6a84fde55f9680 - /mnt/d/Konsolen/BIOS/gbc/gbc_bios.bin
|
||||
e40a5dfb3d017ba8779faba30cbd1c8e - /mnt/d/Konsolen/BIOS/kick31.rom
|
||||
e40a5dfb3d017ba8779faba30cbd1c8e - /mnt/d/Konsolen/BIOS/KICK40063.A600
|
||||
d574d4f9c12f305074798f54c091a8b4 - /mnt/d/Konsolen/BIOS/sgb.boot.rom
|
||||
d574d4f9c12f305074798f54c091a8b4 - /mnt/d/Konsolen/BIOS/sgb1.boot.rom
|
||||
d574d4f9c12f305074798f54c091a8b4 - /mnt/d/Konsolen/BIOS/sgb_bios.bin
|
||||
d574d4f9c12f305074798f54c091a8b4 - /mnt/d/Konsolen/BIOS/sgb_boot.bin
|
||||
d574d4f9c12f305074798f54c091a8b4 - /mnt/d/Konsolen/BIOS/sgb/sgb_bios.bin
|
||||
d94546e70f17fd899be8df3544ab6cbb - /mnt/d/Konsolen/BIOS/2608_bd.wav
|
||||
d94546e70f17fd899be8df3544ab6cbb - /mnt/d/Konsolen/BIOS/np2kai/2608_bd.wav
|
||||
cda2fcd2e1f0412029383e51dd472095 - /mnt/d/Konsolen/BIOS/scpu-dos-1.4.bin
|
||||
cda2fcd2e1f0412029383e51dd472095 - /mnt/d/Konsolen/BIOS/vice/scpu-dos-1.4.bin
|
||||
cda2fcd2e1f0412029383e51dd472095 - /mnt/d/Konsolen/BIOS/vice/SCPU64/scpu-dos-1.4.bin
|
||||
5dcaa3165e87cfd2880e97ea21e577c6 - /mnt/d/Konsolen/BIOS/mame2003/samples/polepos.zip
|
||||
5dcaa3165e87cfd2880e97ea21e577c6 - /mnt/d/Konsolen/BIOS/mame2003-plus/samples/polepos.zip
|
||||
6e09e5d3c4aef166601669feaaadc01c - /mnt/d/Konsolen/BIOS/128-1.rom
|
||||
6e09e5d3c4aef166601669feaaadc01c - /mnt/d/Konsolen/BIOS/128p-1.rom
|
||||
6e09e5d3c4aef166601669feaaadc01c - /mnt/d/Konsolen/BIOS/fuse/128p-1.rom
|
||||
7f04b401b46cdbf21b88a7aa4c36fe0d - /mnt/d/Konsolen/BIOS/atarist/tt.img/tos306pl.img
|
||||
7f04b401b46cdbf21b88a7aa4c36fe0d - /mnt/d/Konsolen/BIOS/tt-tos/tt030_pl/tos306pl.img
|
||||
849515939161e62f6b866f6853006780 - /mnt/d/Konsolen/BIOS/scph3000.bin
|
||||
849515939161e62f6b866f6853006780 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH3000.bin
|
||||
465ea0768b27da404aec45dfc501404b - /mnt/d/Konsolen/BIOS/2608_rim.wav
|
||||
465ea0768b27da404aec45dfc501404b - /mnt/d/Konsolen/BIOS/np2kai/2608_rim.wav
|
||||
8e4c14f567745eff2f0408c8129f72a6 - /mnt/d/Konsolen/BIOS/scph7000.BIN
|
||||
8e4c14f567745eff2f0408c8129f72a6 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH7000.BIN
|
||||
d65c90044f5dd3931f6e411d89352d17 - /mnt/d/Konsolen/BIOS/atarist/tt.img/tos306.img
|
||||
d65c90044f5dd3931f6e411d89352d17 - /mnt/d/Konsolen/BIOS/tt-tos/tos306.img
|
||||
27b67fde8aac2a43d171be40d2ec41e3 - /mnt/d/Konsolen/BIOS/Machines/MSX - Toshiba HX-10S/config (2).ini
|
||||
27b67fde8aac2a43d171be40d2ec41e3 - /mnt/d/Konsolen/BIOS/Machines/MSX - Toshiba HX-10S/config.ini
|
||||
355c6d5ee31da441d485cd89ca906413 - /mnt/d/Konsolen/BIOS/MSX2BREXT.rom
|
||||
355c6d5ee31da441d485cd89ca906413 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2BREXT.rom
|
||||
122aee210324c72e8a11116e6ef9c0d0 - /mnt/d/Konsolen/BIOS/top-sp1.bin
|
||||
122aee210324c72e8a11116e6ef9c0d0 - /mnt/d/Konsolen/BIOS/neocd/top-sp1.bin
|
||||
95e05db7f8fa208daafd7b0d32041db8 - /mnt/d/Konsolen/BIOS/mame2003/artwork/skydiver.zip
|
||||
95e05db7f8fa208daafd7b0d32041db8 - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/skydiver.zip
|
||||
b9fda5b6a747ff037365b0e2d8c4379a - /mnt/d/Konsolen/BIOS/256s-0.rom
|
||||
b9fda5b6a747ff037365b0e2d8c4379a - /mnt/d/Konsolen/BIOS/fuse/256s-0.rom
|
||||
037ac4296b6b6a5c47c440188d3c72e3 - /mnt/d/Konsolen/BIOS/cx4.data.rom
|
||||
037ac4296b6b6a5c47c440188d3c72e3 - /mnt/d/Konsolen/BIOS/cx4.rom
|
||||
d3df424728a225b301510f5384cae583 - /mnt/d/Konsolen/BIOS/MSX2BR.rom
|
||||
d3df424728a225b301510f5384cae583 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2BR.rom
|
||||
1477bda80dc33731a65468c1f5bcbee9 - /mnt/d/Konsolen/BIOS/panafz10-norsa.bin
|
||||
1477bda80dc33731a65468c1f5bcbee9 - /mnt/d/Konsolen/BIOS/3do/panafz10-norsa.bin
|
||||
1477bda80dc33731a65468c1f5bcbee9 - /mnt/d/Konsolen/BIOS/3do/panafz10-patched.bin
|
||||
412ecbf991edcb68edd0e76c2caa4a59 - /mnt/d/Konsolen/BIOS/TI-994A.ctg
|
||||
412ecbf991edcb68edd0e76c2caa4a59 - /mnt/d/Konsolen/BIOS/ti994a/TI-994A.ctg
|
||||
a392174eb3e572fed6447e956bde4b25 - /mnt/d/Konsolen/BIOS/bios9.bin
|
||||
a392174eb3e572fed6447e956bde4b25 - /mnt/d/Konsolen/BIOS/nds/bios9.bin
|
||||
fbf084848c822891684c5791d190a5c2 - /mnt/d/Konsolen/BIOS/coleco/boot.rom/COL - ColecoVision with Opcode Memory Extension/config.ini
|
||||
fbf084848c822891684c5791d190a5c2 - /mnt/d/Konsolen/BIOS/Machines/COL - ColecoVision with Opcode Memory Extension/config.ini
|
||||
a148bcc575e51389e84fdf5d555c3196 - /mnt/d/Konsolen/BIOS/plus3-3.rom
|
||||
a148bcc575e51389e84fdf5d555c3196 - /mnt/d/Konsolen/BIOS/plus3e-3.rom
|
||||
41c6cc528e9515ffd0ed9b180f8467c0 - /mnt/d/Konsolen/BIOS/JiffyDOS_1571_repl310654.bin
|
||||
41c6cc528e9515ffd0ed9b180f8467c0 - /mnt/d/Konsolen/BIOS/vice/JiffyDOS_1571_repl310654.bin
|
||||
f81298afd68a1a24a49a1a2d9f087964 - /mnt/d/Konsolen/BIOS/bubsys.zip
|
||||
f81298afd68a1a24a49a1a2d9f087964 - /mnt/d/Konsolen/BIOS/fbneo/bubsys.zip
|
||||
8aabde714a42256bef36ea9b04f6ef59 - /mnt/d/Konsolen/BIOS/MSX2JEXT.rom
|
||||
8aabde714a42256bef36ea9b04f6ef59 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2JEXT.rom
|
||||
161cb768c52a13f5b38ba46e721b68c1 - /mnt/d/Konsolen/BIOS/MSXSE.ROM
|
||||
161cb768c52a13f5b38ba46e721b68c1 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSXSE.ROM
|
||||
490db04e2a3c1c993a2a9d3611949c76 - /mnt/d/Konsolen/BIOS/SWP.rom
|
||||
490db04e2a3c1c993a2a9d3611949c76 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/SWP.rom
|
||||
72ea51443070f0e9212bfc9b793ee28e - /mnt/d/Konsolen/BIOS/itf.rom
|
||||
72ea51443070f0e9212bfc9b793ee28e - /mnt/d/Konsolen/BIOS/np2kai/itf.rom
|
||||
20066861fea92f20e6626b8a37837eeb - /mnt/d/Konsolen/BIOS/data/C64/gtk3_sym_nl.vkm
|
||||
20066861fea92f20e6626b8a37837eeb - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_sym_nl.vkm
|
||||
20066861fea92f20e6626b8a37837eeb - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_sym_nl.vkm
|
||||
abaefd5945853771d711f6cc5672097d - /mnt/d/Konsolen/BIOS/dc/media/images/airlbios.png
|
||||
abaefd5945853771d711f6cc5672097d - /mnt/d/Konsolen/BIOS/dc/media/images/f355bios.png
|
||||
abaefd5945853771d711f6cc5672097d - /mnt/d/Konsolen/BIOS/dc/media/images/f355dlx.png
|
||||
abaefd5945853771d711f6cc5672097d - /mnt/d/Konsolen/BIOS/dc/media/images/hod2bios.png
|
||||
91764e84f977671ac7caa50b36273fd2 - /mnt/d/Konsolen/BIOS/MSX2AR.ROM
|
||||
91764e84f977671ac7caa50b36273fd2 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2AR.ROM
|
||||
8834880c33164ccbe6476b559f3e37de - /mnt/d/Konsolen/BIOS/neocd_f.rom
|
||||
8834880c33164ccbe6476b559f3e37de - /mnt/d/Konsolen/BIOS/neocd/neocd_f.rom
|
||||
066f39a7ea5789d5afd59dd7b3104fa6 - /mnt/d/Konsolen/BIOS/atarist/tt.img/tos306de.img
|
||||
066f39a7ea5789d5afd59dd7b3104fa6 - /mnt/d/Konsolen/BIOS/tt-tos/tt030_de/tos306de.img
|
||||
d81c6d5d7ad1a4bbbd6ae22a01257603 - /mnt/d/Konsolen/BIOS/quasi88/kanji1.rom
|
||||
d81c6d5d7ad1a4bbbd6ae22a01257603 - /mnt/d/Konsolen/BIOS/quasi88/n88knj1.rom
|
||||
d81c6d5d7ad1a4bbbd6ae22a01257603 - /mnt/d/Konsolen/BIOS/quasi88/N88_KNJ1.ROM
|
||||
86269da485e852d9f581ac27f4ba32ff - /mnt/d/Konsolen/BIOS/NATIONALDISK.rom
|
||||
86269da485e852d9f581ac27f4ba32ff - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/NATIONALDISK.rom
|
||||
35fa1a1ebaaeea286dc5cd15487c13ea - /mnt/d/Konsolen/BIOS/sanyotry.bin
|
||||
35fa1a1ebaaeea286dc5cd15487c13ea - /mnt/d/Konsolen/BIOS/3do/sanyotry.bin
|
||||
fc7599f3f871578fe9a0453662d1c966 - /mnt/d/Konsolen/BIOS/000-lo.lo
|
||||
fc7599f3f871578fe9a0453662d1c966 - /mnt/d/Konsolen/BIOS/neocd/000-lo.lo
|
||||
42af93619160ef2116416f74a6cb12f2 - /mnt/d/Konsolen/BIOS/MOONSOUND.rom
|
||||
42af93619160ef2116416f74a6cb12f2 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MOONSOUND.rom
|
||||
901ce9531bc4be0b0e0d26b4f394f7c6 - /mnt/d/Konsolen/BIOS/Machines/MSX - Philips VG-8010F/config (2).ini
|
||||
901ce9531bc4be0b0e0d26b4f394f7c6 - /mnt/d/Konsolen/BIOS/Machines/MSX - Philips VG-8010F/config.ini
|
||||
cc2ec2720f2d0c8a7ce22c6643d8324c - /mnt/d/Konsolen/BIOS/dc/media/images/dc_boot.png
|
||||
cc2ec2720f2d0c8a7ce22c6643d8324c - /mnt/d/Konsolen/BIOS/dc/media/images/dc_flash.png
|
||||
48842748b6e687606cab46d438f88b37 - /mnt/d/Konsolen/BIOS/data/C64/gtk3_keyrah_de.vkm
|
||||
48842748b6e687606cab46d438f88b37 - /mnt/d/Konsolen/BIOS/data/C64DTV/gtk3_keyrah_de.vkm
|
||||
48842748b6e687606cab46d438f88b37 - /mnt/d/Konsolen/BIOS/data/SCPU64/gtk3_keyrah_de.vkm
|
||||
a74f3d95b395dad7cdca19d560eeea74 - /mnt/d/Konsolen/BIOS/bas10.rom
|
||||
a74f3d95b395dad7cdca19d560eeea74 - /mnt/d/Konsolen/BIOS/trs80coco/bas10.rom
|
||||
7bbd8e709492e00d12a0c1a3c654c553 - /mnt/d/Konsolen/BIOS/data/C64/vice.vpl
|
||||
7bbd8e709492e00d12a0c1a3c654c553 - /mnt/d/Konsolen/BIOS/data/CBM-II/vice.vpl
|
||||
7bbd8e709492e00d12a0c1a3c654c553 - /mnt/d/Konsolen/BIOS/data/SCPU64/vice.vpl
|
||||
a3e8d617c95d08031fe1b20d541434b2 - /mnt/d/Konsolen/BIOS/ATARIOSB.ROM
|
||||
a3e8d617c95d08031fe1b20d541434b2 - /mnt/d/Konsolen/BIOS/atari800/ATARIOSB.ROM
|
||||
a860e8c0b6d573d191e4ec7db1b1e4f6 - /mnt/d/Konsolen/BIOS/gba_bios.bin
|
||||
a860e8c0b6d573d191e4ec7db1b1e4f6 - /mnt/d/Konsolen/BIOS/gba/gba_bios.bin
|
||||
eed0e874acad10a2fd55854934f32c09 - /mnt/d/Konsolen/BIOS/data/C128/rgb.vpl
|
||||
eed0e874acad10a2fd55854934f32c09 - /mnt/d/Konsolen/BIOS/data/C64/rgb.vpl
|
||||
eed0e874acad10a2fd55854934f32c09 - /mnt/d/Konsolen/BIOS/data/CBM-II/rgb.vpl
|
||||
eed0e874acad10a2fd55854934f32c09 - /mnt/d/Konsolen/BIOS/data/SCPU64/rgb.vpl
|
||||
79caefa20a0d056fb42eaeca856c6f82 - /mnt/d/Konsolen/BIOS/MSX2SP.rom
|
||||
79caefa20a0d056fb42eaeca856c6f82 - /mnt/d/Konsolen/BIOS/Machines/Shared Roms/MSX2SP.rom
|
||||
b9d9a0286c33dc6b7237bb13cd46fdee - /mnt/d/Konsolen/BIOS/scph7002.bin
|
||||
b9d9a0286c33dc6b7237bb13cd46fdee - /mnt/d/Konsolen/BIOS/scph7502.bin
|
||||
b9d9a0286c33dc6b7237bb13cd46fdee - /mnt/d/Konsolen/BIOS/scph9002(7502).bin
|
||||
b9d9a0286c33dc6b7237bb13cd46fdee - /mnt/d/Konsolen/BIOS/PSX/PSX - BIOS41A.BIN
|
||||
b9d9a0286c33dc6b7237bb13cd46fdee - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH7502.BIN
|
||||
32736f17079d0b2b7024407c39bd3050 - /mnt/d/Konsolen/BIOS/scph5502.bin
|
||||
32736f17079d0b2b7024407c39bd3050 - /mnt/d/Konsolen/BIOS/scph5552.bin
|
||||
32736f17079d0b2b7024407c39bd3050 - /mnt/d/Konsolen/BIOS/PSX/PSX - SCPH5552.bin
|
||||
29fe11717016182d446ca6af56a08f75 - /mnt/d/Konsolen/BIOS/mame2003/artwork/warrior.zip
|
||||
29fe11717016182d446ca6af56a08f75 - /mnt/d/Konsolen/BIOS/mame2003-plus/artwork/warrior.zip
|
||||
86065454ad150f78acb1ea3d2b4659c0 - /mnt/d/Konsolen/BIOS/Machines/MSX - C-BIOS/cbios.txt
|
||||
86065454ad150f78acb1ea3d2b4659c0 - /mnt/d/Konsolen/BIOS/Machines/MSX2 - C-BIOS/cbios.txt
|
||||
86065454ad150f78acb1ea3d2b4659c0 - /mnt/d/Konsolen/BIOS/Machines/MSX2+ - C-BIOS/cbios.txt
|
||||
eb4555ceacaf331153eef9e2bd6ab608 - /mnt/d/Konsolen/BIOS/mame2003/history.dat
|
||||
eb4555ceacaf331153eef9e2bd6ab608 - /mnt/d/Konsolen/BIOS/mame2003-plus/history.dat
|
||||
48
rom_analyse/missing_bios_report.txt
Normal file
48
rom_analyse/missing_bios_report.txt
Normal file
@@ -0,0 +1,48 @@
|
||||
==============================================================
|
||||
MISSING BIOS REPORT
|
||||
Platform: rpi5_64
|
||||
Generated on 2024/June/20 23:30:51+0100
|
||||
==============================================================
|
||||
|
||||
SYSTEM: TRS-80 Color Computer 1/2
|
||||
---------------------------------------------
|
||||
|
||||
MISSING OPTIONAL BIOS: alice4k.rom
|
||||
Path: /recalbox/share/bios/trs80coco/alice4k.rom
|
||||
Notes: Alice
|
||||
For: xroar
|
||||
Possible MD5 List:
|
||||
78AF465C2F31CF4E05DEC1EFDA77DA01
|
||||
|
||||
SYSTEM: Tangerine Oric/Atmos
|
||||
---------------------------------------------
|
||||
|
||||
MISSING OPTIONAL BIOS: bd500.rom
|
||||
Path: /recalbox/share/bios/oricutron/bd500.rom
|
||||
For: oricutron
|
||||
Possible MD5 List:
|
||||
2B6498FD29A0ADBF1C529762C02C33AB
|
||||
|
||||
MISSING REQUIRED BIOS: jasmin.rom
|
||||
Path: /recalbox/share/bios/oricutron/jasmin.rom
|
||||
For: oricutron
|
||||
Possible MD5 List:
|
||||
5136F764A7DBD1352519351FBB53A9F3
|
||||
|
||||
SYSTEM: Texas Instrument TI-99/4A
|
||||
---------------------------------------------
|
||||
|
||||
MISSING OPTIONAL BIOS: spchrom.bin
|
||||
Path: /recalbox/share/bios/ti994a/spchrom.bin
|
||||
Notes: Speech synthesis
|
||||
For: ti99sim
|
||||
Possible MD5 List:
|
||||
7ADCAF64272248F7A7161CFC02FD5B3F
|
||||
|
||||
MISSING OPTIONAL BIOS: ti-disk.ctg
|
||||
Path: /recalbox/share/bios/ti994a/ti-disk.ctg
|
||||
Notes: Disk Operating System
|
||||
For: ti99sim
|
||||
Possible MD5 List:
|
||||
04714F43347CEFB2A051A77116344B3F
|
||||
|
||||
4
sprintf.pl
Normal file
4
sprintf.pl
Normal file
@@ -0,0 +1,4 @@
|
||||
use strict;
|
||||
|
||||
my $test = sprintf('%s, %s~~~%s', '10,01,03', '888888', 'L00060-03-AM-10-01-00621-03-0007016735') ;
|
||||
print "$test\n";
|
||||
222
sqlbackup.pl
Normal file
222
sqlbackup.pl
Normal file
@@ -0,0 +1,222 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use DBI;
|
||||
use Data::Dumper;
|
||||
use JSON;
|
||||
use Getopt::Long;
|
||||
use File::Slurp qw(:std);
|
||||
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
|
||||
use POSIX qw(strftime);
|
||||
use IO::Handle;
|
||||
use File::Path qw(make_path);
|
||||
STDOUT->autoflush(1);
|
||||
|
||||
#https://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_2.html
|
||||
|
||||
# use Term::ANSIColor;
|
||||
|
||||
my $db = ""; # Datenbank
|
||||
my $user = ""; # Datenbankuser
|
||||
my $pass = ""; # Datenbankpasswort
|
||||
my $server = ""; # Datenbankserver
|
||||
my $zip = "0"; #komprimieren und oder löschen
|
||||
my $maxlength = 0;
|
||||
my $list = "";
|
||||
my $dateien = "1";
|
||||
my $rem = "0";
|
||||
|
||||
my %h = ('db' => \$db, 'user' => \$user, 'pass' => \$pass, 'server' => \$server, 'zip' => \$zip, 'rem' => \$rem, 'max' => \$maxlength, 'list' => \$list, 'files' => \$dateien);
|
||||
GetOptions (\%h, 'db=s', 'user=s', 'pass=s', 'server=s', 'zip=s', 'rem=s', 'max=s', 'list=s', 'files=s');
|
||||
|
||||
if ( $db eq "" || $user eq "" || $user eq "" || $server eq "" ) {
|
||||
print "\nWillkommen zum Backup einer Mysqldatenbank\n";
|
||||
print "es fehlen noch folgende Parameter damit es losgehen kann.\n";
|
||||
print "\n";
|
||||
print "--server -s = Datenbankserver\n" if ($server eq "");
|
||||
print "--db -d = Datenbankname\n" if ($db eq "");
|
||||
print "--user -u = Datenbankuser\n" if ($user eq "");
|
||||
print "--pass -p = Datenbankpasswort\n" if ($pass eq "");
|
||||
print "--max -m = maximale Insertlänge in Bytes (optional)\n";
|
||||
print "--list -l = Liste der Tabellen mit ' ' getrennt (optional)\n";
|
||||
print "--files -f = 1 für jede Tabelle in eine Datei (optional)\n";
|
||||
print "--zip -z = 1 zum packen, 2 packen und Sql Dateien löschen (optional) \n";
|
||||
print "--rem -r = 0 vorhande Tabelle vorher löschen (optional) \n";
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
my $tref; # dient zur analyse welcher Datentyp die Spalte hat
|
||||
my $text; # wird mit den Daten zum schreiben in die datei gefüllt
|
||||
my @files;
|
||||
my %tabellen;
|
||||
|
||||
my $dbh = DBI->connect("DBI:mysql:$db:$server", $user, $pass) or die "Couldn't connect to database: " . DBI->errstr;
|
||||
|
||||
print "Get tables from Database $db\n";
|
||||
my $s1 = $dbh->selectall_arrayref("SHOW FULL TABLES FROM $db;", { Slice => {} });
|
||||
|
||||
# Ordner erstellen wenn nicht bekannt
|
||||
if (!-d "$db") {
|
||||
make_path "$db";
|
||||
}
|
||||
|
||||
if ( $list ne "" ) {
|
||||
if ( $list !~ / / ) {
|
||||
$tabellen{$list} = 1;
|
||||
}
|
||||
}
|
||||
for my $l ( split( ' ', $list ) ) {
|
||||
$tabellen{$l} = 1;
|
||||
}
|
||||
|
||||
if ( $dateien eq '0' ) {
|
||||
push @files, "$server/$db/$db.sql";
|
||||
}
|
||||
|
||||
my $firsttableend = 0;
|
||||
|
||||
for my $tab ( @{$s1} ) {
|
||||
my $n = $tab->{"Tables_in_$db"};
|
||||
my $datei = "$db/$n.sql";
|
||||
if ( $dateien eq '0' ) {
|
||||
$datei = "$db/$db.sql";
|
||||
} else {
|
||||
write_file($datei, '' );
|
||||
}
|
||||
|
||||
if ( $list ne "" ) {
|
||||
next if ( !$tabellen{$n} );
|
||||
}
|
||||
|
||||
$text = "\n/*!40101 SET \@OLD_CHARACTER_SET_CLIENT=@\@CHARACTER_SET_CLIENT */;\n/*!40101 SET NAMES utf8 */;\n/*!50503 SET NAMES utf8mb4 */;\n/*!40014 SET \@OLD_FOREIGN_KEY_CHECKS=@\@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;\n/*!40101 SET \@OLD_SQL_MODE=@\@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;\n\n";
|
||||
|
||||
my $create = $dbh->selectrow_hashref("SHOW CREATE TABLE $db.$n" , { Slice => {} });
|
||||
|
||||
if ( $rem eq "1" ) {
|
||||
$text .= "DROP TABLE IF EXISTS `$n`;\n";
|
||||
}
|
||||
|
||||
# Createstatement beschaffen
|
||||
$text .= $create->{'Create Table'};
|
||||
$text =~ s/CREATE TABLE/CREATE TABLE IF NOT EXISTS/g;
|
||||
my $s2 = $dbh->selectall_arrayref("DESCRIBE $db.$n" , { Slice => {} });
|
||||
my @tabelle;
|
||||
|
||||
# hier wird sich der Datentyp einer Spalte gemerkt
|
||||
# und ein Array mit den Spaltenamen
|
||||
for my $s ( @{$s2} ) {
|
||||
my $f = $s->{Field};
|
||||
$tref->{ $n }->{$f} = $s->{Type};
|
||||
push @tabelle, $s->{Field};
|
||||
}
|
||||
$text .= ";\n\n/*!40000 ALTER TABLE `$n` DISABLE KEYS */;\n";
|
||||
|
||||
if ( $firsttableend == 1 ) {
|
||||
append_file($datei, $text );
|
||||
} else {
|
||||
write_file($datei, $text );
|
||||
}
|
||||
|
||||
# Insert Kopf erstellen
|
||||
my $inserttext .= "INSERT INTO $n (";
|
||||
for my $col( @tabelle ) {
|
||||
$inserttext .= "`".$col."`,"
|
||||
}
|
||||
$inserttext =~ s/,$/) VALUES/;
|
||||
|
||||
print "create Inserts for $n\n";
|
||||
|
||||
my $cnt = 0;
|
||||
my $len = 0; # Zähler für die maximale Länge in Bytes eines Insert
|
||||
|
||||
my $sth = $dbh->prepare("SELECT * from $db.$n"); # prepare the query
|
||||
# in der Schleife werden die einzelnen inserts direkt in die Datei geschrieben, geht schneller als wenn man die inserts sammelt und dann erst schreibt
|
||||
$sth->execute(); # execute the query with parameter
|
||||
my $max = $sth->rows;
|
||||
# Holen der Daten
|
||||
while (my $d = $sth->fetchrow_hashref) { # retrieve one row
|
||||
$cnt += 1;
|
||||
|
||||
if ( $len == 0 ) { # bei 0 wird ein neues Create statement erzeugt
|
||||
append_file($datei, $inserttext );
|
||||
}
|
||||
|
||||
$text = "\n("; # Klammer für insert erstellen
|
||||
|
||||
# hier wird entschieden wie die einzelnen Daten in abhängigkeit des Datentyps geschrieben werden
|
||||
# es kommen die gemerkten Spalten (@tabelle) und Datentypen ($tref) zum Einsatz
|
||||
# zb: mit Strings mit '' integer ohne '', umgang mit zeilenumbrüchen, blobs
|
||||
# bei einem unbekannten typ kommt der Dumper
|
||||
for my $col( @tabelle ) {
|
||||
if ( defined $d->{$col} ) {
|
||||
if ( $tref->{ $n }->{$col} =~ /int|year|double|decimal|float/ ) {
|
||||
$text .= $d->{$col}.","
|
||||
} elsif ($tref->{ $n }->{$col} =~ /char|date|time|enum|text/ ) {
|
||||
$d->{$col} =~ s/\\/\\\\/g;
|
||||
$d->{$col} =~ s/\n/\\n/g;
|
||||
$d->{$col} =~ s/\r/\\n/g;
|
||||
$d->{$col} =~ s/\r\n\\/\\n/g;
|
||||
$d->{$col} =~ s/\'/\\'/g;
|
||||
|
||||
$text .= "'".$d->{$col}."',"
|
||||
} elsif ($tref->{ $n }->{$col} =~ /blob/ ) {
|
||||
$text .= "_binary 0x". uc unpack("H*",$d->{$col}).",";
|
||||
} else {
|
||||
print Dumper($tref->{ $n }->{$col});
|
||||
}
|
||||
} else {
|
||||
$text .= "NULL,";
|
||||
}
|
||||
}
|
||||
|
||||
$len += length($text); # zählen der Länge der inserts es werden auch die , _binary
|
||||
$text =~ s/,$//; # letzes , insert entfernen
|
||||
$text .= "),"; # und Klammer wieder schließen
|
||||
|
||||
if ( $cnt == $max or ($len > $maxlength and $maxlength != 0 ) ) { # wenn maximale Länge eines insert oder Ende der Tabelle erreicht , gegen ; tauschen und Zähler auf 0
|
||||
$len = 0;
|
||||
$text =~ s/,$/;\n/;
|
||||
}
|
||||
append_file($datei, $text );
|
||||
|
||||
print "$cnt - $max\r";
|
||||
}
|
||||
print " ---> ready\n";
|
||||
|
||||
$text = "/*!40000 ALTER TABLE `$n` ENABLE KEYS */;\n\n/*!40101 SET SQL_MODE=IFNULL(\@OLD_SQL_MODE, '') */;\n/*!40014 SET FOREIGN_KEY_CHECKS=IF(\@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, \@OLD_FOREIGN_KEY_CHECKS) */;\n/*!40101 SET CHARACTER_SET_CLIENT=\@OLD_CHARACTER_SET_CLIENT */;\n";
|
||||
append_file($datei, $text );
|
||||
|
||||
if ( $dateien == 1 ) {
|
||||
push @files, "$db/$n.sql";
|
||||
}
|
||||
$firsttableend = 1;
|
||||
}
|
||||
$dbh->disconnect;
|
||||
|
||||
if ( $zip > 0 ) {
|
||||
print "Compress $db into zip file ";
|
||||
my $now_string = strftime "%Y-%m-%d %H.%M", localtime;
|
||||
# Creating a new zip file
|
||||
my $zip = Archive::Zip->new();
|
||||
my $zipfile = "$db-$now_string.zip";
|
||||
# Trying to read the existing zip structure, when zip archive already exists
|
||||
$zip->read( $zipfile ) if -s $zipfile;
|
||||
|
||||
foreach my $file ( @files ) {
|
||||
# remove if the current file was already in the zip:
|
||||
$zip->removeMember( $file );
|
||||
# add a new file to zip object in memory, using best compressionLevel = 9
|
||||
$zip->addFile( $file, $file, 5 );
|
||||
}
|
||||
if ( $zip->numberOfMembers ) {
|
||||
# Save to a zip file $zipfile
|
||||
$zip->overwriteAs( $zipfile );
|
||||
}
|
||||
if ( $zip > 1 ) {
|
||||
unlink @files;
|
||||
}
|
||||
print "---> ready\n";
|
||||
}
|
||||
1;
|
||||
24
sqlbackup.txt
Normal file
24
sqlbackup.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
./sqlbackup.pl -s dbs-ats -u atsrw -p ats4MLs -d ats -m 1024000 -f 0;
|
||||
./sqlbackup.pl -s dbs-misc1 -u audit -p jeju4audit -d audit -m 1024000 -f 0;
|
||||
./sqlbackup.pl -s dbs-koma -u komarw -p komaher -d koma -m 1024000 -f 0;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d etv -m 1024000;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d gebman -m 1024000;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d aoiv -m 1024000;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d epmg -m 1024000;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d bgv -m 1024000;
|
||||
./sqlbackup.pl -s dbsetv -u etv -p 'TS(1254)' -d pgw -m 1024000;
|
||||
./sqlbackup.pl -s zeus -u prod-ro -p '' -d prod -m 1024000 -l 'kd2_mls_kst kd2_mls_hersteller kd2_fermon_steuerer kd2_fermon_platzinfo kd2_fermon_platzgrp kd2_fermon_auftr_text kd2_fermon_auftr_sperrtext kd2_fermon_auftr kd2_fermon_arbpl_prio kd2_fermon_arbpl kd2_fermon_analyse kd2_mls_lieferanten kd2_mls_kdnstamm kd2_mls_inventar suas_assessment_category suas_assessment_event suas_category_group suas_category_groupmember suas_group_entry suas_rating_period_start suas_tt_mt';
|
||||
./sqlbackup.pl -s cga -u kvasir-adm -p 'KVa51r-20!8' -d kvasir -m 1024000 -f 0;
|
||||
|
||||
|
||||
perl sqlbackup.pl -r 1 -s dbs-misc1 -u audit -p jeju4audit -d audit -m 1024000 -f 0
|
||||
perl sqlbackup.pl -r 1 -s dbs-koma -u komarw -p komaher -d koma -m 1024000 -f 0
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d etv -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d gebman -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d aoiv -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d epmg -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d bgv -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s dbsetv -u etv -p "TS(1254)" -d pgw -m 1024000
|
||||
perl sqlbackup.pl -r 1 -s zeus -u prod-ro -p "" -d prod -m 1024000 -l "kd2_mls_kst kd2_mls_hersteller kd2_fermon_steuerer kd2_fermon_platzinfo kd2_fermon_platzgrp kd2_fermon_auftr_text kd2_fermon_auftr_sperrtext kd2_fermon_auftr kd2_fermon_arbpl_prio kd2_fermon_arbpl kd2_fermon_analyse kd2_mls_lieferanten kd2_mls_kdnstamm kd2_mls_inventar suas_assessment_category suas_assessment_event suas_category_group suas_category_groupmember suas_group_entry suas_rating_period_start suas_tt_mt"
|
||||
perl sqlbackup.pl -r 1 -s cga -u kvasir-adm -p "KVa51r-20!8" -d kvasir -m 1024000 -f 0
|
||||
perl sqlbackup.pl -r 1 -s jupiter -u prv19 -p "!nd!4n3R" -d prod -m 1024000 -l "prvx_cnr_msa prvx_cnr_msa_me prvx_cnr_pca prvx_cnr_pca_me prvx_cnr_testplan prvx_pv_packorder prvx_qscdata prvx_sfs_eswareinmal prvx_sob_custorder prvx_sob_progdata prvx_vec_cert prvx_vss_data prv_ack2sap prv_ack2sap_log prv_addr prv_addrpool prv_addrtype prv_cfg_usage prv_conf prv_cpscan prv_customer prv_dpnd prv_dpndmaster prv_exec prv_execnote prv_iavcomp prv_log prv_macpool prv_park prv_parkpool prv_phase prv_product prv_station prv_tag prv_xbin prv_zinf prv_zval prv_zzval"
|
||||
159
sshcron.1.pl
Normal file
159
sshcron.1.pl
Normal file
@@ -0,0 +1,159 @@
|
||||
# Automatically enables "strict", "warnings", "utf8" and Perl 5.10 features
|
||||
use Mojolicious::Lite;
|
||||
use Net::SSH::Perl;
|
||||
# use Data::Printer;
|
||||
use Try::Tiny;
|
||||
use File::Slurp qw(:std);
|
||||
use JSON;
|
||||
|
||||
my $config = plugin 'Config';
|
||||
|
||||
# Datei einlesen
|
||||
my $fi = read_file( 'sshcron.json', err_mode => "quiet");
|
||||
my $daten;
|
||||
if ( $fi ) {
|
||||
$daten = decode_json($fi);
|
||||
}
|
||||
|
||||
# Route with placeholder
|
||||
get '/:new/:server' => {new => '', server => ''} => sub {
|
||||
my $c = shift;
|
||||
my $new = $c->stash('new');
|
||||
my $server = $c->stash('server');
|
||||
my @servers = [];
|
||||
|
||||
my @neline;
|
||||
my %se;
|
||||
|
||||
if ( $new =~ /upd|del/ && $server ne "" ) {
|
||||
for my $old ( @{$daten} ) {
|
||||
if ( $server eq 'alle' ) {
|
||||
if ( !$se{$old->{server}} ) {
|
||||
$se{$old->{server}} = 1;
|
||||
push @servers, $old->{server};
|
||||
@neline = [];
|
||||
}
|
||||
} elsif ( $old->{server} ne $server ) {
|
||||
push @neline, $old;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $new eq "upd" ) {
|
||||
if ( $server ne "alle" ) {
|
||||
@servers = [];
|
||||
push @servers, $server;
|
||||
}
|
||||
|
||||
for my $ser ( @servers ) {
|
||||
try {
|
||||
my $ssh = Net::SSH::Perl->new($ser);
|
||||
|
||||
$ssh->login('root', '8-Tung');
|
||||
|
||||
my($stdout, $stderr, $exit) = $ssh->cmd("grep --exclude-dir={.placeholder} -rnw -v '#' '/etc/cron.d'");
|
||||
|
||||
next if ( defined $stderr );
|
||||
for my $text ( split '\n', $stdout ) {
|
||||
my @s = split ':', $text;
|
||||
|
||||
if ( scalar(@s) == 2 || $s[2] =~ /$config->{ignore}/ ) {
|
||||
|
||||
} else {
|
||||
my @file = split( '/', $s[0]);
|
||||
my @j = split( ' ', $s[2]);
|
||||
|
||||
my $pro = "";
|
||||
if (scalar(@j) > 6) {
|
||||
for my $p ( 6 .. scalar(@j)-1 ) {
|
||||
if ($p == scalar(@j)-1 ) {
|
||||
$pro .= "$j[$p]";
|
||||
} else {
|
||||
$pro .= "$j[$p] ";
|
||||
}
|
||||
}
|
||||
if (scalar(@s) > 3 ) {
|
||||
for my $p ( 3 .. scalar(@s)-1 ) {
|
||||
$pro .= ":$s[$p]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
push @neline, { datei => $file[scalar(@file)-1], user => $j[5], min => $j[0], std => $j[1], day => $j[2], month => $j[3], monthday => $j[4], programm => $pro, server => $ser };
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
push @neline, { datei => '', user =>'', min => '', std => '', day => '', month => '', monthday => '', programm => 'error', server => $ser };
|
||||
};
|
||||
}
|
||||
}
|
||||
write_file('sshcron.json', encode_json(\@neline) );
|
||||
$daten = \@neline;
|
||||
|
||||
}
|
||||
# p $daten;
|
||||
$c->render(template => 'foo/bar', da => $daten );
|
||||
};
|
||||
|
||||
# Start the Mojolicious command system
|
||||
app->start;
|
||||
__DATA__
|
||||
|
||||
@@ foo/bar.html.ep
|
||||
% layout 'mylayout';
|
||||
<div class="container-fluid">
|
||||
<table id="tbl" class="table table-striped table-bordered table-sm nowrap" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>server</th><th>user</th><th>day</th><th>min</th><th>month</th><th>monthday</th><th>std</th><th>datei</th><th>programm</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% use Data::Dumper;
|
||||
% for my $d ( @{$da} ) {
|
||||
% print Dumper( $d);
|
||||
<tr>
|
||||
<td><%= $d->{server} %></td>
|
||||
<td><%= $d->{user} %></td>
|
||||
<td><%= $d->{day} %></td>
|
||||
<td><%= $d->{min} %></td>
|
||||
<td><%= $d->{month} %></td>
|
||||
<td><%= $d->{monthday} %></td>
|
||||
<td><%= $d->{std} %></td>
|
||||
<td><%= $d->{datei} %></td>
|
||||
<td><%= $d->{programm} %></td>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ layouts/mylayout.html.ep
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>MyApp</title>
|
||||
|
||||
%= stylesheet 'http://htlib/htlib/bootstrap/4.3.1/css/bootstrap.min.css'
|
||||
%= stylesheet 'http://htlib/htlib/jquery-datatables/1.10.19/css/dataTables.bootstrap4.min.css'
|
||||
%= stylesheet 'http://htlib/htlib/jquery-datatables/extensions/Scroller/1.5.0/css/scroller.bootstrap4.min.css'
|
||||
<!-- Jquery / Datatables -->
|
||||
%= javascript 'http://htlib/htlib/jquery/jquery-3.3.1.js'
|
||||
%= javascript 'http://htlib/htlib/bootstrap/4.3.1/js/bootstrap.bundle.min.js'
|
||||
%= javascript 'http://htlib/htlib/jquery-datatables/1.10.19/js/jquery.dataTables.min.js'
|
||||
%= javascript 'http://htlib/htlib/jquery-datatables/extensions/Scroller/1.5.0/js/dataTables.scroller.min.js'
|
||||
</head>
|
||||
<body>
|
||||
<%= content %>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#tbl').DataTable({
|
||||
scrollY: '87vh',
|
||||
deferRender: true,
|
||||
scroller: true,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
234
sshcron.pl
Normal file
234
sshcron.pl
Normal file
@@ -0,0 +1,234 @@
|
||||
# Automatically enables "strict", "warnings", "utf8" and Perl 5.10 features
|
||||
use Mojolicious::Lite;
|
||||
use Net::SSH::Perl;
|
||||
use Data::Printer;
|
||||
use Try::Tiny;
|
||||
use File::Slurp qw(:std);
|
||||
use JSON;
|
||||
|
||||
my $config = plugin 'Config';
|
||||
# Datei einlesen
|
||||
my $fi = read_file( 'sshcron.json', err_mode => "quiet");
|
||||
my $daten = [];
|
||||
if ( $fi ) {
|
||||
$daten = decode_json($fi);
|
||||
}
|
||||
# Route with placeholder
|
||||
get '/' => sub {
|
||||
my $c = shift;
|
||||
$c->render(template => 'index', da => $daten );
|
||||
};
|
||||
|
||||
# Route with placeholder
|
||||
any '/jobs/:new/:server' => {new => '', server => ''} => sub {
|
||||
my $c = shift;
|
||||
my $j = $c->req->json;
|
||||
my $new = $c->stash('new');
|
||||
my $server = $c->stash('server');
|
||||
|
||||
if ( $j->{new} && $j->{server} ) {
|
||||
$server = $j->{server};
|
||||
$new = $j->{new};
|
||||
}
|
||||
|
||||
my @servers;
|
||||
my @neline;
|
||||
my %se;
|
||||
my @allserver;
|
||||
|
||||
# bei angabe der richtigen Parameter ...
|
||||
if ( $new =~ /upd|del/ && $server ne "" ) {
|
||||
for my $old ( @{$daten} ) {
|
||||
if ( $server eq 'alle' ) {
|
||||
if ( !$se{$old->{server}} ) {
|
||||
$se{$old->{server}} = 1;
|
||||
push @servers, $old->{server};
|
||||
}
|
||||
} elsif ( defined $old->{server} && $old->{server} ne $server ) {
|
||||
push @neline, $old;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $new eq "upd" ) {
|
||||
if ( $server ne "alle" ) {
|
||||
push @servers, $server;
|
||||
}
|
||||
|
||||
for my $ser ( @servers ) {
|
||||
try {
|
||||
my $ssh = Net::SSH::Perl->new($ser, options => [ "MACs +hmac-sha1" ]);
|
||||
$ssh->login('root', '8-Tung');
|
||||
|
||||
my($stdout, $stderr, $exit) = $ssh->cmd("grep -rHv '##' '/etc/cron.d'");
|
||||
|
||||
next if ( defined $stderr );
|
||||
for my $text ( split '\n', $stdout ) {
|
||||
my @s = split ':', $text;
|
||||
|
||||
if ( scalar(@s) == 1 || $s[1] =~ /$config->{ignore}/ ) {
|
||||
|
||||
} else {
|
||||
my $status = "Ja";
|
||||
if ( $s[1] =~ /^#/ ) {
|
||||
$status = "Nein";
|
||||
}
|
||||
|
||||
my @file = split( '/', $s[0]);
|
||||
my @j = split( ' ', $s[1]);
|
||||
|
||||
my $pro = "";
|
||||
if (scalar(@j) > 6) {
|
||||
|
||||
for my $p ( 6 .. scalar(@j)-1 ) {
|
||||
if ($p == scalar(@j)-1 ) {
|
||||
$pro .= "$j[$p]";
|
||||
} else {
|
||||
$pro .= "$j[$p] ";
|
||||
}
|
||||
}
|
||||
if (scalar(@s) > 2 ) {
|
||||
for my $p ( 2 .. scalar(@s)-1 ) {
|
||||
$pro .= ":$s[$p]";
|
||||
}
|
||||
}
|
||||
push @neline, { datei => $file[scalar(@file)-1], user => $j[5], min => $j[0] =~ s/#//r , std => $j[1], day => $j[2], month => $j[3], monthday => $j[4], programm => $pro, server => $ser, status => $status };
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
push @neline, { datei => '', user =>'', min => '', std => '', day => '', month => '', monthday => '', programm => 'error', server => $ser, status => '' };
|
||||
};
|
||||
}
|
||||
}
|
||||
# schreiben der neuen Daten in JSON Datei
|
||||
write_file('sshcron.json', encode_json(\@neline) );
|
||||
$daten = \@neline;
|
||||
}
|
||||
my %s;
|
||||
|
||||
for my $old ( @{$daten} ) {
|
||||
if ( !$s{$old->{server}} ) {
|
||||
$s{$old->{server}} = 1;
|
||||
push @allserver, $old->{server};
|
||||
}
|
||||
}
|
||||
# p $daten;
|
||||
if ( $j->{new} && $j->{server} ) {
|
||||
$c->render(json => { rc => 0, msg => 'OK' });
|
||||
} else {
|
||||
$c->render(template => 'jobs', da => $daten , server => \@allserver);
|
||||
}
|
||||
};
|
||||
|
||||
# Start the Mojolicious command system
|
||||
app->start;
|
||||
__DATA__
|
||||
|
||||
@@ index.html.ep
|
||||
% layout 'index';
|
||||
<div class="container-fluid">
|
||||
<h3>zeigt, holt Cronjobs aus cron.d</h3>
|
||||
<h5>/jobs/:upd|del/:server</h5>
|
||||
</div>
|
||||
|
||||
@@ jobs.html.ep
|
||||
% layout 'index';
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="menu col-6 px-3">
|
||||
<select class="form-control-sm server">
|
||||
% for my $d ( @$server ) {
|
||||
<option value="<%= $d %>"><%= $d %></option>
|
||||
% }
|
||||
</select>
|
||||
<button id="refresh" class="btn btn-secondary fas fa-sync" type="button"></button>
|
||||
<button id="del" class="btn bt-sm btn-secondary fas fa-trash" type="button"></button>
|
||||
</div>
|
||||
|
||||
<table id="tbl" class="table table-striped table-bordered table-sm nowrap" style="width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>activ</th>
|
||||
<th>server</th>
|
||||
<th>min</th>
|
||||
<th>hour</th>
|
||||
<th>day</th>
|
||||
<th>month</th>
|
||||
<th>monthday</th>
|
||||
<th>user</th>
|
||||
<th>file</th>
|
||||
<th>program</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
% for my $d ( @{$da} ) {
|
||||
<tr>
|
||||
<td><%= $d->{status} %></td>
|
||||
<td><%= $d->{server} %></td>
|
||||
<td><%= $d->{min} %></td>
|
||||
<td><%= $d->{std} %></td>
|
||||
<td><%= $d->{day} %></td>
|
||||
<td><%= $d->{month} %></td>
|
||||
<td><%= $d->{monthday} %></td>
|
||||
<td><%= $d->{user} %></td>
|
||||
<td><%= $d->{datei} %></td>
|
||||
<td><%= $d->{programm} %></td>
|
||||
</tr>
|
||||
%}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ layouts/index.html.ep
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>MyApp</title>
|
||||
% my $htlib = 'omv';
|
||||
%= stylesheet "http://$htlib/htlib/bootstrap/4.3.1/css/bootstrap.min.css"
|
||||
%= stylesheet "http://$htlib/htlib/fontawesome/5.7.2/css/all.css"
|
||||
%= stylesheet "http://$htlib/htlib/jquery-datatables/1.10.19/css/dataTables.bootstrap4.min.css"
|
||||
%= stylesheet "http://$htlib/htlib/jquery-datatables/extensions/Scroller/1.5.0/css/scroller.bootstrap4.min.css"
|
||||
|
||||
<style>
|
||||
div.dataTables_wrapper div.dataTables_filter {
|
||||
text-align: unset;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Jquery / Datatables -->
|
||||
%= javascript "http://$htlib/htlib/jquery/jquery-3.3.1.js"
|
||||
%= javascript "http://$htlib/htlib/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
|
||||
%= javascript "http://$htlib/htlib/jquery-datatables/1.10.19/js/jquery.dataTables.min.js"
|
||||
%= javascript "http://$htlib/htlib/jquery-datatables/extensions/Scroller/1.5.0/js/dataTables.scroller.min.js"
|
||||
</head>
|
||||
<body>
|
||||
<%= content %>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#tbl').DataTable({
|
||||
scrollY: '85vh',
|
||||
deferRender: true,
|
||||
scroller: true,
|
||||
});
|
||||
$('#tbl_filter > label').addClass('ml-auto pr-3');
|
||||
$('#tbl_filter').addClass('row pt-3');
|
||||
$('.menu').prependTo('#tbl_filter')
|
||||
|
||||
$('#del').on('click', function() {
|
||||
var c = confirm('Einträge für Server löschen (JOBs werden NICHT auf dem Server gelöscht)');
|
||||
if (c) {
|
||||
$.post('/jobs/', JSON.stringify({ new: 'del', server: $('.server option:selected').val() }), function(){
|
||||
location.reload();
|
||||
} )
|
||||
}
|
||||
})
|
||||
$('#refresh').on('click', function() {
|
||||
$.post('/jobs/', JSON.stringify({ new: 'upd', server: $('.server option:selected').val() }), function(){
|
||||
location.reload();
|
||||
} )
|
||||
})
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
33
subprocess.pl
Normal file
33
subprocess.pl
Normal file
@@ -0,0 +1,33 @@
|
||||
#! /usr/bin/env perl
|
||||
use Mojolicious::Lite;
|
||||
|
||||
get '/short_run' => sub {
|
||||
my $c = shift;
|
||||
app->log->debug("short_run: PID $$");
|
||||
$c->render(text => "Hello from short_run.\n");
|
||||
};
|
||||
|
||||
get '/long_run/:seconds' => sub {
|
||||
my $c = shift;
|
||||
my $seconds = $c->param('seconds') || 5;
|
||||
app->log->debug("long_run: PID $$");
|
||||
$c->render_later;
|
||||
my $subprocess = Mojo::IOLoop::Subprocess->new;
|
||||
$subprocess->run(
|
||||
sub {
|
||||
my $subprocess = shift;
|
||||
$c->app->log->debug("long_run1: PID $$");
|
||||
qx|sleep $seconds|;
|
||||
return $seconds;
|
||||
},
|
||||
sub {
|
||||
my ($subprocess, $err, $secs) = @_;
|
||||
$c->app->log->debug("long_run2: PID $$");
|
||||
$c->render(text => "Hello from long_run with $secs sec.\n");
|
||||
}
|
||||
);
|
||||
$subprocess->ioloop->start unless $subprocess->ioloop->is_running;
|
||||
};
|
||||
|
||||
app->inactivity_timeout(3600);
|
||||
app->start;
|
||||
6
t.pl
Normal file
6
t.pl
Normal file
@@ -0,0 +1,6 @@
|
||||
use strict;
|
||||
require 'feiertage.pl';
|
||||
|
||||
my %f=&feiertage(2007,"Bayern");
|
||||
|
||||
foreach(keys %f){print "$_ $f{$_}\n";}
|
||||
581
test.json
Normal file
581
test.json
Normal file
@@ -0,0 +1,581 @@
|
||||
{
|
||||
"ips": [
|
||||
{
|
||||
"as": "AS3209 Vodafone GmbH",
|
||||
"city": "Greifswald",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Vodafone Kabel Deutschland",
|
||||
"lat": 54.0871,
|
||||
"lon": 13.386,
|
||||
"org": "Kabel Deutschland Vertrieb und Service GmbH",
|
||||
"query": "91.66.59.36",
|
||||
"region": "MV",
|
||||
"regionName": "Mecklenburg-Vorpommern",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "17489"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Frankfurt am Main",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 50.1109,
|
||||
"lon": 8.68213,
|
||||
"org": "AWS CloudFront (GLOBAL)",
|
||||
"query": "108.157.4.111",
|
||||
"region": "HE",
|
||||
"regionName": "Hesse",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "60313"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "34.252.184.104",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Berlin",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 52.5196,
|
||||
"lon": 13.4069,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.173.73",
|
||||
"region": "BE",
|
||||
"regionName": "Land Berlin",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "10178"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "AWS S3 (us-east-1)",
|
||||
"query": "52.217.65.148",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "Amazon Technologies Inc. (eu-west-1)",
|
||||
"query": "52.94.222.208",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "52.49.58.96",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "52.213.237.218",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.228.171.0",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "52.31.16.103",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.76.166.144",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "34.243.161.223",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Frankfurt am Main",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 50.1109,
|
||||
"lon": 8.68213,
|
||||
"org": "AWS CloudFront (GLOBAL)",
|
||||
"query": "108.157.4.29",
|
||||
"region": "HE",
|
||||
"regionName": "Hesse",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "60313"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.77.117.151",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.229.244.108",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "52.214.146.245",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "34.253.10.224",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.220.170.166",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Frankfurt am Main",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 50.1109,
|
||||
"lon": 8.68213,
|
||||
"org": "AWS CloudFront (GLOBAL)",
|
||||
"query": "108.157.4.99",
|
||||
"region": "HE",
|
||||
"regionName": "Hesse",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "60313"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "AWS S3 (us-east-1)",
|
||||
"query": "52.217.85.252",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "34.246.229.70",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "52.214.78.180",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "AWS S3 (us-east-1)",
|
||||
"query": "52.216.147.132",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS14618 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon Technologies Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "AWS EC2 (us-east-1)",
|
||||
"query": "3.223.15.108",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.76.26.251",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Frankfurt am Main",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 50.1188,
|
||||
"lon": 8.6843,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.145.108",
|
||||
"region": "HE",
|
||||
"regionName": "Hesse",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "60313"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Berlin",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 52.5196,
|
||||
"lon": 13.4069,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.172.207",
|
||||
"region": "BE",
|
||||
"regionName": "Land Berlin",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "10178"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Berlin",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 52.5196,
|
||||
"lon": 13.4069,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.172.234",
|
||||
"region": "BE",
|
||||
"regionName": "Land Berlin",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "10178"
|
||||
},
|
||||
{
|
||||
"as": "AS24940 Hetzner Online GmbH",
|
||||
"city": "Falkenstein",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Hetzner Online GmbH",
|
||||
"lat": 50.475,
|
||||
"lon": 12.365,
|
||||
"org": "Hetzner",
|
||||
"query": "168.119.210.58",
|
||||
"region": "SN",
|
||||
"regionName": "Saxony",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "08223"
|
||||
},
|
||||
{
|
||||
"as": "AS20940 Akamai International B.V.",
|
||||
"city": "Berlin",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Akamai Technologies",
|
||||
"lat": 52.5196,
|
||||
"lon": 13.4069,
|
||||
"org": "",
|
||||
"query": "2.22.241.218",
|
||||
"region": "BE",
|
||||
"regionName": "Land Berlin",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "10178"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "Amazon Technologies Inc. (us-east-1)",
|
||||
"query": "52.46.136.110",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Berlin",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 52.5196,
|
||||
"lon": 13.4069,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.172.172",
|
||||
"region": "BE",
|
||||
"regionName": "Land Berlin",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "10178"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Ashburn",
|
||||
"country": "United States",
|
||||
"countryCode": "US",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 39.0438,
|
||||
"lon": -77.4874,
|
||||
"org": "AWS S3 (us-east-1)",
|
||||
"query": "52.217.106.12",
|
||||
"region": "VA",
|
||||
"regionName": "Virginia",
|
||||
"status": "success",
|
||||
"timezone": "America/New_York",
|
||||
"zip": "20149"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.195.14.93",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS16509 Amazon.com, Inc.",
|
||||
"city": "Dublin",
|
||||
"country": "Ireland",
|
||||
"countryCode": "IE",
|
||||
"isp": "Amazon.com, Inc.",
|
||||
"lat": 53.3498,
|
||||
"lon": -6.26031,
|
||||
"org": "AWS EC2 (eu-west-1)",
|
||||
"query": "54.229.103.136",
|
||||
"region": "L",
|
||||
"regionName": "Leinster",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Dublin",
|
||||
"zip": "D02"
|
||||
},
|
||||
{
|
||||
"as": "AS714 Apple Inc.",
|
||||
"city": "Frankfurt am Main",
|
||||
"country": "Germany",
|
||||
"countryCode": "DE",
|
||||
"isp": "Apple Inc.",
|
||||
"lat": 50.1188,
|
||||
"lon": 8.6843,
|
||||
"org": "Apple Inc",
|
||||
"query": "17.248.145.168",
|
||||
"region": "HE",
|
||||
"regionName": "Hesse",
|
||||
"status": "success",
|
||||
"timezone": "Europe/Berlin",
|
||||
"zip": "60313"
|
||||
}
|
||||
],
|
||||
"lasttime": 123434434
|
||||
}
|
||||
28
test.pl
Normal file
28
test.pl
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $z = '123478234P234';
|
||||
|
||||
if ( $z =~ /^\d{8}/) {
|
||||
print ("test\n");
|
||||
}
|
||||
|
||||
my $a = '3ed1ac';
|
||||
my $b = '3ed1bb';
|
||||
my $a1 = sprintf("%d", hex($a));
|
||||
my $b1 = sprintf("%d", hex($b));
|
||||
|
||||
print "$a1\n";
|
||||
print "$b1\n";
|
||||
|
||||
for my $i ( $a1..$b1 ) {
|
||||
print sprintf("%06x",$i),"\n";
|
||||
|
||||
}
|
||||
|
||||
|
||||
# for(my $i = 1; $i < 0x00FFFF; $i++) {
|
||||
# print sprintf("%06x",$i),"\n";
|
||||
# }
|
||||
2411
test2.html
Normal file
2411
test2.html
Normal file
File diff suppressed because it is too large
Load Diff
8
testparameter.pl
Normal file
8
testparameter.pl
Normal file
@@ -0,0 +1,8 @@
|
||||
use strict;
|
||||
use Getopt::Long;
|
||||
|
||||
my $len = 0;
|
||||
my %h = ('length' => \$len);
|
||||
GetOptions (\%h, 'length=i');
|
||||
|
||||
print "$len\n"
|
||||
117
timelocal.pl
Normal file
117
timelocal.pl
Normal file
@@ -0,0 +1,117 @@
|
||||
;# timelocal.pl
|
||||
;#
|
||||
;# Usage:
|
||||
;# $time = timelocal($sec,$min,$hours,$mday,$mon,$year);
|
||||
;# $time = timegm($sec,$min,$hours,$mday,$mon,$year);
|
||||
|
||||
;# These routines are quite efficient and yet are always guaranteed to agree
|
||||
;# with localtime() and gmtime(). We manage this by caching the start times
|
||||
;# of any months we've seen before. If we know the start time of the month,
|
||||
;# we can always calculate any time within the month. The start times
|
||||
;# themselves are guessed by successive approximation starting at the
|
||||
;# current time, since most dates seen in practice are close to the
|
||||
;# current date. Unlike algorithms that do a binary search (calling gmtime
|
||||
;# once for each bit of the time value, resulting in 32 calls), this algorithm
|
||||
;# calls it at most 6 times, and usually only once or twice. If you hit
|
||||
;# the month cache, of course, it doesn't call it at all.
|
||||
|
||||
;# timelocal is implemented using the same cache. We just assume that we're
|
||||
;# translating a GMT time, and then fudge it when we're done for the timezone
|
||||
;# and daylight savings arguments. The timezone is determined by examining
|
||||
;# the result of localtime(0) when the package is initialized. The daylight
|
||||
;# savings offset is currently assumed to be one hour.
|
||||
|
||||
;# Both routines return -1 if the integer limit is hit. I.e. for dates
|
||||
;# after the 1st of January, 2038 on most machines.
|
||||
#
|
||||
##### Peters TIP
|
||||
#
|
||||
# Stunde Minute Sekunde sind unwichtig, also setzen auf 0 oder so
|
||||
# Das Jahr ist 100 für 2000, 101 für 2001 usw
|
||||
#
|
||||
#############
|
||||
|
||||
|
||||
CONFIG: {
|
||||
package timelocal;
|
||||
|
||||
local($[) = 0;
|
||||
@epoch = localtime(0);
|
||||
$tzmin = $epoch[2] * 60 + $epoch[1]; # minutes east of GMT
|
||||
if ($tzmin > 0) {
|
||||
$tzmin = 24 * 60 - $tzmin; # minutes west of GMT
|
||||
$tzmin -= 24 * 60 if $epoch[5] == 70; # account for the date line
|
||||
}
|
||||
|
||||
$SEC = 1;
|
||||
$MIN = 60 * $SEC;
|
||||
$HR = 60 * $MIN;
|
||||
$DAYS = 24 * $HR;
|
||||
$YearFix = ((gmtime(946684800))[5] == 100) ? 100 : 0;
|
||||
1;
|
||||
}
|
||||
|
||||
sub timegm {
|
||||
package timelocal;
|
||||
|
||||
local($[) = 0;
|
||||
$ym = pack(C2, @_[5,4]);
|
||||
$cheat = $cheat{$ym} || &cheat;
|
||||
return -1 if $cheat<0;
|
||||
$cheat + $_[0] * $SEC + $_[1] * $MIN + $_[2] * $HR + ($_[3]-1) * $DAYS;
|
||||
}
|
||||
|
||||
sub timelocal {
|
||||
package timelocal;
|
||||
|
||||
local($[) = 0;
|
||||
$time = &main'timegm + $tzmin*$MIN;
|
||||
return -1 if $cheat<0;
|
||||
@test = localtime($time);
|
||||
$time -= $HR if $test[2] != $_[2];
|
||||
$time;
|
||||
}
|
||||
|
||||
package timelocal;
|
||||
|
||||
sub cheat {
|
||||
$year = $_[5];
|
||||
$month = $_[4];
|
||||
die "Month out of range 0..11 in timelocal.pl\n"
|
||||
if $month > 11 || $month < 0;
|
||||
die "Day out of range 1..31 in timelocal.pl\n"
|
||||
if $_[3] > 31 || $_[3] < 1;
|
||||
die "Hour out of range 0..23 in timelocal.pl\n"
|
||||
if $_[2] > 23 || $_[2] < 0;
|
||||
die "Minute out of range 0..59 in timelocal.pl\n"
|
||||
if $_[1] > 59 || $_[1] < 0;
|
||||
die "Second out of range 0..59 in timelocal.pl\n"
|
||||
if $_[0] > 59 || $_[0] < 0;
|
||||
$guess = $^T;
|
||||
@g = gmtime($guess);
|
||||
$year += $YearFix if $year < $epoch[5];
|
||||
$lastguess = "";
|
||||
while ($diff = $year - $g[5]) {
|
||||
$guess += $diff * (363 * $DAYS);
|
||||
@g = gmtime($guess);
|
||||
if (($thisguess = "@g") eq $lastguess){
|
||||
return -1; #date beyond this machine's integer limit
|
||||
}
|
||||
$lastguess = $thisguess;
|
||||
}
|
||||
while ($diff = $month - $g[4]) {
|
||||
$guess += $diff * (27 * $DAYS);
|
||||
@g = gmtime($guess);
|
||||
if (($thisguess = "@g") eq $lastguess){
|
||||
return -1; #date beyond this machine's integer limit
|
||||
}
|
||||
$lastguess = $thisguess;
|
||||
}
|
||||
@gfake = gmtime($guess-1); #still being sceptic
|
||||
if ("@gfake" eq $lastguess){
|
||||
return -1; #date beyond this machine's integer limit
|
||||
}
|
||||
$g[3]--;
|
||||
$guess -= $g[0] * $SEC + $g[1] * $MIN + $g[2] * $HR + $g[3] * $DAYS;
|
||||
$cheat{$ym} = $guess;
|
||||
}
|
||||
62
updateheisql.pl
Normal file
62
updateheisql.pl
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/perl -w
|
||||
use warnings;
|
||||
use File::Slurp qw(:std);
|
||||
use Win32::File::VersionInfo;
|
||||
use Archive::Zip; # imports
|
||||
# use IO::Socket::SSL;
|
||||
use LWP::UserAgent;
|
||||
use Data::Printer;
|
||||
use Crypt::SSLeay;
|
||||
use Net::SSL;
|
||||
use Data::Dumper;
|
||||
use File::Copy;
|
||||
|
||||
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
|
||||
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
|
||||
|
||||
my $url = 'https://www.heidisql.com/download.php#nightlybuilds';
|
||||
|
||||
my $ua = LWP::UserAgent->new(timeout => 10);
|
||||
$ua->show_progress( 1 );
|
||||
#my $response = $ua->get($url, ':content_file' => $downloadfolder.$filename);
|
||||
my $response = $ua->get($url);
|
||||
my $html = $response->{_content};
|
||||
|
||||
my @match = $html =~ /\/builds\/heidisql64\.r(....)\.exe/g ;
|
||||
my $heisql = "C:\\Program Files\\HeidiSQL\\heidisql.exe";
|
||||
my $foo = GetFileVersionInfo( $heisql );
|
||||
my $downloadfolder = 'C:\\dts\\';
|
||||
my $filename = '';
|
||||
if ( scalar @match > 0 ) {
|
||||
$url = "https://www.heidisql.com/builds/heidisql64.r$match[0].exe";
|
||||
$filename = "heidisql64.r$match[0].exe";
|
||||
if ( $foo->{FileVersion} =~ /$match[0]/ ) {
|
||||
print "Version $foo->{FileVersion} ist die neuste und ist installiert\n";
|
||||
system("pause");
|
||||
exit;
|
||||
}
|
||||
|
||||
} else {
|
||||
print "keine Version gefunden\n";
|
||||
system("pause");
|
||||
exit;
|
||||
}
|
||||
|
||||
if ( -e $downloadfolder.$filename ) {
|
||||
print "neue Nightly bereits runtergeladen\n";
|
||||
} else {
|
||||
print "downloade neue Nighlyversion\n";
|
||||
my $ua = LWP::UserAgent->new(timeout => 10);
|
||||
$ua->show_progress( 1 );
|
||||
my $response = $ua->get($url, ':content_file' => $downloadfolder.$filename);
|
||||
}
|
||||
|
||||
if ( -e $downloadfolder.$filename ) {
|
||||
print "copy neue Nightly\n";
|
||||
unlink $heisql;
|
||||
copy($downloadfolder.$filename, $heisql);
|
||||
}
|
||||
|
||||
system("pause");
|
||||
|
||||
1;
|
||||
104
updatevscode.pl
Normal file
104
updatevscode.pl
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/perl -w
|
||||
use warnings;
|
||||
use File::Slurp qw(:std);
|
||||
use File::stat;
|
||||
use File::Path;
|
||||
use Archive::Zip; # imports
|
||||
# use IO::Socket::SSL;
|
||||
use LWP::UserAgent;
|
||||
use Data::Printer;
|
||||
use Crypt::SSLeay;
|
||||
use Net::SSL;
|
||||
|
||||
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
|
||||
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
|
||||
|
||||
my $delzip = 0;
|
||||
my @folders = (
|
||||
'D:\\vsc\\vsc-insider\\',
|
||||
'D:\\vsc\\vsc-insider-local\\',
|
||||
'D:\\vsc\\vsc-insider-home\\'
|
||||
);
|
||||
|
||||
|
||||
# löschen aller Cached Dateien und Unterordner
|
||||
my @cacheddir = qw(Cache GPUCache CachedData CachedData-x64);
|
||||
|
||||
my $downloadfolder = 'D:\\Downloads\\';
|
||||
|
||||
my $url = 'https://code.visualstudio.com/sha/download?build=insider&os=win32-x64-archive';
|
||||
my $filename = 'VSCode-win32-x64-last-insider.zip';
|
||||
|
||||
#if ( -e $downloadfolder.$filename ) {
|
||||
# print "entferne $downloadfolder$filename\n";
|
||||
# unlink("$downloadfolder.$filename");
|
||||
#}
|
||||
|
||||
print "downloade neue VS-Code-Insider Version\n";
|
||||
my $ua = LWP::UserAgent->new(timeout => 10);
|
||||
$ua->max_redirect( 2 );
|
||||
$ua->agent('Mozilla/5.0');
|
||||
$ua->show_progress( 1 );
|
||||
my $response = $ua->get($url, ':content_file' => $downloadfolder.$filename);
|
||||
|
||||
if ( -e $downloadfolder.$filename ) {
|
||||
for my $fold ( @folders ) {
|
||||
opendir (my $dh, $fold);
|
||||
print "$fold --> ";
|
||||
my @fol = readdir $dh;
|
||||
|
||||
my $test = 1;
|
||||
if ( -e $fold.'Code - Insiders.exe' ) {
|
||||
$test = unlink($fold.'Code - Insiders.exe');
|
||||
}
|
||||
|
||||
if ( $test == 1 ) {
|
||||
for my $d ( @fol ) {
|
||||
if ( $d =~ /^\.|^\.\./ ) {
|
||||
next;
|
||||
}
|
||||
|
||||
if ( -d "$fold$d" ) {
|
||||
if ( $d ne 'data' ) {
|
||||
rmtree("$fold$d");
|
||||
} else {
|
||||
# Cache löschen
|
||||
print "leere";
|
||||
for my $cdir ( @cacheddir ) {
|
||||
print " $cdir";
|
||||
rmtree( "$fold$d\\user-data\\$cdir", {keep_root => 1} );
|
||||
}
|
||||
}
|
||||
} else{
|
||||
unlink("$fold$d");
|
||||
}
|
||||
}
|
||||
print "--> geloescht, Userdaten behalten\n";
|
||||
$delzip++;
|
||||
}
|
||||
}
|
||||
|
||||
my $obj = Archive::Zip->new(); # new instance
|
||||
my $status = $obj->read("$downloadfolder$filename"); # read file contents
|
||||
|
||||
if ($status != 0) {
|
||||
die('Error in file!');
|
||||
} else {
|
||||
if ( scalar @folders == $delzip ) {
|
||||
for my $f ( @folders ) {
|
||||
print "entpacke neue Version in $f\n";
|
||||
$obj->extractTree(undef, $f); # extract files
|
||||
}
|
||||
unlink("$downloadfolder$filename");
|
||||
print "zip datei von VSCode gelöscht\n";
|
||||
} else {
|
||||
print "zip nicht gelöscht da nicht alle Ordner verarbeitet wurden\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print "keine neue Version gefunden\n";
|
||||
}
|
||||
|
||||
system("pause");
|
||||
|
||||
1;
|
||||
124
updatevscodium.pl
Normal file
124
updatevscodium.pl
Normal file
@@ -0,0 +1,124 @@
|
||||
#!/perl -w
|
||||
use warnings;
|
||||
use File::Slurp qw(:std);
|
||||
use File::stat;
|
||||
use File::Path;
|
||||
use Archive::Zip; # imports
|
||||
# use IO::Socket::SSL;
|
||||
use LWP::UserAgent;
|
||||
use Data::Printer;
|
||||
use Crypt::SSLeay;
|
||||
use Net::SSL;
|
||||
use Mojo::UserAgent;
|
||||
use JSON;
|
||||
|
||||
$ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = "Net::SSL";
|
||||
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
|
||||
|
||||
my $delzip = 0;
|
||||
my @folders = (
|
||||
'D:\\vsc\\vs-codium\\',
|
||||
'D:\\vsc\\vs-codium-local\\'
|
||||
);
|
||||
|
||||
for my $f ( @folders ) {
|
||||
mkdir $f unless -d $f;
|
||||
}
|
||||
|
||||
my $ua = Mojo::UserAgent->new();
|
||||
$ua->max_redirects(5);
|
||||
my $res = $ua->insecure(1)->get('https://github.com/VSCodium/vscodium/releases')->result->body;
|
||||
# write_file('test.html', $res);
|
||||
|
||||
# my $res = read_file('test.html');
|
||||
my $downloadfolder = 'D:\\Downloads\\';
|
||||
my $filename = 'vscodium.zip';
|
||||
|
||||
my @url = $res =~ /"(https:\/\/.*win32-x64.*zip?)"/g;
|
||||
print "downloade VS-Codium Version: $url[0]\n";
|
||||
|
||||
if ( -e $downloadfolder.$filename ) {
|
||||
print "entferne $downloadfolder$filename\n";
|
||||
unlink("$downloadfolder.$filename");
|
||||
}
|
||||
|
||||
my $tx = $ua->insecure(1)->get( $url[0] );
|
||||
$tx->res->content->asset->move_to( $downloadfolder.$filename);
|
||||
|
||||
# löschen aller Cached Dateien und Unterordner
|
||||
my @cacheddir = qw(Cache GPUCache CachedData CachedData-x64);
|
||||
|
||||
|
||||
if ( -e $downloadfolder.$filename ) {
|
||||
for my $fold ( @folders ) {
|
||||
opendir (my $dh, $fold);
|
||||
print "$fold --> ";
|
||||
my @fol = readdir $dh;
|
||||
|
||||
my $test = 1;
|
||||
if ( -e $fold.'VSCodium.exe' ) {
|
||||
$test = unlink($fold.'VSCodium.exe');
|
||||
}
|
||||
|
||||
if ( $test == 1 ) {
|
||||
for my $d ( @fol ) {
|
||||
if ( $d =~ /^\.|^\.\./ ) {
|
||||
next;
|
||||
}
|
||||
|
||||
if ( -d "$fold$d" ) {
|
||||
if ( $d ne 'data' ) {
|
||||
rmtree("$fold$d");
|
||||
} else {
|
||||
# Cache löschen
|
||||
print "leere";
|
||||
for my $cdir ( @cacheddir ) {
|
||||
print " $cdir";
|
||||
rmtree( "$fold$d\\user-data\\$cdir", {keep_root => 1} );
|
||||
}
|
||||
}
|
||||
} else{
|
||||
unlink("$fold$d");
|
||||
}
|
||||
}
|
||||
print "--> geloescht, Userdaten behalten\n";
|
||||
$delzip++;
|
||||
}
|
||||
}
|
||||
|
||||
my $obj = Archive::Zip->new(); # new instance
|
||||
my $status = $obj->read("$downloadfolder$filename"); # read file contents
|
||||
|
||||
if ($status != 0) {
|
||||
die('Error in file!');
|
||||
} else {
|
||||
if ( scalar @folders == $delzip ) {
|
||||
for my $f ( @folders ) {
|
||||
print "entpacke neue Version in $f\n";
|
||||
$obj->extractTree(undef, $f); # extract files
|
||||
}
|
||||
unlink("$downloadfolder$filename");
|
||||
print "zip datei von VSCode gelöscht\n";
|
||||
} else {
|
||||
print "zip nicht gelöscht da nicht alle Ordner verarbeitet wurden\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print "keine neue Version gefunden\n";
|
||||
}
|
||||
|
||||
for my $fold ( @folders ) {
|
||||
my $prodjson = $fold.'\\resources\\app\\product.json';
|
||||
# "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
||||
# "itemUrl": "https://marketplace.visualstudio.com/items",
|
||||
if ( -e $prodjson ) {
|
||||
my $pro = decode_json(read_file($prodjson));
|
||||
$pro->{extensionsGallery}->{serviceUrl} = "https://marketplace.visualstudio.com/_apis/public/gallery";
|
||||
$pro->{extensionsGallery}->{itemUrl} = "https://marketplace.visualstudio.com/items";
|
||||
write_file($prodjson, to_json($pro, { pretty => 1}) );
|
||||
}
|
||||
}
|
||||
|
||||
system("pause");
|
||||
|
||||
1;
|
||||
117
updatevscodium.py
Normal file
117
updatevscodium.py
Normal file
@@ -0,0 +1,117 @@
|
||||
import os, sys
|
||||
import re
|
||||
import json
|
||||
import shutil
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
from zipfile import ZipFile
|
||||
import urllib3
|
||||
|
||||
urllib3.disable_warnings()
|
||||
|
||||
folders = [
|
||||
r'D:\\vsc\\vs-codium\\',
|
||||
r'D:\\vsc\\vs-codium-local\\'
|
||||
]
|
||||
|
||||
download_folder = r'D:\\Downloads\\'
|
||||
filename = 'vscodium.zip'
|
||||
|
||||
# Ordner anlegen, falls nicht vorhanden
|
||||
for f in folders:
|
||||
os.makedirs(f, exist_ok=True)
|
||||
|
||||
# Aktuelle Download-URL ermitteln
|
||||
res = requests.get('https://github.com/VSCodium/vscodium-insiders/tags')
|
||||
soup = BeautifulSoup(res.text, 'html.parser')
|
||||
|
||||
# with open("updatevscodium.html", "w", encoding="utf-8") as f:
|
||||
# f.write( soup.prettify() )
|
||||
|
||||
urls = re.findall(r'/VSCodium/vscodium-insiders/releases/tag/(.*)-insider', soup.prettify())
|
||||
|
||||
if not urls:
|
||||
print("Keine neue Version gefunden.")
|
||||
exit()
|
||||
|
||||
# Aktuelle Download-URL ermitteln
|
||||
print(f"https://github.com/VSCodium/vscodium-insiders/releases/download/{urls[0]}-insider/VSCodium-win32-x64-{urls[0]}-insider.zip")
|
||||
|
||||
|
||||
zip_path = os.path.join(download_folder, filename)
|
||||
|
||||
if os.path.exists(zip_path):
|
||||
print(f"Entferne {zip_path}")
|
||||
os.remove(zip_path)
|
||||
|
||||
# Datei herunterladen
|
||||
r = requests.get(f"https://github.com/VSCodium/vscodium-insiders/releases/download/{urls[0]}-insider/VSCodium-win32-x64-{urls[0]}-insider.zip", stream=True, verify=False)
|
||||
with open(zip_path, 'wb') as f:
|
||||
for chunk in r.iter_content(chunk_size=8192):
|
||||
f.write(chunk)
|
||||
|
||||
# Cachedaten löschen
|
||||
cache_dirs = ['Cache', 'GPUCache', 'CachedData', 'CachedData-x64']
|
||||
|
||||
delete_count = 0
|
||||
if os.path.exists(zip_path):
|
||||
si = os.path.getsize(zip_path)
|
||||
|
||||
if si < 20:
|
||||
print("Zip ist zu klein")
|
||||
sys.exit(1)
|
||||
|
||||
print(si)
|
||||
|
||||
for f in folders:
|
||||
print(f"{f} --> ")
|
||||
|
||||
if os.path.exists(os.path.join(f, 'VSCodium.exe')):
|
||||
os.remove(os.path.join(f, 'VSCodium.exe'))
|
||||
|
||||
for item in os.listdir(f):
|
||||
path = os.path.join(f, item)
|
||||
|
||||
if os.path.isdir(path):
|
||||
if item != 'data':
|
||||
shutil.rmtree(path)
|
||||
else:
|
||||
print("Leere", end=' ')
|
||||
for cache in cache_dirs:
|
||||
cache_path = os.path.join(path, 'user-data', cache)
|
||||
print(cache, end=' ')
|
||||
if os.path.exists(cache_path):
|
||||
shutil.rmtree(cache_path, ignore_errors=True)
|
||||
else:
|
||||
os.remove(path)
|
||||
|
||||
print("--> gelöscht, Userdaten behalten")
|
||||
delete_count += 1
|
||||
|
||||
# Entpacken
|
||||
if delete_count == len(folders):
|
||||
for f in folders:
|
||||
print(f"Entpacke neue Version in {f}")
|
||||
with ZipFile(zip_path, 'r') as zip_ref:
|
||||
zip_ref.extractall(f)
|
||||
os.remove(zip_path)
|
||||
print("ZIP Datei von VSCodium gelöscht")
|
||||
else:
|
||||
print("ZIP nicht gelöscht, da nicht alle Ordner verarbeitet wurden")
|
||||
|
||||
# product.json anpassen
|
||||
for f in folders:
|
||||
prod_json = os.path.join(f, 'resources', 'app', 'product.json')
|
||||
if os.path.exists(prod_json):
|
||||
with open(prod_json, 'r', encoding='utf-8') as pj:
|
||||
data = json.load(pj)
|
||||
|
||||
data['extensionsGallery'] = {
|
||||
'serviceUrl': 'https://marketplace.visualstudio.com/_apis/public/gallery',
|
||||
'itemUrl': 'https://marketplace.visualstudio.com/items'
|
||||
}
|
||||
|
||||
with open(prod_json, 'w', encoding='utf-8') as pj:
|
||||
json.dump(data, pj, indent=4)
|
||||
|
||||
input("Fertig. Beliebige Taste drücken...")
|
||||
Reference in New Issue
Block a user